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