1*c66ec88fSEmmanuel Vadot* Freescale MXS LCD Interface (LCDIF) 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotNew bindings: 4*c66ec88fSEmmanuel Vadot============= 5*c66ec88fSEmmanuel VadotRequired properties: 6*c66ec88fSEmmanuel Vadot- compatible: Should be "fsl,imx23-lcdif" for i.MX23. 7*c66ec88fSEmmanuel Vadot Should be "fsl,imx28-lcdif" for i.MX28. 8*c66ec88fSEmmanuel Vadot Should be "fsl,imx6sx-lcdif" for i.MX6SX. 9*c66ec88fSEmmanuel Vadot Should be "fsl,imx8mq-lcdif" for i.MX8MQ. 10*c66ec88fSEmmanuel Vadot- reg: Address and length of the register set for LCDIF 11*c66ec88fSEmmanuel Vadot- interrupts: Should contain LCDIF interrupt 12*c66ec88fSEmmanuel Vadot- clocks: A list of phandle + clock-specifier pairs, one for each 13*c66ec88fSEmmanuel Vadot entry in 'clock-names'. 14*c66ec88fSEmmanuel Vadot- clock-names: A list of clock names. For MXSFB it should contain: 15*c66ec88fSEmmanuel Vadot - "pix" for the LCDIF block clock 16*c66ec88fSEmmanuel Vadot - (MX6SX-only) "axi", "disp_axi" for the bus interface clock 17*c66ec88fSEmmanuel Vadot 18*c66ec88fSEmmanuel VadotRequired sub-nodes: 19*c66ec88fSEmmanuel Vadot - port: The connection to an encoder chip. 20*c66ec88fSEmmanuel Vadot 21*c66ec88fSEmmanuel VadotExample: 22*c66ec88fSEmmanuel Vadot 23*c66ec88fSEmmanuel Vadot lcdif1: display-controller@2220000 { 24*c66ec88fSEmmanuel Vadot compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif"; 25*c66ec88fSEmmanuel Vadot reg = <0x02220000 0x4000>; 26*c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 27*c66ec88fSEmmanuel Vadot clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>, 28*c66ec88fSEmmanuel Vadot <&clks IMX6SX_CLK_LCDIF_APB>, 29*c66ec88fSEmmanuel Vadot <&clks IMX6SX_CLK_DISPLAY_AXI>; 30*c66ec88fSEmmanuel Vadot clock-names = "pix", "axi", "disp_axi"; 31*c66ec88fSEmmanuel Vadot 32*c66ec88fSEmmanuel Vadot port { 33*c66ec88fSEmmanuel Vadot parallel_out: endpoint { 34*c66ec88fSEmmanuel Vadot remote-endpoint = <&panel_in_parallel>; 35*c66ec88fSEmmanuel Vadot }; 36*c66ec88fSEmmanuel Vadot }; 37*c66ec88fSEmmanuel Vadot }; 38*c66ec88fSEmmanuel Vadot 39*c66ec88fSEmmanuel VadotDeprecated bindings: 40*c66ec88fSEmmanuel Vadot==================== 41*c66ec88fSEmmanuel VadotRequired properties: 42*c66ec88fSEmmanuel Vadot- compatible: Should be "fsl,imx23-lcdif" for i.MX23. 43*c66ec88fSEmmanuel Vadot Should be "fsl,imx28-lcdif" for i.MX28. 44*c66ec88fSEmmanuel Vadot- reg: Address and length of the register set for LCDIF 45*c66ec88fSEmmanuel Vadot- interrupts: Should contain LCDIF interrupts 46*c66ec88fSEmmanuel Vadot- display: phandle to display node (see below for details) 47*c66ec88fSEmmanuel Vadot 48*c66ec88fSEmmanuel Vadot* display node 49*c66ec88fSEmmanuel Vadot 50*c66ec88fSEmmanuel VadotRequired properties: 51*c66ec88fSEmmanuel Vadot- bits-per-pixel: <16> for RGB565, <32> for RGB888/666. 52*c66ec88fSEmmanuel Vadot- bus-width: number of data lines. Could be <8>, <16>, <18> or <24>. 53*c66ec88fSEmmanuel Vadot 54*c66ec88fSEmmanuel VadotRequired sub-node: 55*c66ec88fSEmmanuel Vadot- display-timings: Refer to binding doc display-timing.txt for details. 56*c66ec88fSEmmanuel Vadot 57*c66ec88fSEmmanuel VadotExamples: 58*c66ec88fSEmmanuel Vadot 59*c66ec88fSEmmanuel Vadotlcdif@80030000 { 60*c66ec88fSEmmanuel Vadot compatible = "fsl,imx28-lcdif"; 61*c66ec88fSEmmanuel Vadot reg = <0x80030000 2000>; 62*c66ec88fSEmmanuel Vadot interrupts = <38 86>; 63*c66ec88fSEmmanuel Vadot 64*c66ec88fSEmmanuel Vadot display: display { 65*c66ec88fSEmmanuel Vadot bits-per-pixel = <32>; 66*c66ec88fSEmmanuel Vadot bus-width = <24>; 67*c66ec88fSEmmanuel Vadot 68*c66ec88fSEmmanuel Vadot display-timings { 69*c66ec88fSEmmanuel Vadot native-mode = <&timing0>; 70*c66ec88fSEmmanuel Vadot timing0: timing0 { 71*c66ec88fSEmmanuel Vadot clock-frequency = <33500000>; 72*c66ec88fSEmmanuel Vadot hactive = <800>; 73*c66ec88fSEmmanuel Vadot vactive = <480>; 74*c66ec88fSEmmanuel Vadot hfront-porch = <164>; 75*c66ec88fSEmmanuel Vadot hback-porch = <89>; 76*c66ec88fSEmmanuel Vadot hsync-len = <10>; 77*c66ec88fSEmmanuel Vadot vback-porch = <23>; 78*c66ec88fSEmmanuel Vadot vfront-porch = <10>; 79*c66ec88fSEmmanuel Vadot vsync-len = <10>; 80*c66ec88fSEmmanuel Vadot hsync-active = <0>; 81*c66ec88fSEmmanuel Vadot vsync-active = <0>; 82*c66ec88fSEmmanuel Vadot de-active = <1>; 83*c66ec88fSEmmanuel Vadot pixelclk-active = <0>; 84*c66ec88fSEmmanuel Vadot }; 85*c66ec88fSEmmanuel Vadot }; 86*c66ec88fSEmmanuel Vadot }; 87*c66ec88fSEmmanuel Vadot}; 88