Commit 4e78ba27 authored by Johan Jonker's avatar Johan Jonker Committed by Sam Ravnborg
Browse files

dt-bindings: display: convert rockchip vop bindings to yaml



Current dts files with 'vop' nodes are manually verified.
In order to automate this process rockchip-vop.txt
has to be converted to yaml.

Signed-off-by: default avatarJohan Jonker <jbx6244@gmail.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200403142235.8870-1-jbx6244@gmail.com
parent 7fd9681e
Loading
Loading
Loading
Loading
+0 −74
Original line number Diff line number Diff line
device-tree bindings for rockchip soc display controller (vop)

VOP (Visual Output Processor) is the Display Controller for the Rockchip
series of SoCs which transfers the image data from a video memory
buffer to an external LCD interface.

Required properties:
- compatible: value should be one of the following
		"rockchip,rk3036-vop";
		"rockchip,rk3126-vop";
		"rockchip,px30-vop-lit";
		"rockchip,px30-vop-big";
		"rockchip,rk3066-vop";
		"rockchip,rk3188-vop";
		"rockchip,rk3288-vop";
		"rockchip,rk3368-vop";
		"rockchip,rk3366-vop";
		"rockchip,rk3399-vop-big";
		"rockchip,rk3399-vop-lit";
		"rockchip,rk3228-vop";
		"rockchip,rk3328-vop";

- reg: Must contain one entry corresponding to the base address and length
	of the register space. Can optionally contain a second entry
	corresponding to the CRTC gamma LUT address.

- interrupts: should contain a list of all VOP IP block interrupts in the
		 order: VSYNC, LCD_SYSTEM. The interrupt specifier
		 format depends on the interrupt controller used.

- clocks: must include clock specifiers corresponding to entries in the
		clock-names property.

- clock-names: Must contain
		aclk_vop: for ddr buffer transfer.
		hclk_vop: for ahb bus to R/W the phy regs.
		dclk_vop: pixel clock.

- resets: Must contain an entry for each entry in reset-names.
  See ../reset/reset.txt for details.
- reset-names: Must include the following entries:
  - axi
  - ahb
  - dclk

- iommus: required a iommu node

- port: A port node with endpoint definitions as defined in
  Documentation/devicetree/bindings/media/video-interfaces.txt.

Example:
SoC specific DT entry:
	vopb: vopb@ff930000 {
		compatible = "rockchip,rk3288-vop";
		reg = <0x0 0xff930000 0x0 0x19c>, <0x0 0xff931000 0x0 0x1000>;
		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>;
		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
		resets = <&cru SRST_LCDC1_AXI>, <&cru SRST_LCDC1_AHB>, <&cru SRST_LCDC1_DCLK>;
		reset-names = "axi", "ahb", "dclk";
		iommus = <&vopb_mmu>;
		vopb_out: port {
			#address-cells = <1>;
			#size-cells = <0>;
			vopb_out_edp: endpoint@0 {
				reg = <0>;
				remote-endpoint=<&edp_in_vopb>;
			};
			vopb_out_hdmi: endpoint@1 {
				reg = <1>;
				remote-endpoint=<&hdmi_in_vopb>;
			};
		};
	};
+123 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/rockchip/rockchip-vop.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Rockchip SoC display controller (VOP)

description:
  VOP (Video Output Processor) is the display controller for the Rockchip
  series of SoCs which transfers the image data from a video memory
  buffer to an external LCD interface.

maintainers:
  - Sandy Huang <hjc@rock-chips.com>
  - Heiko Stuebner <heiko@sntech.de>

properties:
  compatible:
    enum:
      - rockchip,px30-vop-big
      - rockchip,px30-vop-lit
      - rockchip,rk3036-vop
      - rockchip,rk3066-vop
      - rockchip,rk3126-vop
      - rockchip,rk3188-vop
      - rockchip,rk3228-vop
      - rockchip,rk3288-vop
      - rockchip,rk3328-vop
      - rockchip,rk3366-vop
      - rockchip,rk3368-vop
      - rockchip,rk3399-vop-big
      - rockchip,rk3399-vop-lit

  reg:
    minItems: 1
    items:
      - description:
          Must contain one entry corresponding to the base address and length
          of the register space.
      - description:
          Can optionally contain a second entry corresponding to
          the CRTC gamma LUT address.

  interrupts:
    maxItems: 1
    description:
      The VOP interrupt is shared by several interrupt sources, such as
      frame start (VSYNC), line flag and other status interrupts.

  clocks:
    items:
      - description: Clock for ddr buffer transfer.
      - description: Pixel clock.
      - description: Clock for the ahb bus to R/W the phy regs.

  clock-names:
    items:
      - const: aclk_vop
      - const: dclk_vop
      - const: hclk_vop

  resets:
    maxItems: 3

  reset-names:
    items:
      - const: axi
      - const: ahb
      - const: dclk

  port:
    type: object
    description:
      A port node with endpoint definitions as defined in
      Documentation/devicetree/bindings/media/video-interfaces.txt.

  iommus:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - resets
  - reset-names
  - port

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/rk3288-cru.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    vopb: vopb@ff930000 {
      compatible = "rockchip,rk3288-vop";
      reg = <0x0 0xff930000 0x0 0x19c>,
            <0x0 0xff931000 0x0 0x1000>;
      interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
      clocks = <&cru ACLK_VOP0>,
               <&cru DCLK_VOP0>,
               <&cru HCLK_VOP0>;
      clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
      resets = <&cru SRST_LCDC1_AXI>,
               <&cru SRST_LCDC1_AHB>,
               <&cru SRST_LCDC1_DCLK>;
      reset-names = "axi", "ahb", "dclk";
      iommus = <&vopb_mmu>;
      vopb_out: port {
        #address-cells = <1>;
        #size-cells = <0>;
        vopb_out_edp: endpoint@0 {
          reg = <0>;
          remote-endpoint=<&edp_in_vopb>;
        };
        vopb_out_hdmi: endpoint@1 {
          reg = <1>;
          remote-endpoint=<&hdmi_in_vopb>;
        };
      };
    };