GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / display / fsl,lcdif.yaml
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
7 title: Freescale/NXP i.MX LCD Interface (LCDIF)
8
9 maintainers:
10   - Marek Vasut <marex@denx.de>
11   - Stefan Agner <stefan@agner.ch>
12
13 description: |
14   (e)LCDIF display controller found in the Freescale/NXP i.MX SoCs.
15
16 properties:
17   compatible:
18     oneOf:
19       - enum:
20           - fsl,imx23-lcdif
21           - fsl,imx28-lcdif
22           - fsl,imx6sx-lcdif
23           - fsl,imx8mp-lcdif
24       - items:
25           - enum:
26               - fsl,imx6sl-lcdif
27               - fsl,imx6sll-lcdif
28               - fsl,imx6ul-lcdif
29               - fsl,imx7d-lcdif
30               - fsl,imx8mm-lcdif
31               - fsl,imx8mn-lcdif
32               - fsl,imx8mq-lcdif
33           - const: fsl,imx6sx-lcdif
34
35   reg:
36     maxItems: 1
37
38   clocks:
39     items:
40       - description: Pixel clock
41       - description: Bus clock
42       - description: Display AXI clock
43     minItems: 1
44
45   clock-names:
46     items:
47       - const: pix
48       - const: axi
49       - const: disp_axi
50     minItems: 1
51
52   interrupts:
53     maxItems: 1
54
55   port:
56     $ref: /schemas/graph.yaml#/properties/port
57     description: The LCDIF output port
58
59 required:
60   - compatible
61   - reg
62   - clocks
63   - interrupts
64   - port
65
66 additionalProperties: false
67
68 allOf:
69   - if:
70       properties:
71         compatible:
72           contains:
73             const: fsl,imx6sx-lcdif
74     then:
75       properties:
76         clocks:
77           minItems: 2
78           maxItems: 3
79         clock-names:
80           minItems: 2
81           maxItems: 3
82       required:
83         - clock-names
84     else:
85       properties:
86         clocks:
87           maxItems: 1
88         clock-names:
89           maxItems: 1
90
91 examples:
92   - |
93     #include <dt-bindings/clock/imx6sx-clock.h>
94     #include <dt-bindings/interrupt-controller/arm-gic.h>
95
96     display-controller@2220000 {
97         compatible = "fsl,imx6sx-lcdif";
98         reg = <0x02220000 0x4000>;
99         interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
100         clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>,
101                  <&clks IMX6SX_CLK_LCDIF_APB>,
102                  <&clks IMX6SX_CLK_DISPLAY_AXI>;
103         clock-names = "pix", "axi", "disp_axi";
104
105         port {
106             endpoint {
107                 remote-endpoint = <&panel_in>;
108             };
109         };
110     };
111
112 ...