hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
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
87
* 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.
       Should be "fsl,imx8mq-lcdif" for i.MX8MQ.
- 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>;
           };
       };
   };
};