0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/display/fsl,lcdif.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Freescale/NXP i.MX LCD Interface (LCDIF)
0008
0009 maintainers:
0010 - Marek Vasut <marex@denx.de>
0011 - Stefan Agner <stefan@agner.ch>
0012
0013 description: |
0014 (e)LCDIF display controller found in the Freescale/NXP i.MX SoCs.
0015
0016 properties:
0017 compatible:
0018 oneOf:
0019 - enum:
0020 - fsl,imx23-lcdif
0021 - fsl,imx28-lcdif
0022 - fsl,imx6sx-lcdif
0023 - fsl,imx8mp-lcdif
0024 - items:
0025 - enum:
0026 - fsl,imx6sl-lcdif
0027 - fsl,imx6sll-lcdif
0028 - fsl,imx6ul-lcdif
0029 - fsl,imx7d-lcdif
0030 - fsl,imx8mm-lcdif
0031 - fsl,imx8mn-lcdif
0032 - fsl,imx8mq-lcdif
0033 - const: fsl,imx6sx-lcdif
0034
0035 reg:
0036 maxItems: 1
0037
0038 clocks:
0039 items:
0040 - description: Pixel clock
0041 - description: Bus clock
0042 - description: Display AXI clock
0043 minItems: 1
0044
0045 clock-names:
0046 items:
0047 - const: pix
0048 - const: axi
0049 - const: disp_axi
0050 minItems: 1
0051
0052 interrupts:
0053 maxItems: 1
0054
0055 port:
0056 $ref: /schemas/graph.yaml#/properties/port
0057 description: The LCDIF output port
0058
0059 required:
0060 - compatible
0061 - reg
0062 - clocks
0063 - interrupts
0064 - port
0065
0066 additionalProperties: false
0067
0068 allOf:
0069 - if:
0070 properties:
0071 compatible:
0072 contains:
0073 const: fsl,imx6sx-lcdif
0074 then:
0075 properties:
0076 clocks:
0077 minItems: 2
0078 maxItems: 3
0079 clock-names:
0080 minItems: 2
0081 maxItems: 3
0082 required:
0083 - clock-names
0084 else:
0085 properties:
0086 clocks:
0087 maxItems: 1
0088 clock-names:
0089 maxItems: 1
0090
0091 examples:
0092 - |
0093 #include <dt-bindings/clock/imx6sx-clock.h>
0094 #include <dt-bindings/interrupt-controller/arm-gic.h>
0095
0096 display-controller@2220000 {
0097 compatible = "fsl,imx6sx-lcdif";
0098 reg = <0x02220000 0x4000>;
0099 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
0100 clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>,
0101 <&clks IMX6SX_CLK_LCDIF_APB>,
0102 <&clks IMX6SX_CLK_DISPLAY_AXI>;
0103 clock-names = "pix", "axi", "disp_axi";
0104
0105 port {
0106 endpoint {
0107 remote-endpoint = <&panel_in>;
0108 };
0109 };
0110 };
0111
0112 ...