Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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 };