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