1*5f6965faSIcenowy Zheng# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*5f6965faSIcenowy Zheng%YAML 1.2 3*5f6965faSIcenowy Zheng--- 4*5f6965faSIcenowy Zheng$id: http://devicetree.org/schemas/display/verisilicon,dc.yaml# 5*5f6965faSIcenowy Zheng$schema: http://devicetree.org/meta-schemas/core.yaml# 6*5f6965faSIcenowy Zheng 7*5f6965faSIcenowy Zhengtitle: Verisilicon DC-series display controllers 8*5f6965faSIcenowy Zheng 9*5f6965faSIcenowy Zhengmaintainers: 10*5f6965faSIcenowy Zheng - Icenowy Zheng <uwu@icenowy.me> 11*5f6965faSIcenowy Zheng 12*5f6965faSIcenowy Zhengproperties: 13*5f6965faSIcenowy Zheng $nodename: 14*5f6965faSIcenowy Zheng pattern: "^display@[0-9a-f]+$" 15*5f6965faSIcenowy Zheng 16*5f6965faSIcenowy Zheng compatible: 17*5f6965faSIcenowy Zheng items: 18*5f6965faSIcenowy Zheng - enum: 19*5f6965faSIcenowy Zheng - thead,th1520-dc8200 20*5f6965faSIcenowy Zheng - const: verisilicon,dc # DC IPs have discoverable ID/revision registers 21*5f6965faSIcenowy Zheng 22*5f6965faSIcenowy Zheng reg: 23*5f6965faSIcenowy Zheng maxItems: 1 24*5f6965faSIcenowy Zheng 25*5f6965faSIcenowy Zheng interrupts: 26*5f6965faSIcenowy Zheng maxItems: 1 27*5f6965faSIcenowy Zheng 28*5f6965faSIcenowy Zheng clocks: 29*5f6965faSIcenowy Zheng items: 30*5f6965faSIcenowy Zheng - description: DC Core clock 31*5f6965faSIcenowy Zheng - description: DMA AXI bus clock 32*5f6965faSIcenowy Zheng - description: Configuration AHB bus clock 33*5f6965faSIcenowy Zheng - description: Pixel clock of output 0 34*5f6965faSIcenowy Zheng - description: Pixel clock of output 1 35*5f6965faSIcenowy Zheng 36*5f6965faSIcenowy Zheng clock-names: 37*5f6965faSIcenowy Zheng items: 38*5f6965faSIcenowy Zheng - const: core 39*5f6965faSIcenowy Zheng - const: axi 40*5f6965faSIcenowy Zheng - const: ahb 41*5f6965faSIcenowy Zheng - const: pix0 42*5f6965faSIcenowy Zheng - const: pix1 43*5f6965faSIcenowy Zheng 44*5f6965faSIcenowy Zheng resets: 45*5f6965faSIcenowy Zheng items: 46*5f6965faSIcenowy Zheng - description: DC Core reset 47*5f6965faSIcenowy Zheng - description: DMA AXI bus reset 48*5f6965faSIcenowy Zheng - description: Configuration AHB bus reset 49*5f6965faSIcenowy Zheng 50*5f6965faSIcenowy Zheng reset-names: 51*5f6965faSIcenowy Zheng items: 52*5f6965faSIcenowy Zheng - const: core 53*5f6965faSIcenowy Zheng - const: axi 54*5f6965faSIcenowy Zheng - const: ahb 55*5f6965faSIcenowy Zheng 56*5f6965faSIcenowy Zheng ports: 57*5f6965faSIcenowy Zheng $ref: /schemas/graph.yaml#/properties/ports 58*5f6965faSIcenowy Zheng 59*5f6965faSIcenowy Zheng properties: 60*5f6965faSIcenowy Zheng port@0: 61*5f6965faSIcenowy Zheng $ref: /schemas/graph.yaml#/properties/port 62*5f6965faSIcenowy Zheng description: The first output channel , endpoint 0 should be 63*5f6965faSIcenowy Zheng used for DPI format output and endpoint 1 should be used 64*5f6965faSIcenowy Zheng for DP format output. 65*5f6965faSIcenowy Zheng 66*5f6965faSIcenowy Zheng port@1: 67*5f6965faSIcenowy Zheng $ref: /schemas/graph.yaml#/properties/port 68*5f6965faSIcenowy Zheng description: The second output channel if the DC variant 69*5f6965faSIcenowy Zheng supports. Follow the same endpoint addressing rule with 70*5f6965faSIcenowy Zheng the first port. 71*5f6965faSIcenowy Zheng 72*5f6965faSIcenowy Zhengrequired: 73*5f6965faSIcenowy Zheng - compatible 74*5f6965faSIcenowy Zheng - reg 75*5f6965faSIcenowy Zheng - interrupts 76*5f6965faSIcenowy Zheng - clocks 77*5f6965faSIcenowy Zheng - clock-names 78*5f6965faSIcenowy Zheng - ports 79*5f6965faSIcenowy Zheng 80*5f6965faSIcenowy ZhengadditionalProperties: false 81*5f6965faSIcenowy Zheng 82*5f6965faSIcenowy Zhengexamples: 83*5f6965faSIcenowy Zheng - | 84*5f6965faSIcenowy Zheng #include <dt-bindings/interrupt-controller/irq.h> 85*5f6965faSIcenowy Zheng #include <dt-bindings/clock/thead,th1520-clk-ap.h> 86*5f6965faSIcenowy Zheng #include <dt-bindings/reset/thead,th1520-reset.h> 87*5f6965faSIcenowy Zheng soc { 88*5f6965faSIcenowy Zheng #address-cells = <2>; 89*5f6965faSIcenowy Zheng #size-cells = <2>; 90*5f6965faSIcenowy Zheng 91*5f6965faSIcenowy Zheng display@ffef600000 { 92*5f6965faSIcenowy Zheng compatible = "thead,th1520-dc8200", "verisilicon,dc"; 93*5f6965faSIcenowy Zheng reg = <0xff 0xef600000 0x0 0x100000>; 94*5f6965faSIcenowy Zheng interrupts = <93 IRQ_TYPE_LEVEL_HIGH>; 95*5f6965faSIcenowy Zheng clocks = <&clk_vo CLK_DPU_CCLK>, 96*5f6965faSIcenowy Zheng <&clk_vo CLK_DPU_ACLK>, 97*5f6965faSIcenowy Zheng <&clk_vo CLK_DPU_HCLK>, 98*5f6965faSIcenowy Zheng <&clk_vo CLK_DPU_PIXELCLK0>, 99*5f6965faSIcenowy Zheng <&clk_vo CLK_DPU_PIXELCLK1>; 100*5f6965faSIcenowy Zheng clock-names = "core", "axi", "ahb", "pix0", "pix1"; 101*5f6965faSIcenowy Zheng resets = <&rst TH1520_RESET_ID_DPU_CORE>, 102*5f6965faSIcenowy Zheng <&rst TH1520_RESET_ID_DPU_AXI>, 103*5f6965faSIcenowy Zheng <&rst TH1520_RESET_ID_DPU_AHB>; 104*5f6965faSIcenowy Zheng reset-names = "core", "axi", "ahb"; 105*5f6965faSIcenowy Zheng 106*5f6965faSIcenowy Zheng ports { 107*5f6965faSIcenowy Zheng #address-cells = <1>; 108*5f6965faSIcenowy Zheng #size-cells = <0>; 109*5f6965faSIcenowy Zheng 110*5f6965faSIcenowy Zheng port@1 { 111*5f6965faSIcenowy Zheng reg = <1>; 112*5f6965faSIcenowy Zheng #address-cells = <1>; 113*5f6965faSIcenowy Zheng #size-cells = <0>; 114*5f6965faSIcenowy Zheng 115*5f6965faSIcenowy Zheng dpu_out_dp1: endpoint@1 { 116*5f6965faSIcenowy Zheng reg = <1>; 117*5f6965faSIcenowy Zheng remote-endpoint = <&hdmi_in>; 118*5f6965faSIcenowy Zheng }; 119*5f6965faSIcenowy Zheng }; 120*5f6965faSIcenowy Zheng }; 121*5f6965faSIcenowy Zheng }; 122*5f6965faSIcenowy Zheng }; 123