aboutsummaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/display/atmel,lcdc.txt
blob: 1a21202778ee354af7e5fc1f3d9ce65b0a7a964a (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
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@0x00500000 {
		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@0x00500000 {
		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>;
			};
		};
	};