xref: /linux/Documentation/devicetree/bindings/display/fsl,lcdif.yaml (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
13b1b42fdSLaurent Pinchart# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
23b1b42fdSLaurent Pinchart%YAML 1.2
33b1b42fdSLaurent Pinchart---
43b1b42fdSLaurent Pinchart$id: http://devicetree.org/schemas/display/fsl,lcdif.yaml#
53b1b42fdSLaurent Pinchart$schema: http://devicetree.org/meta-schemas/core.yaml#
63b1b42fdSLaurent Pinchart
73b1b42fdSLaurent Pincharttitle: Freescale/NXP i.MX LCD Interface (LCDIF)
83b1b42fdSLaurent Pinchart
93b1b42fdSLaurent Pinchartmaintainers:
103b1b42fdSLaurent Pinchart  - Marek Vasut <marex@denx.de>
113b1b42fdSLaurent Pinchart  - Stefan Agner <stefan@agner.ch>
123b1b42fdSLaurent Pinchart
133b1b42fdSLaurent Pinchartdescription: |
143b1b42fdSLaurent Pinchart  (e)LCDIF display controller found in the Freescale/NXP i.MX SoCs.
153b1b42fdSLaurent Pinchart
163b1b42fdSLaurent Pinchartproperties:
173b1b42fdSLaurent Pinchart  compatible:
185d16e40dSLaurent Pinchart    oneOf:
195d16e40dSLaurent Pinchart      - enum:
203b1b42fdSLaurent Pinchart          - fsl,imx23-lcdif
213b1b42fdSLaurent Pinchart          - fsl,imx28-lcdif
223b1b42fdSLaurent Pinchart          - fsl,imx6sx-lcdif
23f5419cb0SMarek Vasut          - fsl,imx8mp-lcdif
24fff8013fSLiu Ying          - fsl,imx93-lcdif
255d16e40dSLaurent Pinchart      - items:
265d16e40dSLaurent Pinchart          - enum:
275d16e40dSLaurent Pinchart              - fsl,imx6sl-lcdif
285d16e40dSLaurent Pinchart              - fsl,imx6sll-lcdif
295d16e40dSLaurent Pinchart              - fsl,imx6ul-lcdif
305d16e40dSLaurent Pinchart              - fsl,imx7d-lcdif
3125e524bfSMarek Vasut              - fsl,imx8mm-lcdif
32fac4e24dSMarek Vasut              - fsl,imx8mn-lcdif
333b1b42fdSLaurent Pinchart              - fsl,imx8mq-lcdif
345d16e40dSLaurent Pinchart          - const: fsl,imx6sx-lcdif
353b1b42fdSLaurent Pinchart
363b1b42fdSLaurent Pinchart  reg:
373b1b42fdSLaurent Pinchart    maxItems: 1
383b1b42fdSLaurent Pinchart
393b1b42fdSLaurent Pinchart  clocks:
403b1b42fdSLaurent Pinchart    items:
413b1b42fdSLaurent Pinchart      - description: Pixel clock
423b1b42fdSLaurent Pinchart      - description: Bus clock
433b1b42fdSLaurent Pinchart      - description: Display AXI clock
443b1b42fdSLaurent Pinchart    minItems: 1
453b1b42fdSLaurent Pinchart
463b1b42fdSLaurent Pinchart  clock-names:
473b1b42fdSLaurent Pinchart    items:
483b1b42fdSLaurent Pinchart      - const: pix
493b1b42fdSLaurent Pinchart      - const: axi
503b1b42fdSLaurent Pinchart      - const: disp_axi
513b1b42fdSLaurent Pinchart    minItems: 1
523b1b42fdSLaurent Pinchart
53*c65d6796SFabio Estevam  dmas:
54*c65d6796SFabio Estevam    items:
55*c65d6796SFabio Estevam      - description: DMA specifier for the RX DMA channel.
56*c65d6796SFabio Estevam
57*c65d6796SFabio Estevam  dma-names:
58*c65d6796SFabio Estevam    items:
59*c65d6796SFabio Estevam      - const: rx
60*c65d6796SFabio Estevam
613b1b42fdSLaurent Pinchart  interrupts:
62b6c7ca4dSFabio Estevam    items:
63b6c7ca4dSFabio Estevam      - description: LCDIF DMA interrupt
64b6c7ca4dSFabio Estevam      - description: LCDIF Error interrupt
65b6c7ca4dSFabio Estevam    minItems: 1
663b1b42fdSLaurent Pinchart
6703871060SAlexander Stein  power-domains:
6803871060SAlexander Stein    maxItems: 1
6903871060SAlexander Stein
703b1b42fdSLaurent Pinchart  port:
713b1b42fdSLaurent Pinchart    $ref: /schemas/graph.yaml#/properties/port
723b1b42fdSLaurent Pinchart    description: The LCDIF output port
733b1b42fdSLaurent Pinchart
743b1b42fdSLaurent Pinchartrequired:
753b1b42fdSLaurent Pinchart  - compatible
763b1b42fdSLaurent Pinchart  - reg
773b1b42fdSLaurent Pinchart  - clocks
783b1b42fdSLaurent Pinchart  - interrupts
793b1b42fdSLaurent Pinchart  - port
803b1b42fdSLaurent Pinchart
813b1b42fdSLaurent PinchartadditionalProperties: false
823b1b42fdSLaurent Pinchart
833b1b42fdSLaurent PinchartallOf:
843b1b42fdSLaurent Pinchart  - if:
853b1b42fdSLaurent Pinchart      properties:
863b1b42fdSLaurent Pinchart        compatible:
873b1b42fdSLaurent Pinchart          contains:
883b1b42fdSLaurent Pinchart            const: fsl,imx6sx-lcdif
893b1b42fdSLaurent Pinchart    then:
903b1b42fdSLaurent Pinchart      properties:
913b1b42fdSLaurent Pinchart        clocks:
923b1b42fdSLaurent Pinchart          minItems: 2
933b1b42fdSLaurent Pinchart          maxItems: 3
943b1b42fdSLaurent Pinchart        clock-names:
953b1b42fdSLaurent Pinchart          minItems: 2
963b1b42fdSLaurent Pinchart          maxItems: 3
973b1b42fdSLaurent Pinchart      required:
983b1b42fdSLaurent Pinchart        - clock-names
9903871060SAlexander Stein  - if:
10003871060SAlexander Stein      properties:
10103871060SAlexander Stein        compatible:
10203871060SAlexander Stein          contains:
103fff8013fSLiu Ying            enum:
104fff8013fSLiu Ying              - fsl,imx8mp-lcdif
105fff8013fSLiu Ying              - fsl,imx93-lcdif
10603871060SAlexander Stein    then:
10703871060SAlexander Stein      properties:
10803871060SAlexander Stein        clocks:
10903871060SAlexander Stein          minItems: 3
11003871060SAlexander Stein          maxItems: 3
11103871060SAlexander Stein        clock-names:
11203871060SAlexander Stein          minItems: 3
11303871060SAlexander Stein          maxItems: 3
11403871060SAlexander Stein      required:
11503871060SAlexander Stein        - clock-names
11603871060SAlexander Stein  - if:
11703871060SAlexander Stein      not:
11803871060SAlexander Stein        properties:
11903871060SAlexander Stein          compatible:
12003871060SAlexander Stein            contains:
12103871060SAlexander Stein              enum:
12203871060SAlexander Stein                - fsl,imx6sx-lcdif
12303871060SAlexander Stein                - fsl,imx8mp-lcdif
124fff8013fSLiu Ying                - fsl,imx93-lcdif
12503871060SAlexander Stein    then:
1263b1b42fdSLaurent Pinchart      properties:
1273b1b42fdSLaurent Pinchart        clocks:
1283b1b42fdSLaurent Pinchart          maxItems: 1
1293b1b42fdSLaurent Pinchart        clock-names:
1303b1b42fdSLaurent Pinchart          maxItems: 1
131f62678a7SMarek Vasut  - if:
132f62678a7SMarek Vasut      properties:
133f62678a7SMarek Vasut        compatible:
1341447c130SSebastian Reichel          const: fsl,imx6sx-lcdif
1351447c130SSebastian Reichel    then:
1361447c130SSebastian Reichel      required:
1371447c130SSebastian Reichel        - power-domains
1381447c130SSebastian Reichel  - if:
1391447c130SSebastian Reichel      properties:
1401447c130SSebastian Reichel        compatible:
141f62678a7SMarek Vasut          contains:
142f62678a7SMarek Vasut            enum:
143f62678a7SMarek Vasut              - fsl,imx6sl-lcdif
144f62678a7SMarek Vasut              - fsl,imx8mm-lcdif
145f62678a7SMarek Vasut              - fsl,imx8mn-lcdif
146f62678a7SMarek Vasut              - fsl,imx8mp-lcdif
147fff8013fSLiu Ying              - fsl,imx93-lcdif
148f62678a7SMarek Vasut    then:
149f62678a7SMarek Vasut      required:
150f62678a7SMarek Vasut        - power-domains
151b6c7ca4dSFabio Estevam  - if:
152b6c7ca4dSFabio Estevam      properties:
153b6c7ca4dSFabio Estevam        compatible:
154b6c7ca4dSFabio Estevam          contains:
155b6c7ca4dSFabio Estevam            enum:
156b6c7ca4dSFabio Estevam              - fsl,imx23-lcdif
157b6c7ca4dSFabio Estevam    then:
158b6c7ca4dSFabio Estevam      properties:
159b6c7ca4dSFabio Estevam        interrupts:
160b6c7ca4dSFabio Estevam          minItems: 2
161b6c7ca4dSFabio Estevam          maxItems: 2
162b6c7ca4dSFabio Estevam    else:
163b6c7ca4dSFabio Estevam      properties:
164b6c7ca4dSFabio Estevam        interrupts:
165b6c7ca4dSFabio Estevam          maxItems: 1
1663b1b42fdSLaurent Pinchart
167*c65d6796SFabio Estevam  - if:
168*c65d6796SFabio Estevam      not:
169*c65d6796SFabio Estevam        properties:
170*c65d6796SFabio Estevam          compatible:
171*c65d6796SFabio Estevam            contains:
172*c65d6796SFabio Estevam              enum:
173*c65d6796SFabio Estevam                - fsl,imx28-lcdif
174*c65d6796SFabio Estevam    then:
175*c65d6796SFabio Estevam      properties:
176*c65d6796SFabio Estevam        dmas: false
177*c65d6796SFabio Estevam        dma-names: false
178*c65d6796SFabio Estevam
1793b1b42fdSLaurent Pinchartexamples:
1803b1b42fdSLaurent Pinchart  - |
1813b1b42fdSLaurent Pinchart    #include <dt-bindings/clock/imx6sx-clock.h>
1823b1b42fdSLaurent Pinchart    #include <dt-bindings/interrupt-controller/arm-gic.h>
1833b1b42fdSLaurent Pinchart
1843b1b42fdSLaurent Pinchart    display-controller@2220000 {
1853b1b42fdSLaurent Pinchart        compatible = "fsl,imx6sx-lcdif";
1863b1b42fdSLaurent Pinchart        reg = <0x02220000 0x4000>;
1873b1b42fdSLaurent Pinchart        interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
1883b1b42fdSLaurent Pinchart        clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>,
1893b1b42fdSLaurent Pinchart                 <&clks IMX6SX_CLK_LCDIF_APB>,
1903b1b42fdSLaurent Pinchart                 <&clks IMX6SX_CLK_DISPLAY_AXI>;
1913b1b42fdSLaurent Pinchart        clock-names = "pix", "axi", "disp_axi";
192f62678a7SMarek Vasut        power-domains = <&pd_disp>;
1933b1b42fdSLaurent Pinchart
1943b1b42fdSLaurent Pinchart        port {
1953b1b42fdSLaurent Pinchart            endpoint {
1963b1b42fdSLaurent Pinchart                remote-endpoint = <&panel_in>;
1973b1b42fdSLaurent Pinchart            };
1983b1b42fdSLaurent Pinchart        };
1993b1b42fdSLaurent Pinchart    };
2003b1b42fdSLaurent Pinchart
2013b1b42fdSLaurent Pinchart...
202