1*3b1b42fdSLaurent Pinchart# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*3b1b42fdSLaurent Pinchart%YAML 1.2 3*3b1b42fdSLaurent Pinchart--- 4*3b1b42fdSLaurent Pinchart$id: http://devicetree.org/schemas/display/fsl,lcdif.yaml# 5*3b1b42fdSLaurent Pinchart$schema: http://devicetree.org/meta-schemas/core.yaml# 6*3b1b42fdSLaurent Pinchart 7*3b1b42fdSLaurent Pincharttitle: Freescale/NXP i.MX LCD Interface (LCDIF) 8*3b1b42fdSLaurent Pinchart 9*3b1b42fdSLaurent Pinchartmaintainers: 10*3b1b42fdSLaurent Pinchart - Marek Vasut <marex@denx.de> 11*3b1b42fdSLaurent Pinchart - Stefan Agner <stefan@agner.ch> 12*3b1b42fdSLaurent Pinchart 13*3b1b42fdSLaurent Pinchartdescription: | 14*3b1b42fdSLaurent Pinchart (e)LCDIF display controller found in the Freescale/NXP i.MX SoCs. 15*3b1b42fdSLaurent Pinchart 16*3b1b42fdSLaurent Pinchartproperties: 17*3b1b42fdSLaurent Pinchart compatible: 18*3b1b42fdSLaurent Pinchart enum: 19*3b1b42fdSLaurent Pinchart - fsl,imx23-lcdif 20*3b1b42fdSLaurent Pinchart - fsl,imx28-lcdif 21*3b1b42fdSLaurent Pinchart - fsl,imx6sx-lcdif 22*3b1b42fdSLaurent Pinchart - fsl,imx8mq-lcdif 23*3b1b42fdSLaurent Pinchart 24*3b1b42fdSLaurent Pinchart reg: 25*3b1b42fdSLaurent Pinchart maxItems: 1 26*3b1b42fdSLaurent Pinchart 27*3b1b42fdSLaurent Pinchart clocks: 28*3b1b42fdSLaurent Pinchart items: 29*3b1b42fdSLaurent Pinchart - description: Pixel clock 30*3b1b42fdSLaurent Pinchart - description: Bus clock 31*3b1b42fdSLaurent Pinchart - description: Display AXI clock 32*3b1b42fdSLaurent Pinchart minItems: 1 33*3b1b42fdSLaurent Pinchart 34*3b1b42fdSLaurent Pinchart clock-names: 35*3b1b42fdSLaurent Pinchart items: 36*3b1b42fdSLaurent Pinchart - const: pix 37*3b1b42fdSLaurent Pinchart - const: axi 38*3b1b42fdSLaurent Pinchart - const: disp_axi 39*3b1b42fdSLaurent Pinchart minItems: 1 40*3b1b42fdSLaurent Pinchart 41*3b1b42fdSLaurent Pinchart interrupts: 42*3b1b42fdSLaurent Pinchart maxItems: 1 43*3b1b42fdSLaurent Pinchart 44*3b1b42fdSLaurent Pinchart port: 45*3b1b42fdSLaurent Pinchart $ref: /schemas/graph.yaml#/properties/port 46*3b1b42fdSLaurent Pinchart description: The LCDIF output port 47*3b1b42fdSLaurent Pinchart 48*3b1b42fdSLaurent Pinchartrequired: 49*3b1b42fdSLaurent Pinchart - compatible 50*3b1b42fdSLaurent Pinchart - reg 51*3b1b42fdSLaurent Pinchart - clocks 52*3b1b42fdSLaurent Pinchart - interrupts 53*3b1b42fdSLaurent Pinchart - port 54*3b1b42fdSLaurent Pinchart 55*3b1b42fdSLaurent PinchartadditionalProperties: false 56*3b1b42fdSLaurent Pinchart 57*3b1b42fdSLaurent PinchartallOf: 58*3b1b42fdSLaurent Pinchart - if: 59*3b1b42fdSLaurent Pinchart properties: 60*3b1b42fdSLaurent Pinchart compatible: 61*3b1b42fdSLaurent Pinchart contains: 62*3b1b42fdSLaurent Pinchart const: fsl,imx6sx-lcdif 63*3b1b42fdSLaurent Pinchart then: 64*3b1b42fdSLaurent Pinchart properties: 65*3b1b42fdSLaurent Pinchart clocks: 66*3b1b42fdSLaurent Pinchart minItems: 2 67*3b1b42fdSLaurent Pinchart maxItems: 3 68*3b1b42fdSLaurent Pinchart clock-names: 69*3b1b42fdSLaurent Pinchart minItems: 2 70*3b1b42fdSLaurent Pinchart maxItems: 3 71*3b1b42fdSLaurent Pinchart required: 72*3b1b42fdSLaurent Pinchart - clock-names 73*3b1b42fdSLaurent Pinchart else: 74*3b1b42fdSLaurent Pinchart properties: 75*3b1b42fdSLaurent Pinchart clocks: 76*3b1b42fdSLaurent Pinchart maxItems: 1 77*3b1b42fdSLaurent Pinchart clock-names: 78*3b1b42fdSLaurent Pinchart maxItems: 1 79*3b1b42fdSLaurent Pinchart 80*3b1b42fdSLaurent Pinchartexamples: 81*3b1b42fdSLaurent Pinchart - | 82*3b1b42fdSLaurent Pinchart #include <dt-bindings/clock/imx6sx-clock.h> 83*3b1b42fdSLaurent Pinchart #include <dt-bindings/interrupt-controller/arm-gic.h> 84*3b1b42fdSLaurent Pinchart 85*3b1b42fdSLaurent Pinchart display-controller@2220000 { 86*3b1b42fdSLaurent Pinchart compatible = "fsl,imx6sx-lcdif"; 87*3b1b42fdSLaurent Pinchart reg = <0x02220000 0x4000>; 88*3b1b42fdSLaurent Pinchart interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 89*3b1b42fdSLaurent Pinchart clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>, 90*3b1b42fdSLaurent Pinchart <&clks IMX6SX_CLK_LCDIF_APB>, 91*3b1b42fdSLaurent Pinchart <&clks IMX6SX_CLK_DISPLAY_AXI>; 92*3b1b42fdSLaurent Pinchart clock-names = "pix", "axi", "disp_axi"; 93*3b1b42fdSLaurent Pinchart 94*3b1b42fdSLaurent Pinchart port { 95*3b1b42fdSLaurent Pinchart endpoint { 96*3b1b42fdSLaurent Pinchart remote-endpoint = <&panel_in>; 97*3b1b42fdSLaurent Pinchart }; 98*3b1b42fdSLaurent Pinchart }; 99*3b1b42fdSLaurent Pinchart }; 100*3b1b42fdSLaurent Pinchart 101*3b1b42fdSLaurent Pinchart... 102