summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/display/mxsfb.txt
blob: 472e1ea6c591e8cfa174a31f078b891c3de3e929 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
* Freescale MXS LCD Interface (LCDIF)

New bindings:
=============
Required properties:
- compatible:	Should be "fsl,imx23-lcdif" for i.MX23.
		Should be "fsl,imx28-lcdif" for i.MX28.
		Should be "fsl,imx6sx-lcdif" for i.MX6SX.
- reg:		Address and length of the register set for LCDIF
- interrupts:	Should contain LCDIF interrupt
- clocks:	A list of phandle + clock-specifier pairs, one for each
		entry in 'clock-names'.
- clock-names:	A list of clock names. For MXSFB it should contain:
    - "pix" for the LCDIF block clock
    - (MX6SX-only) "axi", "disp_axi" for the bus interface clock

Required sub-nodes:
  - port: The connection to an encoder chip.

Example:

	lcdif1: display-controller@2220000 {
		compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
		reg = <0x02220000 0x4000>;
		interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>,
			 <&clks IMX6SX_CLK_LCDIF_APB>,
			 <&clks IMX6SX_CLK_DISPLAY_AXI>;
		clock-names = "pix", "axi", "disp_axi";

		port {
			parallel_out: endpoint {
				remote-endpoint = <&panel_in_parallel>;
			};
		};
	};

Deprecated bindings:
====================
Required properties:
- compatible:	Should be "fsl,imx23-lcdif" for i.MX23.
		Should be "fsl,imx28-lcdif" for i.MX28.
- reg:		Address and length of the register set for LCDIF
- interrupts:	Should contain LCDIF interrupts
- display:	phandle to display node (see below for details)

* display node

Required properties:
- bits-per-pixel:	<16> for RGB565, <32> for RGB888/666.
- bus-width:		number of data lines.  Could be <8>, <16>, <18> or <24>.

Required sub-node:
- display-timings:	Refer to binding doc display-timing.txt for details.

Examples:

lcdif@80030000 {
	compatible = "fsl,imx28-lcdif";
	reg = <0x80030000 2000>;
	interrupts = <38 86>;

	display: display {
		bits-per-pixel = <32>;
		bus-width = <24>;

		display-timings {
			native-mode = <&timing0>;
			timing0: timing0 {
				clock-frequency = <33500000>;
				hactive = <800>;
				vactive = <480>;
				hfront-porch = <164>;
				hback-porch = <89>;
				hsync-len = <10>;
				vback-porch = <23>;
				vfront-porch = <10>;
				vsync-len = <10>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};
		};
	};
};