1*cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*cb7aa33aSEmmanuel Vadot%YAML 1.2 3*cb7aa33aSEmmanuel Vadot--- 4*cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/display/bridge/cdns,dsi.yaml# 5*cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*cb7aa33aSEmmanuel Vadot 7*cb7aa33aSEmmanuel Vadottitle: Cadence DSI bridge 8*cb7aa33aSEmmanuel Vadot 9*cb7aa33aSEmmanuel Vadotmaintainers: 10*cb7aa33aSEmmanuel Vadot - Boris Brezillon <boris.brezillon@bootlin.com> 11*cb7aa33aSEmmanuel Vadot 12*cb7aa33aSEmmanuel Vadotdescription: | 13*cb7aa33aSEmmanuel Vadot CDNS DSI is a bridge device which converts DPI to DSI 14*cb7aa33aSEmmanuel Vadot 15*cb7aa33aSEmmanuel Vadotproperties: 16*cb7aa33aSEmmanuel Vadot compatible: 17*cb7aa33aSEmmanuel Vadot enum: 18*cb7aa33aSEmmanuel Vadot - cdns,dsi 19*cb7aa33aSEmmanuel Vadot - ti,j721e-dsi 20*cb7aa33aSEmmanuel Vadot 21*cb7aa33aSEmmanuel Vadot reg: 22*cb7aa33aSEmmanuel Vadot minItems: 1 23*cb7aa33aSEmmanuel Vadot items: 24*cb7aa33aSEmmanuel Vadot - description: 25*cb7aa33aSEmmanuel Vadot Register block for controller's registers. 26*cb7aa33aSEmmanuel Vadot - description: 27*cb7aa33aSEmmanuel Vadot Register block for wrapper settings registers in case of TI J7 SoCs. 28*cb7aa33aSEmmanuel Vadot 29*cb7aa33aSEmmanuel Vadot clocks: 30*cb7aa33aSEmmanuel Vadot items: 31*cb7aa33aSEmmanuel Vadot - description: PSM clock, used by the IP 32*cb7aa33aSEmmanuel Vadot - description: sys clock, used by the IP 33*cb7aa33aSEmmanuel Vadot 34*cb7aa33aSEmmanuel Vadot clock-names: 35*cb7aa33aSEmmanuel Vadot items: 36*cb7aa33aSEmmanuel Vadot - const: dsi_p_clk 37*cb7aa33aSEmmanuel Vadot - const: dsi_sys_clk 38*cb7aa33aSEmmanuel Vadot 39*cb7aa33aSEmmanuel Vadot phys: 40*cb7aa33aSEmmanuel Vadot maxItems: 1 41*cb7aa33aSEmmanuel Vadot 42*cb7aa33aSEmmanuel Vadot phy-names: 43*cb7aa33aSEmmanuel Vadot const: dphy 44*cb7aa33aSEmmanuel Vadot 45*cb7aa33aSEmmanuel Vadot interrupts: 46*cb7aa33aSEmmanuel Vadot maxItems: 1 47*cb7aa33aSEmmanuel Vadot 48*cb7aa33aSEmmanuel Vadot resets: 49*cb7aa33aSEmmanuel Vadot maxItems: 1 50*cb7aa33aSEmmanuel Vadot 51*cb7aa33aSEmmanuel Vadot reset-names: 52*cb7aa33aSEmmanuel Vadot const: dsi_p_rst 53*cb7aa33aSEmmanuel Vadot 54*cb7aa33aSEmmanuel Vadot ports: 55*cb7aa33aSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 56*cb7aa33aSEmmanuel Vadot 57*cb7aa33aSEmmanuel Vadot properties: 58*cb7aa33aSEmmanuel Vadot port@0: 59*cb7aa33aSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 60*cb7aa33aSEmmanuel Vadot description: 61*cb7aa33aSEmmanuel Vadot Output port representing the DSI output. It can have 62*cb7aa33aSEmmanuel Vadot at most 4 endpoints. The endpoint number is directly encoding 63*cb7aa33aSEmmanuel Vadot the DSI virtual channel used by this device. 64*cb7aa33aSEmmanuel Vadot 65*cb7aa33aSEmmanuel Vadot port@1: 66*cb7aa33aSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 67*cb7aa33aSEmmanuel Vadot description: 68*cb7aa33aSEmmanuel Vadot Input port representing the DPI input. 69*cb7aa33aSEmmanuel Vadot 70*cb7aa33aSEmmanuel Vadot required: 71*cb7aa33aSEmmanuel Vadot - port@1 72*cb7aa33aSEmmanuel Vadot 73*cb7aa33aSEmmanuel VadotallOf: 74*cb7aa33aSEmmanuel Vadot - $ref: ../dsi-controller.yaml# 75*cb7aa33aSEmmanuel Vadot 76*cb7aa33aSEmmanuel Vadot - if: 77*cb7aa33aSEmmanuel Vadot properties: 78*cb7aa33aSEmmanuel Vadot compatible: 79*cb7aa33aSEmmanuel Vadot contains: 80*cb7aa33aSEmmanuel Vadot const: ti,j721e-dsi 81*cb7aa33aSEmmanuel Vadot then: 82*cb7aa33aSEmmanuel Vadot properties: 83*cb7aa33aSEmmanuel Vadot reg: 84*cb7aa33aSEmmanuel Vadot minItems: 2 85*cb7aa33aSEmmanuel Vadot maxItems: 2 86*cb7aa33aSEmmanuel Vadot power-domains: 87*cb7aa33aSEmmanuel Vadot maxItems: 1 88*cb7aa33aSEmmanuel Vadot else: 89*cb7aa33aSEmmanuel Vadot properties: 90*cb7aa33aSEmmanuel Vadot reg: 91*cb7aa33aSEmmanuel Vadot maxItems: 1 92*cb7aa33aSEmmanuel Vadot 93*cb7aa33aSEmmanuel Vadotrequired: 94*cb7aa33aSEmmanuel Vadot - compatible 95*cb7aa33aSEmmanuel Vadot - reg 96*cb7aa33aSEmmanuel Vadot - interrupts 97*cb7aa33aSEmmanuel Vadot - clocks 98*cb7aa33aSEmmanuel Vadot - clock-names 99*cb7aa33aSEmmanuel Vadot - phys 100*cb7aa33aSEmmanuel Vadot - phy-names 101*cb7aa33aSEmmanuel Vadot - ports 102*cb7aa33aSEmmanuel Vadot 103*cb7aa33aSEmmanuel VadotunevaluatedProperties: false 104*cb7aa33aSEmmanuel Vadot 105*cb7aa33aSEmmanuel Vadotexamples: 106*cb7aa33aSEmmanuel Vadot - | 107*cb7aa33aSEmmanuel Vadot bus { 108*cb7aa33aSEmmanuel Vadot #address-cells = <2>; 109*cb7aa33aSEmmanuel Vadot #size-cells = <2>; 110*cb7aa33aSEmmanuel Vadot 111*cb7aa33aSEmmanuel Vadot dsi@fd0c0000 { 112*cb7aa33aSEmmanuel Vadot compatible = "cdns,dsi"; 113*cb7aa33aSEmmanuel Vadot reg = <0x0 0xfd0c0000 0x0 0x1000>; 114*cb7aa33aSEmmanuel Vadot clocks = <&pclk>, <&sysclk>; 115*cb7aa33aSEmmanuel Vadot clock-names = "dsi_p_clk", "dsi_sys_clk"; 116*cb7aa33aSEmmanuel Vadot interrupts = <1>; 117*cb7aa33aSEmmanuel Vadot phys = <&dphy0>; 118*cb7aa33aSEmmanuel Vadot phy-names = "dphy"; 119*cb7aa33aSEmmanuel Vadot 120*cb7aa33aSEmmanuel Vadot #address-cells = <1>; 121*cb7aa33aSEmmanuel Vadot #size-cells = <0>; 122*cb7aa33aSEmmanuel Vadot 123*cb7aa33aSEmmanuel Vadot ports { 124*cb7aa33aSEmmanuel Vadot #address-cells = <1>; 125*cb7aa33aSEmmanuel Vadot #size-cells = <0>; 126*cb7aa33aSEmmanuel Vadot 127*cb7aa33aSEmmanuel Vadot port@1 { 128*cb7aa33aSEmmanuel Vadot reg = <1>; 129*cb7aa33aSEmmanuel Vadot endpoint { 130*cb7aa33aSEmmanuel Vadot remote-endpoint = <&xxx_dpi_output>; 131*cb7aa33aSEmmanuel Vadot }; 132*cb7aa33aSEmmanuel Vadot }; 133*cb7aa33aSEmmanuel Vadot }; 134*cb7aa33aSEmmanuel Vadot 135*cb7aa33aSEmmanuel Vadot panel@0 { 136*cb7aa33aSEmmanuel Vadot compatible = "panasonic,vvx10f034n00"; 137*cb7aa33aSEmmanuel Vadot reg = <0>; 138*cb7aa33aSEmmanuel Vadot power-supply = <&vcc_lcd_reg>; 139*cb7aa33aSEmmanuel Vadot }; 140*cb7aa33aSEmmanuel Vadot }; 141*cb7aa33aSEmmanuel Vadot }; 142*cb7aa33aSEmmanuel Vadot 143*cb7aa33aSEmmanuel Vadot - | 144*cb7aa33aSEmmanuel Vadot bus { 145*cb7aa33aSEmmanuel Vadot #address-cells = <2>; 146*cb7aa33aSEmmanuel Vadot #size-cells = <2>; 147*cb7aa33aSEmmanuel Vadot 148*cb7aa33aSEmmanuel Vadot dsi@fd0c0000 { 149*cb7aa33aSEmmanuel Vadot compatible = "cdns,dsi"; 150*cb7aa33aSEmmanuel Vadot reg = <0x0 0xfd0c0000 0x0 0x1000>; 151*cb7aa33aSEmmanuel Vadot clocks = <&pclk>, <&sysclk>; 152*cb7aa33aSEmmanuel Vadot clock-names = "dsi_p_clk", "dsi_sys_clk"; 153*cb7aa33aSEmmanuel Vadot interrupts = <1>; 154*cb7aa33aSEmmanuel Vadot phys = <&dphy1>; 155*cb7aa33aSEmmanuel Vadot phy-names = "dphy"; 156*cb7aa33aSEmmanuel Vadot 157*cb7aa33aSEmmanuel Vadot ports { 158*cb7aa33aSEmmanuel Vadot #address-cells = <1>; 159*cb7aa33aSEmmanuel Vadot #size-cells = <0>; 160*cb7aa33aSEmmanuel Vadot 161*cb7aa33aSEmmanuel Vadot port@0 { 162*cb7aa33aSEmmanuel Vadot reg = <0>; 163*cb7aa33aSEmmanuel Vadot #address-cells = <1>; 164*cb7aa33aSEmmanuel Vadot #size-cells = <0>; 165*cb7aa33aSEmmanuel Vadot 166*cb7aa33aSEmmanuel Vadot endpoint@0 { 167*cb7aa33aSEmmanuel Vadot reg = <0>; 168*cb7aa33aSEmmanuel Vadot remote-endpoint = <&dsi_panel_input>; 169*cb7aa33aSEmmanuel Vadot }; 170*cb7aa33aSEmmanuel Vadot }; 171*cb7aa33aSEmmanuel Vadot 172*cb7aa33aSEmmanuel Vadot port@1 { 173*cb7aa33aSEmmanuel Vadot reg = <1>; 174*cb7aa33aSEmmanuel Vadot endpoint { 175*cb7aa33aSEmmanuel Vadot remote-endpoint = <&xxx_dpi_output>; 176*cb7aa33aSEmmanuel Vadot }; 177*cb7aa33aSEmmanuel Vadot }; 178*cb7aa33aSEmmanuel Vadot }; 179*cb7aa33aSEmmanuel Vadot }; 180*cb7aa33aSEmmanuel Vadot }; 181