xref: /openbmc/linux/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1*440b075bSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
274015e26SSascha Hauer%YAML 1.2
374015e26SSascha Hauer---
474015e26SSascha Hauer$id: http://devicetree.org/schemas/display/rockchip/rockchip-vop2.yaml#
574015e26SSascha Hauer$schema: http://devicetree.org/meta-schemas/core.yaml#
674015e26SSascha Hauer
774015e26SSascha Hauertitle: Rockchip SoC display controller (VOP2)
874015e26SSascha Hauer
974015e26SSascha Hauerdescription:
1074015e26SSascha Hauer  VOP2 (Video Output Processor v2) is the display controller for the Rockchip
1174015e26SSascha Hauer  series of SoCs which transfers the image data from a video memory
1274015e26SSascha Hauer  buffer to an external LCD interface.
1374015e26SSascha Hauer
1474015e26SSascha Hauermaintainers:
1574015e26SSascha Hauer  - Sandy Huang <hjc@rock-chips.com>
1674015e26SSascha Hauer  - Heiko Stuebner <heiko@sntech.de>
1774015e26SSascha Hauer
1874015e26SSascha Hauerproperties:
1974015e26SSascha Hauer  compatible:
2074015e26SSascha Hauer    enum:
2174015e26SSascha Hauer      - rockchip,rk3566-vop
2274015e26SSascha Hauer      - rockchip,rk3568-vop
2374015e26SSascha Hauer
2474015e26SSascha Hauer  reg:
2574015e26SSascha Hauer    items:
2674015e26SSascha Hauer      - description:
2774015e26SSascha Hauer          Must contain one entry corresponding to the base address and length
2874015e26SSascha Hauer          of the register space.
2974015e26SSascha Hauer      - description:
3074015e26SSascha Hauer          Can optionally contain a second entry corresponding to
3174015e26SSascha Hauer          the CRTC gamma LUT address.
3274015e26SSascha Hauer
3354eb8d44SSascha Hauer  reg-names:
3454eb8d44SSascha Hauer    items:
3554eb8d44SSascha Hauer      - const: vop
3654eb8d44SSascha Hauer      - const: gamma-lut
3754eb8d44SSascha Hauer
3874015e26SSascha Hauer  interrupts:
3974015e26SSascha Hauer    maxItems: 1
4074015e26SSascha Hauer    description:
4174015e26SSascha Hauer      The VOP interrupt is shared by several interrupt sources, such as
4274015e26SSascha Hauer      frame start (VSYNC), line flag and other status interrupts.
4374015e26SSascha Hauer
4474015e26SSascha Hauer  clocks:
4574015e26SSascha Hauer    items:
4674015e26SSascha Hauer      - description: Clock for ddr buffer transfer.
4774015e26SSascha Hauer      - description: Clock for the ahb bus to R/W the phy regs.
4874015e26SSascha Hauer      - description: Pixel clock for video port 0.
4974015e26SSascha Hauer      - description: Pixel clock for video port 1.
5074015e26SSascha Hauer      - description: Pixel clock for video port 2.
5174015e26SSascha Hauer
5274015e26SSascha Hauer  clock-names:
5374015e26SSascha Hauer    items:
5474015e26SSascha Hauer      - const: aclk
5574015e26SSascha Hauer      - const: hclk
5674015e26SSascha Hauer      - const: dclk_vp0
5774015e26SSascha Hauer      - const: dclk_vp1
5874015e26SSascha Hauer      - const: dclk_vp2
5974015e26SSascha Hauer
6074015e26SSascha Hauer  rockchip,grf:
6174015e26SSascha Hauer    $ref: /schemas/types.yaml#/definitions/phandle
6274015e26SSascha Hauer    description:
6374015e26SSascha Hauer      Phandle to GRF regs used for misc control
6474015e26SSascha Hauer
6574015e26SSascha Hauer  ports:
6674015e26SSascha Hauer    $ref: /schemas/graph.yaml#/properties/ports
6774015e26SSascha Hauer
6874015e26SSascha Hauer    properties:
6974015e26SSascha Hauer      port@0:
7074015e26SSascha Hauer        $ref: /schemas/graph.yaml#/properties/port
7174015e26SSascha Hauer        description:
7274015e26SSascha Hauer          Output endpoint of VP0
7374015e26SSascha Hauer
7474015e26SSascha Hauer      port@1:
7574015e26SSascha Hauer        $ref: /schemas/graph.yaml#/properties/port
7674015e26SSascha Hauer        description:
7774015e26SSascha Hauer          Output endpoint of VP1
7874015e26SSascha Hauer
7974015e26SSascha Hauer      port@2:
8074015e26SSascha Hauer        $ref: /schemas/graph.yaml#/properties/port
8174015e26SSascha Hauer        description:
8274015e26SSascha Hauer          Output endpoint of VP2
8374015e26SSascha Hauer
8474015e26SSascha Hauer  iommus:
8574015e26SSascha Hauer    maxItems: 1
8674015e26SSascha Hauer
8774015e26SSascha Hauer  power-domains:
8874015e26SSascha Hauer    maxItems: 1
8974015e26SSascha Hauer
9074015e26SSascha Hauerrequired:
9174015e26SSascha Hauer  - compatible
9274015e26SSascha Hauer  - reg
9354eb8d44SSascha Hauer  - reg-names
9474015e26SSascha Hauer  - interrupts
9574015e26SSascha Hauer  - clocks
9674015e26SSascha Hauer  - clock-names
9774015e26SSascha Hauer  - ports
9874015e26SSascha Hauer
9974015e26SSascha HaueradditionalProperties: false
10074015e26SSascha Hauer
10174015e26SSascha Hauerexamples:
10274015e26SSascha Hauer  - |
10374015e26SSascha Hauer        #include <dt-bindings/clock/rk3568-cru.h>
10474015e26SSascha Hauer        #include <dt-bindings/interrupt-controller/arm-gic.h>
10574015e26SSascha Hauer        #include <dt-bindings/power/rk3568-power.h>
10674015e26SSascha Hauer        bus {
10774015e26SSascha Hauer            #address-cells = <2>;
10874015e26SSascha Hauer            #size-cells = <2>;
10974015e26SSascha Hauer            vop: vop@fe040000 {
11074015e26SSascha Hauer                compatible = "rockchip,rk3568-vop";
11174015e26SSascha Hauer                reg = <0x0 0xfe040000 0x0 0x3000>, <0x0 0xfe044000 0x0 0x1000>;
11254eb8d44SSascha Hauer                reg-names = "vop", "gamma-lut";
11374015e26SSascha Hauer                interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
11474015e26SSascha Hauer                clocks = <&cru ACLK_VOP>,
11574015e26SSascha Hauer                         <&cru HCLK_VOP>,
11674015e26SSascha Hauer                         <&cru DCLK_VOP0>,
11774015e26SSascha Hauer                         <&cru DCLK_VOP1>,
11874015e26SSascha Hauer                         <&cru DCLK_VOP2>;
11974015e26SSascha Hauer                clock-names = "aclk",
12074015e26SSascha Hauer                              "hclk",
12174015e26SSascha Hauer                              "dclk_vp0",
12274015e26SSascha Hauer                              "dclk_vp1",
12374015e26SSascha Hauer                              "dclk_vp2";
12474015e26SSascha Hauer                power-domains = <&power RK3568_PD_VO>;
12574015e26SSascha Hauer                iommus = <&vop_mmu>;
12674015e26SSascha Hauer                vop_out: ports {
12774015e26SSascha Hauer                    #address-cells = <1>;
12874015e26SSascha Hauer                    #size-cells = <0>;
12974015e26SSascha Hauer                    vp0: port@0 {
13074015e26SSascha Hauer                        reg = <0>;
13174015e26SSascha Hauer                        #address-cells = <1>;
13274015e26SSascha Hauer                        #size-cells = <0>;
13374015e26SSascha Hauer                    };
13474015e26SSascha Hauer                    vp1: port@1 {
13574015e26SSascha Hauer                        reg = <1>;
13674015e26SSascha Hauer                        #address-cells = <1>;
13774015e26SSascha Hauer                        #size-cells = <0>;
13874015e26SSascha Hauer                    };
13974015e26SSascha Hauer                    vp2: port@2 {
14074015e26SSascha Hauer                        reg = <2>;
14174015e26SSascha Hauer                        #address-cells = <1>;
14274015e26SSascha Hauer                        #size-cells = <0>;
14374015e26SSascha Hauer                    };
14474015e26SSascha Hauer                };
14574015e26SSascha Hauer            };
14674015e26SSascha Hauer        };
147