1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/display/bridge/nwl-dsi.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Northwest Logic MIPI-DSI controller on i.MX SoCs 8 9maintainers: 10 - Guido Gúnther <agx@sigxcpu.org> 11 - Robert Chiras <robert.chiras@nxp.com> 12 13description: | 14 NWL MIPI-DSI host controller found on i.MX8 platforms. This is a dsi bridge for 15 the SOCs NWL MIPI-DSI host controller. 16 17allOf: 18 - $ref: ../dsi-controller.yaml# 19 20properties: 21 compatible: 22 const: fsl,imx8mq-nwl-dsi 23 24 reg: 25 maxItems: 1 26 27 interrupts: 28 maxItems: 1 29 30 '#address-cells': 31 const: 1 32 33 '#size-cells': 34 const: 0 35 36 assigned-clock-parents: true 37 assigned-clock-rates: true 38 assigned-clocks: true 39 40 clocks: 41 items: 42 - description: DSI core clock 43 - description: RX_ESC clock (used in escape mode) 44 - description: TX_ESC clock (used in escape mode) 45 - description: PHY_REF clock 46 - description: LCDIF clock 47 48 clock-names: 49 items: 50 - const: core 51 - const: rx_esc 52 - const: tx_esc 53 - const: phy_ref 54 - const: lcdif 55 56 mux-controls: 57 description: 58 mux controller node to use for operating the input mux 59 60 phys: 61 maxItems: 1 62 description: 63 A phandle to the phy module representing the DPHY 64 65 phy-names: 66 items: 67 - const: dphy 68 69 power-domains: 70 maxItems: 1 71 72 resets: 73 items: 74 - description: dsi byte reset line 75 - description: dsi dpi reset line 76 - description: dsi esc reset line 77 - description: dsi pclk reset line 78 79 reset-names: 80 items: 81 - const: byte 82 - const: dpi 83 - const: esc 84 - const: pclk 85 86 ports: 87 type: object 88 description: 89 A node containing DSI input & output port nodes with endpoint 90 definitions as documented in 91 Documentation/devicetree/bindings/graph.txt. 92 properties: 93 port@0: 94 type: object 95 description: 96 Input port node to receive pixel data from the 97 display controller. Exactly one endpoint must be 98 specified. 99 properties: 100 '#address-cells': 101 const: 1 102 103 '#size-cells': 104 const: 0 105 106 endpoint@0: 107 description: sub-node describing the input from LCDIF 108 type: object 109 110 endpoint@1: 111 description: sub-node describing the input from DCSS 112 type: object 113 114 reg: 115 const: 0 116 117 required: 118 - '#address-cells' 119 - '#size-cells' 120 - reg 121 122 oneOf: 123 - required: 124 - endpoint@0 125 - required: 126 - endpoint@1 127 128 additionalProperties: false 129 130 port@1: 131 type: object 132 description: 133 DSI output port node to the panel or the next bridge 134 in the chain 135 136 '#address-cells': 137 const: 1 138 139 '#size-cells': 140 const: 0 141 142 required: 143 - '#address-cells' 144 - '#size-cells' 145 - port@0 146 - port@1 147 148 additionalProperties: false 149 150required: 151 - '#address-cells' 152 - '#size-cells' 153 - clock-names 154 - clocks 155 - compatible 156 - interrupts 157 - mux-controls 158 - phy-names 159 - phys 160 - ports 161 - reg 162 - reset-names 163 - resets 164 165unevaluatedProperties: false 166 167examples: 168 - | 169 #include <dt-bindings/clock/imx8mq-clock.h> 170 #include <dt-bindings/gpio/gpio.h> 171 #include <dt-bindings/interrupt-controller/arm-gic.h> 172 #include <dt-bindings/reset/imx8mq-reset.h> 173 174 dsi@30a00000 { 175 #address-cells = <1>; 176 #size-cells = <0>; 177 compatible = "fsl,imx8mq-nwl-dsi"; 178 reg = <0x30A00000 0x300>; 179 clocks = <&clk IMX8MQ_CLK_DSI_CORE>, 180 <&clk IMX8MQ_CLK_DSI_AHB>, 181 <&clk IMX8MQ_CLK_DSI_IPG_DIV>, 182 <&clk IMX8MQ_CLK_DSI_PHY_REF>, 183 <&clk IMX8MQ_CLK_LCDIF_PIXEL>; 184 clock-names = "core", "rx_esc", "tx_esc", "phy_ref", "lcdif"; 185 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 186 mux-controls = <&mux 0>; 187 power-domains = <&pgc_mipi>; 188 resets = <&src IMX8MQ_RESET_MIPI_DSI_RESET_BYTE_N>, 189 <&src IMX8MQ_RESET_MIPI_DSI_DPI_RESET_N>, 190 <&src IMX8MQ_RESET_MIPI_DSI_ESC_RESET_N>, 191 <&src IMX8MQ_RESET_MIPI_DSI_PCLK_RESET_N>; 192 reset-names = "byte", "dpi", "esc", "pclk"; 193 phys = <&dphy>; 194 phy-names = "dphy"; 195 196 panel@0 { 197 compatible = "rocktech,jh057n00900"; 198 reg = <0>; 199 vcc-supply = <®_2v8_p>; 200 iovcc-supply = <®_1v8_p>; 201 reset-gpios = <&gpio3 13 GPIO_ACTIVE_LOW>; 202 port { 203 panel_in: endpoint { 204 remote-endpoint = <&mipi_dsi_out>; 205 }; 206 }; 207 }; 208 209 ports { 210 #address-cells = <1>; 211 #size-cells = <0>; 212 213 port@0 { 214 #size-cells = <0>; 215 #address-cells = <1>; 216 reg = <0>; 217 mipi_dsi_in: endpoint@0 { 218 reg = <0>; 219 remote-endpoint = <&lcdif_mipi_dsi>; 220 }; 221 }; 222 port@1 { 223 reg = <1>; 224 mipi_dsi_out: endpoint { 225 remote-endpoint = <&panel_in>; 226 }; 227 }; 228 }; 229 }; 230