hc
2024-05-10 cde9070d9970eef1f7ec2360586c802a16230ad8
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
88
Atmel LCDC Framebuffer
-----------------------------------------------------
 
Required properties:
- compatible :
   "atmel,at91sam9261-lcdc" , 
   "atmel,at91sam9263-lcdc" ,
   "atmel,at91sam9g10-lcdc" ,
   "atmel,at91sam9g45-lcdc" ,
   "atmel,at91sam9g45es-lcdc" ,
   "atmel,at91sam9rl-lcdc" ,
   "atmel,at32ap-lcdc"
- reg : Should contain 1 register ranges(address and length).
   Can contain an additional register range(address and length)
   for fixed framebuffer memory. Useful for dedicated memories.
- interrupts : framebuffer controller interrupt
- display: a phandle pointing to the display node
 
Required nodes:
- display: a display node is required to initialize the lcd panel
   This should be in the board dts.
- default-mode: a videomode within the display with timing parameters
   as specified below.
 
Optional properties:
- lcd-supply: Regulator for LCD supply voltage.
 
Example:
 
   fb0: fb@00500000 {
       compatible = "atmel,at91sam9g45-lcdc";
       reg = <0x00500000 0x1000>;
       interrupts = <23 3 0>;
       pinctrl-names = "default";
       pinctrl-0 = <&pinctrl_fb>;
       display = <&display0>;
       #address-cells = <1>;
       #size-cells = <1>;
 
   };
 
Example for fixed framebuffer memory:
 
   fb0: fb@00500000 {
       compatible = "atmel,at91sam9263-lcdc";
       reg = <0x00700000 0x1000 0x70000000 0x200000>;
       [...]
   };
 
Atmel LCDC Display
-----------------------------------------------------
Required properties (as per of_videomode_helper):
 
 - atmel,dmacon: dma controller configuration
 - atmel,lcdcon2: lcd controller configuration
 - atmel,guard-time: lcd guard time (Delay in frame periods)
 - bits-per-pixel: lcd panel bit-depth.
 
Optional properties (as per of_videomode_helper):
 - atmel,lcdcon-backlight: enable backlight
 - atmel,lcdcon-backlight-inverted: invert backlight PWM polarity
 - atmel,lcd-wiring-mode: lcd wiring mode "RGB" or "BRG"
 - atmel,power-control-gpio: gpio to power on or off the LCD (as many as needed)
 
Example:
   display0: display {
       bits-per-pixel = <32>;
       atmel,lcdcon-backlight;
       atmel,dmacon = <0x1>;
       atmel,lcdcon2 = <0x80008002>;
       atmel,guard-time = <9>;
       atmel,lcd-wiring-mode = <1>;
 
       display-timings {
           native-mode = <&timing0>;
           timing0: timing0 {
               clock-frequency = <9000000>;
               hactive = <480>;
               vactive = <272>;
               hback-porch = <1>;
               hfront-porch = <1>;
               vback-porch = <40>;
               vfront-porch = <1>;
               hsync-len = <45>;
               vsync-len = <1>;
           };
       };
   };