1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/display/rockchip/rockchip-vop.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: Rockchip SoC display controller (VOP) 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotdescription: 10c66ec88fSEmmanuel Vadot VOP (Video Output Processor) is the display controller for the Rockchip 11c66ec88fSEmmanuel Vadot series of SoCs which transfers the image data from a video memory 12c66ec88fSEmmanuel Vadot buffer to an external LCD interface. 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadotmaintainers: 15c66ec88fSEmmanuel Vadot - Sandy Huang <hjc@rock-chips.com> 16c66ec88fSEmmanuel Vadot - Heiko Stuebner <heiko@sntech.de> 17c66ec88fSEmmanuel Vadot 18c66ec88fSEmmanuel Vadotproperties: 19c66ec88fSEmmanuel Vadot compatible: 20c66ec88fSEmmanuel Vadot enum: 21c66ec88fSEmmanuel Vadot - rockchip,px30-vop-big 22c66ec88fSEmmanuel Vadot - rockchip,px30-vop-lit 23c66ec88fSEmmanuel Vadot - rockchip,rk3036-vop 24c66ec88fSEmmanuel Vadot - rockchip,rk3066-vop 25c66ec88fSEmmanuel Vadot - rockchip,rk3126-vop 26c66ec88fSEmmanuel Vadot - rockchip,rk3188-vop 27c66ec88fSEmmanuel Vadot - rockchip,rk3228-vop 28c66ec88fSEmmanuel Vadot - rockchip,rk3288-vop 29c66ec88fSEmmanuel Vadot - rockchip,rk3328-vop 30c66ec88fSEmmanuel Vadot - rockchip,rk3366-vop 31c66ec88fSEmmanuel Vadot - rockchip,rk3368-vop 32c66ec88fSEmmanuel Vadot - rockchip,rk3399-vop-big 33c66ec88fSEmmanuel Vadot - rockchip,rk3399-vop-lit 34*84943d6fSEmmanuel Vadot - rockchip,rv1126-vop 35c66ec88fSEmmanuel Vadot 36c66ec88fSEmmanuel Vadot reg: 37c66ec88fSEmmanuel Vadot minItems: 1 38c66ec88fSEmmanuel Vadot items: 39c66ec88fSEmmanuel Vadot - description: 40c66ec88fSEmmanuel Vadot Must contain one entry corresponding to the base address and length 41c66ec88fSEmmanuel Vadot of the register space. 42c66ec88fSEmmanuel Vadot - description: 43c66ec88fSEmmanuel Vadot Can optionally contain a second entry corresponding to 44c66ec88fSEmmanuel Vadot the CRTC gamma LUT address. 45c66ec88fSEmmanuel Vadot 46c66ec88fSEmmanuel Vadot interrupts: 47c66ec88fSEmmanuel Vadot maxItems: 1 48c66ec88fSEmmanuel Vadot description: 49c66ec88fSEmmanuel Vadot The VOP interrupt is shared by several interrupt sources, such as 50c66ec88fSEmmanuel Vadot frame start (VSYNC), line flag and other status interrupts. 51c66ec88fSEmmanuel Vadot 52c66ec88fSEmmanuel Vadot clocks: 53c66ec88fSEmmanuel Vadot items: 54c66ec88fSEmmanuel Vadot - description: Clock for ddr buffer transfer. 55c66ec88fSEmmanuel Vadot - description: Pixel clock. 56c66ec88fSEmmanuel Vadot - description: Clock for the ahb bus to R/W the phy regs. 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot clock-names: 59c66ec88fSEmmanuel Vadot items: 60c66ec88fSEmmanuel Vadot - const: aclk_vop 61c66ec88fSEmmanuel Vadot - const: dclk_vop 62c66ec88fSEmmanuel Vadot - const: hclk_vop 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot resets: 65c66ec88fSEmmanuel Vadot maxItems: 3 66c66ec88fSEmmanuel Vadot 67c66ec88fSEmmanuel Vadot reset-names: 68c66ec88fSEmmanuel Vadot items: 69c66ec88fSEmmanuel Vadot - const: axi 70c66ec88fSEmmanuel Vadot - const: ahb 71c66ec88fSEmmanuel Vadot - const: dclk 72c66ec88fSEmmanuel Vadot 73c66ec88fSEmmanuel Vadot port: 745def4c47SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 75c66ec88fSEmmanuel Vadot 76c66ec88fSEmmanuel Vadot assigned-clocks: 77c66ec88fSEmmanuel Vadot maxItems: 2 78c66ec88fSEmmanuel Vadot 79c66ec88fSEmmanuel Vadot assigned-clock-rates: 80c66ec88fSEmmanuel Vadot maxItems: 2 81c66ec88fSEmmanuel Vadot 82c66ec88fSEmmanuel Vadot iommus: 83c66ec88fSEmmanuel Vadot maxItems: 1 84c66ec88fSEmmanuel Vadot 85c66ec88fSEmmanuel Vadot power-domains: 86c66ec88fSEmmanuel Vadot maxItems: 1 87c66ec88fSEmmanuel Vadot 88c66ec88fSEmmanuel Vadotrequired: 89c66ec88fSEmmanuel Vadot - compatible 90c66ec88fSEmmanuel Vadot - reg 91c66ec88fSEmmanuel Vadot - interrupts 92c66ec88fSEmmanuel Vadot - clocks 93c66ec88fSEmmanuel Vadot - clock-names 94c66ec88fSEmmanuel Vadot - resets 95c66ec88fSEmmanuel Vadot - reset-names 96c66ec88fSEmmanuel Vadot - port 97c66ec88fSEmmanuel Vadot 98c66ec88fSEmmanuel VadotadditionalProperties: false 99c66ec88fSEmmanuel Vadot 100c66ec88fSEmmanuel Vadotexamples: 101c66ec88fSEmmanuel Vadot - | 102c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/rk3288-cru.h> 103c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 104c66ec88fSEmmanuel Vadot #include <dt-bindings/power/rk3288-power.h> 105c66ec88fSEmmanuel Vadot vopb: vopb@ff930000 { 106c66ec88fSEmmanuel Vadot compatible = "rockchip,rk3288-vop"; 107c66ec88fSEmmanuel Vadot reg = <0xff930000 0x19c>, 108c66ec88fSEmmanuel Vadot <0xff931000 0x1000>; 109c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 110c66ec88fSEmmanuel Vadot clocks = <&cru ACLK_VOP0>, 111c66ec88fSEmmanuel Vadot <&cru DCLK_VOP0>, 112c66ec88fSEmmanuel Vadot <&cru HCLK_VOP0>; 113c66ec88fSEmmanuel Vadot clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 114c66ec88fSEmmanuel Vadot power-domains = <&power RK3288_PD_VIO>; 115c66ec88fSEmmanuel Vadot resets = <&cru SRST_LCDC1_AXI>, 116c66ec88fSEmmanuel Vadot <&cru SRST_LCDC1_AHB>, 117c66ec88fSEmmanuel Vadot <&cru SRST_LCDC1_DCLK>; 118c66ec88fSEmmanuel Vadot reset-names = "axi", "ahb", "dclk"; 119c66ec88fSEmmanuel Vadot iommus = <&vopb_mmu>; 120c66ec88fSEmmanuel Vadot vopb_out: port { 121c66ec88fSEmmanuel Vadot #address-cells = <1>; 122c66ec88fSEmmanuel Vadot #size-cells = <0>; 123c66ec88fSEmmanuel Vadot vopb_out_edp: endpoint@0 { 124c66ec88fSEmmanuel Vadot reg = <0>; 125c66ec88fSEmmanuel Vadot remote-endpoint = <&edp_in_vopb>; 126c66ec88fSEmmanuel Vadot }; 127c66ec88fSEmmanuel Vadot vopb_out_hdmi: endpoint@1 { 128c66ec88fSEmmanuel Vadot reg = <1>; 129c66ec88fSEmmanuel Vadot remote-endpoint = <&hdmi_in_vopb>; 130c66ec88fSEmmanuel Vadot }; 131c66ec88fSEmmanuel Vadot }; 132c66ec88fSEmmanuel Vadot }; 133