Merge branch 'work.gfs2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.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       - items:
24           - enum:
25               - fsl,imx6sl-lcdif
26               - fsl,imx6sll-lcdif
27               - fsl,imx6ul-lcdif
28               - fsl,imx7d-lcdif
29               - fsl,imx8mm-lcdif
30               - fsl,imx8mn-lcdif
31               - fsl,imx8mq-lcdif
32           - const: fsl,imx6sx-lcdif
33
34   reg:
35     maxItems: 1
36
37   clocks:
38     items:
39       - description: Pixel clock
40       - description: Bus clock
41       - description: Display AXI clock
42     minItems: 1
43
44   clock-names:
45     items:
46       - const: pix
47       - const: axi
48       - const: disp_axi
49     minItems: 1
50
51   interrupts:
52     maxItems: 1
53
54   port:
55     $ref: /schemas/graph.yaml#/properties/port
56     description: The LCDIF output port
57
58 required:
59   - compatible
60   - reg
61   - clocks
62   - interrupts
63   - port
64
65 additionalProperties: false
66
67 allOf:
68   - if:
69       properties:
70         compatible:
71           contains:
72             const: fsl,imx6sx-lcdif
73     then:
74       properties:
75         clocks:
76           minItems: 2
77           maxItems: 3
78         clock-names:
79           minItems: 2
80           maxItems: 3
81       required:
82         - clock-names
83     else:
84       properties:
85         clocks:
86           maxItems: 1
87         clock-names:
88           maxItems: 1
89
90 examples:
91   - |
92     #include <dt-bindings/clock/imx6sx-clock.h>
93     #include <dt-bindings/interrupt-controller/arm-gic.h>
94
95     display-controller@2220000 {
96         compatible = "fsl,imx6sx-lcdif";
97         reg = <0x02220000 0x4000>;
98         interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
99         clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>,
100                  <&clks IMX6SX_CLK_LCDIF_APB>,
101                  <&clks IMX6SX_CLK_DISPLAY_AXI>;
102         clock-names = "pix", "axi", "disp_axi";
103
104         port {
105             endpoint {
106                 remote-endpoint = <&panel_in>;
107             };
108         };
109     };
110
111 ...