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 74 display: 75 $ref: /schemas/types.yaml#/definitions/phandle 76 description: phandle to display panel 77 deprecated: true 78 79 display0: 80 $ref: panel/panel-common.yaml# 81 deprecated: true 82 83 lcd-supply: 84 deprecated: true 85 86required: 87 - compatible 88 - reg 89 - clocks 90 - interrupts 91 92additionalProperties: false 93 94allOf: 95 - if: 96 properties: 97 compatible: 98 contains: 99 const: fsl,imx6sx-lcdif 100 then: 101 properties: 102 clocks: 103 minItems: 2 104 maxItems: 3 105 clock-names: 106 minItems: 2 107 maxItems: 3 108 required: 109 - clock-names 110 - if: 111 properties: 112 compatible: 113 contains: 114 enum: 115 - fsl,imx8mp-lcdif 116 - fsl,imx93-lcdif 117 then: 118 properties: 119 clocks: 120 minItems: 3 121 maxItems: 3 122 clock-names: 123 minItems: 3 124 maxItems: 3 125 required: 126 - clock-names 127 - if: 128 not: 129 properties: 130 compatible: 131 contains: 132 enum: 133 - fsl,imx6sx-lcdif 134 - fsl,imx8mp-lcdif 135 - fsl,imx93-lcdif 136 then: 137 properties: 138 clocks: 139 maxItems: 1 140 clock-names: 141 maxItems: 1 142 - if: 143 properties: 144 compatible: 145 const: fsl,imx6sx-lcdif 146 then: 147 required: 148 - power-domains 149 - if: 150 properties: 151 compatible: 152 contains: 153 enum: 154 - fsl,imx6sl-lcdif 155 - fsl,imx8mm-lcdif 156 - fsl,imx8mn-lcdif 157 - fsl,imx8mp-lcdif 158 - fsl,imx93-lcdif 159 then: 160 required: 161 - power-domains 162 - if: 163 properties: 164 compatible: 165 contains: 166 enum: 167 - fsl,imx23-lcdif 168 then: 169 properties: 170 interrupts: 171 minItems: 2 172 maxItems: 2 173 else: 174 properties: 175 interrupts: 176 maxItems: 1 177 178 - if: 179 not: 180 properties: 181 compatible: 182 contains: 183 enum: 184 - fsl,imx28-lcdif 185 then: 186 properties: 187 dmas: false 188 dma-names: false 189 display: false 190 display0: false 191 lcd-supply: false 192 193 required: 194 - port 195 196examples: 197 - | 198 #include <dt-bindings/clock/imx6sx-clock.h> 199 #include <dt-bindings/interrupt-controller/arm-gic.h> 200 201 display-controller@2220000 { 202 compatible = "fsl,imx6sx-lcdif"; 203 reg = <0x02220000 0x4000>; 204 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 205 clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>, 206 <&clks IMX6SX_CLK_LCDIF_APB>, 207 <&clks IMX6SX_CLK_DISPLAY_AXI>; 208 clock-names = "pix", "axi", "disp_axi"; 209 power-domains = <&pd_disp>; 210 211 port { 212 endpoint { 213 remote-endpoint = <&panel_in>; 214 }; 215 }; 216 }; 217 218... 219