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/fsl,lcdif.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Freescale/NXP i.MX LCD Interface (LCDIF)
8
9maintainers:
10 - Marek Vasut <marex@denx.de>
11 - Stefan Agner <stefan@agner.ch>
12
13description: |
14 (e)LCDIF display controller found in the Freescale/NXP i.MX SoCs.
15
16properties:
17 compatible:
18 oneOf:
19 - enum:
20 - fsl,imx23-lcdif
21 - fsl,imx28-lcdif
22 - fsl,imx6sx-lcdif
23 - fsl,imx8mp-lcdif
24 - fsl,imx93-lcdif
25 - items:
26 - enum:
27 - fsl,imx6sl-lcdif
28 - fsl,imx6sll-lcdif
29 - fsl,imx6ul-lcdif
30 - fsl,imx7d-lcdif
31 - fsl,imx8mm-lcdif
32 - fsl,imx8mn-lcdif
33 - fsl,imx8mq-lcdif
34 - const: fsl,imx6sx-lcdif
35
36 reg:
37 maxItems: 1
38
39 clocks:
40 items:
41 - description: Pixel clock
42 - description: Bus clock
43 - description: Display AXI clock
44 minItems: 1
45
46 clock-names:
47 items:
48 - const: pix
49 - const: axi
50 - const: disp_axi
51 minItems: 1
52
53 dmas:
54 items:
55 - description: DMA specifier for the RX DMA channel.
56
57 dma-names:
58 items:
59 - const: rx
60
61 interrupts:
62 items:
63 - description: LCDIF DMA interrupt
64 - description: LCDIF Error interrupt
65 minItems: 1
66
67 power-domains:
68 maxItems: 1
69
70 port:
71 $ref: /schemas/graph.yaml#/properties/port
72 description: The LCDIF output port
73
74 display:
75 $ref: /schemas/types.yaml#/definitions/phandle
76 description: phandle to display panel
77 deprecated: true
78
79 display0:
80 $ref: panel/panel-common.yaml#
81 deprecated: true
82
83 lcd-supply:
84 deprecated: true
85
86required:
87 - compatible
88 - reg
89 - clocks
90 - interrupts
91
92additionalProperties: false
93
94allOf:
95 - if:
96 properties:
97 compatible:
98 contains:
99 const: fsl,imx6sx-lcdif
100 then:
101 properties:
102 clocks:
103 minItems: 2
104 maxItems: 3
105 clock-names:
106 minItems: 2
107 maxItems: 3
108 required:
109 - clock-names
110 - if:
111 properties:
112 compatible:
113 contains:
114 enum:
115 - fsl,imx8mp-lcdif
116 - fsl,imx93-lcdif
117 then:
118 properties:
119 clocks:
120 minItems: 3
121 maxItems: 3
122 clock-names:
123 minItems: 3
124 maxItems: 3
125 required:
126 - clock-names
127 - if:
128 not:
129 properties:
130 compatible:
131 contains:
132 enum:
133 - fsl,imx6sx-lcdif
134 - fsl,imx8mp-lcdif
135 - fsl,imx93-lcdif
136 then:
137 properties:
138 clocks:
139 maxItems: 1
140 clock-names:
141 maxItems: 1
142 - if:
143 properties:
144 compatible:
145 const: fsl,imx6sx-lcdif
146 then:
147 required:
148 - power-domains
149 - if:
150 properties:
151 compatible:
152 contains:
153 enum:
154 - fsl,imx6sl-lcdif
155 - fsl,imx8mm-lcdif
156 - fsl,imx8mn-lcdif
157 - fsl,imx8mp-lcdif
158 - fsl,imx93-lcdif
159 then:
160 required:
161 - power-domains
162 - if:
163 properties:
164 compatible:
165 contains:
166 enum:
167 - fsl,imx23-lcdif
168 then:
169 properties:
170 interrupts:
171 minItems: 2
172 maxItems: 2
173 else:
174 properties:
175 interrupts:
176 maxItems: 1
177
178 - if:
179 not:
180 properties:
181 compatible:
182 contains:
183 enum:
184 - fsl,imx28-lcdif
185 then:
186 properties:
187 dmas: false
188 dma-names: false
189 display: false
190 display0: false
191 lcd-supply: false
192
193 required:
194 - port
195
196examples:
197 - |
198 #include <dt-bindings/clock/imx6sx-clock.h>
199 #include <dt-bindings/interrupt-controller/arm-gic.h>
200
201 display-controller@2220000 {
202 compatible = "fsl,imx6sx-lcdif";
203 reg = <0x02220000 0x4000>;
204 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
205 clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>,
206 <&clks IMX6SX_CLK_LCDIF_APB>,
207 <&clks IMX6SX_CLK_DISPLAY_AXI>;
208 clock-names = "pix", "axi", "disp_axi";
209 power-domains = <&pd_disp>;
210
211 port {
212 endpoint {
213 remote-endpoint = <&panel_in>;
214 };
215 };
216 };
217
218...