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
245d16e40dSLaurent Pinchart      - items:
255d16e40dSLaurent Pinchart          - enum:
265d16e40dSLaurent Pinchart              - fsl,imx6sl-lcdif
275d16e40dSLaurent Pinchart              - fsl,imx6sll-lcdif
285d16e40dSLaurent Pinchart              - fsl,imx6ul-lcdif
295d16e40dSLaurent Pinchart              - fsl,imx7d-lcdif
3025e524bfSMarek Vasut              - fsl,imx8mm-lcdif
31fac4e24dSMarek Vasut              - fsl,imx8mn-lcdif
323b1b42fdSLaurent Pinchart              - fsl,imx8mq-lcdif
335d16e40dSLaurent Pinchart          - const: fsl,imx6sx-lcdif
343b1b42fdSLaurent Pinchart
353b1b42fdSLaurent Pinchart  reg:
363b1b42fdSLaurent Pinchart    maxItems: 1
373b1b42fdSLaurent Pinchart
383b1b42fdSLaurent Pinchart  clocks:
393b1b42fdSLaurent Pinchart    items:
403b1b42fdSLaurent Pinchart      - description: Pixel clock
413b1b42fdSLaurent Pinchart      - description: Bus clock
423b1b42fdSLaurent Pinchart      - description: Display AXI clock
433b1b42fdSLaurent Pinchart    minItems: 1
443b1b42fdSLaurent Pinchart
453b1b42fdSLaurent Pinchart  clock-names:
463b1b42fdSLaurent Pinchart    items:
473b1b42fdSLaurent Pinchart      - const: pix
483b1b42fdSLaurent Pinchart      - const: axi
493b1b42fdSLaurent Pinchart      - const: disp_axi
503b1b42fdSLaurent Pinchart    minItems: 1
513b1b42fdSLaurent Pinchart
523b1b42fdSLaurent Pinchart  interrupts:
533b1b42fdSLaurent Pinchart    maxItems: 1
543b1b42fdSLaurent Pinchart
5503871060SAlexander Stein  power-domains:
5603871060SAlexander Stein    maxItems: 1
5703871060SAlexander Stein
583b1b42fdSLaurent Pinchart  port:
593b1b42fdSLaurent Pinchart    $ref: /schemas/graph.yaml#/properties/port
603b1b42fdSLaurent Pinchart    description: The LCDIF output port
613b1b42fdSLaurent Pinchart
623b1b42fdSLaurent Pinchartrequired:
633b1b42fdSLaurent Pinchart  - compatible
643b1b42fdSLaurent Pinchart  - reg
653b1b42fdSLaurent Pinchart  - clocks
663b1b42fdSLaurent Pinchart  - interrupts
673b1b42fdSLaurent Pinchart  - port
683b1b42fdSLaurent Pinchart
693b1b42fdSLaurent PinchartadditionalProperties: false
703b1b42fdSLaurent Pinchart
713b1b42fdSLaurent PinchartallOf:
723b1b42fdSLaurent Pinchart  - if:
733b1b42fdSLaurent Pinchart      properties:
743b1b42fdSLaurent Pinchart        compatible:
753b1b42fdSLaurent Pinchart          contains:
763b1b42fdSLaurent Pinchart            const: fsl,imx6sx-lcdif
773b1b42fdSLaurent Pinchart    then:
783b1b42fdSLaurent Pinchart      properties:
793b1b42fdSLaurent Pinchart        clocks:
803b1b42fdSLaurent Pinchart          minItems: 2
813b1b42fdSLaurent Pinchart          maxItems: 3
823b1b42fdSLaurent Pinchart        clock-names:
833b1b42fdSLaurent Pinchart          minItems: 2
843b1b42fdSLaurent Pinchart          maxItems: 3
853b1b42fdSLaurent Pinchart      required:
863b1b42fdSLaurent Pinchart        - clock-names
8703871060SAlexander Stein  - if:
8803871060SAlexander Stein      properties:
8903871060SAlexander Stein        compatible:
9003871060SAlexander Stein          contains:
9103871060SAlexander Stein            const: fsl,imx8mp-lcdif
9203871060SAlexander Stein    then:
9303871060SAlexander Stein      properties:
9403871060SAlexander Stein        clocks:
9503871060SAlexander Stein          minItems: 3
9603871060SAlexander Stein          maxItems: 3
9703871060SAlexander Stein        clock-names:
9803871060SAlexander Stein          minItems: 3
9903871060SAlexander Stein          maxItems: 3
10003871060SAlexander Stein      required:
10103871060SAlexander Stein        - clock-names
10203871060SAlexander Stein  - if:
10303871060SAlexander Stein      not:
10403871060SAlexander Stein        properties:
10503871060SAlexander Stein          compatible:
10603871060SAlexander Stein            contains:
10703871060SAlexander Stein              enum:
10803871060SAlexander Stein                - fsl,imx6sx-lcdif
10903871060SAlexander Stein                - fsl,imx8mp-lcdif
11003871060SAlexander Stein    then:
1113b1b42fdSLaurent Pinchart      properties:
1123b1b42fdSLaurent Pinchart        clocks:
1133b1b42fdSLaurent Pinchart          maxItems: 1
1143b1b42fdSLaurent Pinchart        clock-names:
1153b1b42fdSLaurent Pinchart          maxItems: 1
116*f62678a7SMarek Vasut  - if:
117*f62678a7SMarek Vasut      properties:
118*f62678a7SMarek Vasut        compatible:
119*f62678a7SMarek Vasut          contains:
120*f62678a7SMarek Vasut            enum:
121*f62678a7SMarek Vasut              - fsl,imx6sl-lcdif
122*f62678a7SMarek Vasut              - fsl,imx6sx-lcdif
123*f62678a7SMarek Vasut              - fsl,imx8mm-lcdif
124*f62678a7SMarek Vasut              - fsl,imx8mn-lcdif
125*f62678a7SMarek Vasut              - fsl,imx8mp-lcdif
126*f62678a7SMarek Vasut    then:
127*f62678a7SMarek Vasut      required:
128*f62678a7SMarek Vasut        - power-domains
1293b1b42fdSLaurent Pinchart
1303b1b42fdSLaurent Pinchartexamples:
1313b1b42fdSLaurent Pinchart  - |
1323b1b42fdSLaurent Pinchart    #include <dt-bindings/clock/imx6sx-clock.h>
1333b1b42fdSLaurent Pinchart    #include <dt-bindings/interrupt-controller/arm-gic.h>
1343b1b42fdSLaurent Pinchart
1353b1b42fdSLaurent Pinchart    display-controller@2220000 {
1363b1b42fdSLaurent Pinchart        compatible = "fsl,imx6sx-lcdif";
1373b1b42fdSLaurent Pinchart        reg = <0x02220000 0x4000>;
1383b1b42fdSLaurent Pinchart        interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
1393b1b42fdSLaurent Pinchart        clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>,
1403b1b42fdSLaurent Pinchart                 <&clks IMX6SX_CLK_LCDIF_APB>,
1413b1b42fdSLaurent Pinchart                 <&clks IMX6SX_CLK_DISPLAY_AXI>;
1423b1b42fdSLaurent Pinchart        clock-names = "pix", "axi", "disp_axi";
143*f62678a7SMarek Vasut        power-domains = <&pd_disp>;
1443b1b42fdSLaurent Pinchart
1453b1b42fdSLaurent Pinchart        port {
1463b1b42fdSLaurent Pinchart            endpoint {
1473b1b42fdSLaurent Pinchart                remote-endpoint = <&panel_in>;
1483b1b42fdSLaurent Pinchart            };
1493b1b42fdSLaurent Pinchart        };
1503b1b42fdSLaurent Pinchart    };
1513b1b42fdSLaurent Pinchart
1523b1b42fdSLaurent Pinchart...
153