Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/display/rockchip/rockchip-vop2.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Rockchip SoC display controller (VOP2)
0008 
0009 description:
0010   VOP2 (Video Output Processor v2) is the display controller for the Rockchip
0011   series of SoCs which transfers the image data from a video memory
0012   buffer to an external LCD interface.
0013 
0014 maintainers:
0015   - Sandy Huang <hjc@rock-chips.com>
0016   - Heiko Stuebner <heiko@sntech.de>
0017 
0018 properties:
0019   compatible:
0020     enum:
0021       - rockchip,rk3566-vop
0022       - rockchip,rk3568-vop
0023 
0024   reg:
0025     items:
0026       - description:
0027           Must contain one entry corresponding to the base address and length
0028           of the register space.
0029       - description:
0030           Can optionally contain a second entry corresponding to
0031           the CRTC gamma LUT address.
0032 
0033   reg-names:
0034     items:
0035       - const: vop
0036       - const: gamma-lut
0037 
0038   interrupts:
0039     maxItems: 1
0040     description:
0041       The VOP interrupt is shared by several interrupt sources, such as
0042       frame start (VSYNC), line flag and other status interrupts.
0043 
0044   clocks:
0045     items:
0046       - description: Clock for ddr buffer transfer.
0047       - description: Clock for the ahb bus to R/W the phy regs.
0048       - description: Pixel clock for video port 0.
0049       - description: Pixel clock for video port 1.
0050       - description: Pixel clock for video port 2.
0051 
0052   clock-names:
0053     items:
0054       - const: aclk
0055       - const: hclk
0056       - const: dclk_vp0
0057       - const: dclk_vp1
0058       - const: dclk_vp2
0059 
0060   rockchip,grf:
0061     $ref: /schemas/types.yaml#/definitions/phandle
0062     description:
0063       Phandle to GRF regs used for misc control
0064 
0065   ports:
0066     $ref: /schemas/graph.yaml#/properties/ports
0067 
0068     properties:
0069       port@0:
0070         $ref: /schemas/graph.yaml#/properties/port
0071         description:
0072           Output endpoint of VP0
0073 
0074       port@1:
0075         $ref: /schemas/graph.yaml#/properties/port
0076         description:
0077           Output endpoint of VP1
0078 
0079       port@2:
0080         $ref: /schemas/graph.yaml#/properties/port
0081         description:
0082           Output endpoint of VP2
0083 
0084   iommus:
0085     maxItems: 1
0086 
0087   power-domains:
0088     maxItems: 1
0089 
0090 required:
0091   - compatible
0092   - reg
0093   - reg-names
0094   - interrupts
0095   - clocks
0096   - clock-names
0097   - ports
0098 
0099 additionalProperties: false
0100 
0101 examples:
0102   - |
0103         #include <dt-bindings/clock/rk3568-cru.h>
0104         #include <dt-bindings/interrupt-controller/arm-gic.h>
0105         #include <dt-bindings/power/rk3568-power.h>
0106         bus {
0107             #address-cells = <2>;
0108             #size-cells = <2>;
0109             vop: vop@fe040000 {
0110                 compatible = "rockchip,rk3568-vop";
0111                 reg = <0x0 0xfe040000 0x0 0x3000>, <0x0 0xfe044000 0x0 0x1000>;
0112                 reg-names = "vop", "gamma-lut";
0113                 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
0114                 clocks = <&cru ACLK_VOP>,
0115                          <&cru HCLK_VOP>,
0116                          <&cru DCLK_VOP0>,
0117                          <&cru DCLK_VOP1>,
0118                          <&cru DCLK_VOP2>;
0119                 clock-names = "aclk",
0120                               "hclk",
0121                               "dclk_vp0",
0122                               "dclk_vp1",
0123                               "dclk_vp2";
0124                 power-domains = <&power RK3568_PD_VO>;
0125                 iommus = <&vop_mmu>;
0126                 vop_out: ports {
0127                     #address-cells = <1>;
0128                     #size-cells = <0>;
0129                     vp0: port@0 {
0130                         reg = <0>;
0131                         #address-cells = <1>;
0132                         #size-cells = <0>;
0133                     };
0134                     vp1: port@1 {
0135                         reg = <1>;
0136                         #address-cells = <1>;
0137                         #size-cells = <0>;
0138                     };
0139                     vp2: port@2 {
0140                         reg = <2>;
0141                         #address-cells = <1>;
0142                         #size-cells = <0>;
0143                     };
0144                 };
0145             };
0146         };