GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / display / atmel,lcdc.txt
1 Atmel LCDC Framebuffer
2 -----------------------------------------------------
3
4 Required properties:
5 - compatible :
6         "atmel,at91sam9261-lcdc" , 
7         "atmel,at91sam9263-lcdc" ,
8         "atmel,at91sam9g10-lcdc" ,
9         "atmel,at91sam9g45-lcdc" ,
10         "atmel,at91sam9g45es-lcdc" ,
11         "atmel,at91sam9rl-lcdc" ,
12         "atmel,at32ap-lcdc"
13 - reg : Should contain 1 register ranges(address and length).
14         Can contain an additional register range(address and length)
15         for fixed framebuffer memory. Useful for dedicated memories.
16 - interrupts : framebuffer controller interrupt
17 - display: a phandle pointing to the display node
18
19 Required nodes:
20 - display: a display node is required to initialize the lcd panel
21         This should be in the board dts.
22 - default-mode: a videomode within the display with timing parameters
23         as specified below.
24
25 Optional properties:
26 - lcd-supply: Regulator for LCD supply voltage.
27
28 Example:
29
30         fb0: fb@0x00500000 {
31                 compatible = "atmel,at91sam9g45-lcdc";
32                 reg = <0x00500000 0x1000>;
33                 interrupts = <23 3 0>;
34                 pinctrl-names = "default";
35                 pinctrl-0 = <&pinctrl_fb>;
36                 display = <&display0>;
37                 #address-cells = <1>;
38                 #size-cells = <1>;
39
40         };
41
42 Example for fixed framebuffer memory:
43
44         fb0: fb@0x00500000 {
45                 compatible = "atmel,at91sam9263-lcdc";
46                 reg = <0x00700000 0x1000 0x70000000 0x200000>;
47                 [...]
48         };
49
50 Atmel LCDC Display
51 -----------------------------------------------------
52 Required properties (as per of_videomode_helper):
53
54  - atmel,dmacon: dma controller configuration
55  - atmel,lcdcon2: lcd controller configuration
56  - atmel,guard-time: lcd guard time (Delay in frame periods)
57  - bits-per-pixel: lcd panel bit-depth.
58
59 Optional properties (as per of_videomode_helper):
60  - atmel,lcdcon-backlight: enable backlight
61  - atmel,lcdcon-backlight-inverted: invert backlight PWM polarity
62  - atmel,lcd-wiring-mode: lcd wiring mode "RGB" or "BRG"
63  - atmel,power-control-gpio: gpio to power on or off the LCD (as many as needed)
64
65 Example:
66         display0: display {
67                 bits-per-pixel = <32>;
68                 atmel,lcdcon-backlight;
69                 atmel,dmacon = <0x1>;
70                 atmel,lcdcon2 = <0x80008002>;
71                 atmel,guard-time = <9>;
72                 atmel,lcd-wiring-mode = <1>;
73
74                 display-timings {
75                         native-mode = <&timing0>;
76                         timing0: timing0 {
77                                 clock-frequency = <9000000>;
78                                 hactive = <480>;
79                                 vactive = <272>;
80                                 hback-porch = <1>;
81                                 hfront-porch = <1>;
82                                 vback-porch = <40>;
83                                 vfront-porch = <1>;
84                                 hsync-len = <45>;
85                                 vsync-len = <1>;
86                         };
87                 };
88         };