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