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 7title: Freescale/NXP i.MX LCD Interface (LCDIF) 8 9maintainers: 10 - Marek Vasut <marex@denx.de> 11 - Stefan Agner <stefan@agner.ch> 12 13description: | 14 (e)LCDIF display controller found in the Freescale/NXP i.MX SoCs. 15 16properties: 17 compatible: 18 oneOf: 19 - enum: 20 - fsl,imx23-lcdif 21 - fsl,imx28-lcdif 22 - fsl,imx6sx-lcdif 23 - fsl,imx8mp-lcdif 24 - fsl,imx93-lcdif 25 - items: 26 - enum: 27 - fsl,imx6sl-lcdif 28 - fsl,imx6sll-lcdif 29 - fsl,imx6ul-lcdif 30 - fsl,imx7d-lcdif 31 - fsl,imx8mm-lcdif 32 - fsl,imx8mn-lcdif 33 - fsl,imx8mq-lcdif 34 - const: fsl,imx6sx-lcdif 35 36 reg: 37 maxItems: 1 38 39 clocks: 40 items: 41 - description: Pixel clock 42 - description: Bus clock 43 - description: Display AXI clock 44 minItems: 1 45 46 clock-names: 47 items: 48 - const: pix 49 - const: axi 50 - const: disp_axi 51 minItems: 1 52 53 dmas: 54 items: 55 - description: DMA specifier for the RX DMA channel. 56 57 dma-names: 58 items: 59 - const: rx 60 61 interrupts: 62 items: 63 - description: LCDIF DMA interrupt 64 - description: LCDIF Error interrupt 65 minItems: 1 66 67 power-domains: 68 maxItems: 1 69 70 port: 71 $ref: /schemas/graph.yaml#/properties/port 72 description: The LCDIF output port 73 74required: 75 - compatible 76 - reg 77 - clocks 78 - interrupts 79 - port 80 81additionalProperties: false 82 83allOf: 84 - if: 85 properties: 86 compatible: 87 contains: 88 const: fsl,imx6sx-lcdif 89 then: 90 properties: 91 clocks: 92 minItems: 2 93 maxItems: 3 94 clock-names: 95 minItems: 2 96 maxItems: 3 97 required: 98 - clock-names 99 - if: 100 properties: 101 compatible: 102 contains: 103 enum: 104 - fsl,imx8mp-lcdif 105 - fsl,imx93-lcdif 106 then: 107 properties: 108 clocks: 109 minItems: 3 110 maxItems: 3 111 clock-names: 112 minItems: 3 113 maxItems: 3 114 required: 115 - clock-names 116 - if: 117 not: 118 properties: 119 compatible: 120 contains: 121 enum: 122 - fsl,imx6sx-lcdif 123 - fsl,imx8mp-lcdif 124 - fsl,imx93-lcdif 125 then: 126 properties: 127 clocks: 128 maxItems: 1 129 clock-names: 130 maxItems: 1 131 - if: 132 properties: 133 compatible: 134 const: fsl,imx6sx-lcdif 135 then: 136 required: 137 - power-domains 138 - if: 139 properties: 140 compatible: 141 contains: 142 enum: 143 - fsl,imx6sl-lcdif 144 - fsl,imx8mm-lcdif 145 - fsl,imx8mn-lcdif 146 - fsl,imx8mp-lcdif 147 - fsl,imx93-lcdif 148 then: 149 required: 150 - power-domains 151 - if: 152 properties: 153 compatible: 154 contains: 155 enum: 156 - fsl,imx23-lcdif 157 then: 158 properties: 159 interrupts: 160 minItems: 2 161 maxItems: 2 162 else: 163 properties: 164 interrupts: 165 maxItems: 1 166 167 - if: 168 not: 169 properties: 170 compatible: 171 contains: 172 enum: 173 - fsl,imx28-lcdif 174 then: 175 properties: 176 dmas: false 177 dma-names: false 178 179examples: 180 - | 181 #include <dt-bindings/clock/imx6sx-clock.h> 182 #include <dt-bindings/interrupt-controller/arm-gic.h> 183 184 display-controller@2220000 { 185 compatible = "fsl,imx6sx-lcdif"; 186 reg = <0x02220000 0x4000>; 187 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 188 clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>, 189 <&clks IMX6SX_CLK_LCDIF_APB>, 190 <&clks IMX6SX_CLK_DISPLAY_AXI>; 191 clock-names = "pix", "axi", "disp_axi"; 192 power-domains = <&pd_disp>; 193 194 port { 195 endpoint { 196 remote-endpoint = <&panel_in>; 197 }; 198 }; 199 }; 200 201... 202