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