hc
2023-05-31 43fd8d44e8182b691c8ee61d487cec02ca11afd2
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
Display Controller
------------------
 
(there isn't yet a generic binding in Linux, so this describes what is in
U-Boot, and may change based on Linux activity)
 
The device node for a display device is as described in the document
"Open Firmware Recommended Practice : Universal Serial Bus" with the
following modifications and additions :
 
Required properties :
 - compatible : Should be "nvidia,tegra20-dc"
 
Required subnode 'rgb' is as follows:
 
Required properties (rgb) :
 - nvidia,panel : phandle of LCD panel information
 
 
The panel node describes the panel itself. This has the properties listed in
displaymode.txt as well as:
 
Required properties (panel) :
 - nvidia,bits-per-pixel: number of bits per pixel (depth)
 - nvidia,pwm : pwm to use to set display contrast (see tegra20-pwm.txt)
 - nvidia,panel-timings: 4 cells containing required timings in ms:
   * delay before asserting panel_vdd
   * delay between panel_vdd-rise and data-rise
   * delay between data-rise and backlight_vdd-rise
   * delay between backlight_vdd and pwm-rise
   * delay between pwm-rise and backlight_en-rise
 
Optional GPIO properies all have (phandle, GPIO number, flags):
 - nvidia,backlight-enable-gpios: backlight enable GPIO
 - nvidia,lvds-shutdown-gpios: LVDS power shutdown GPIO
 - nvidia,backlight-vdd-gpios: backlight power GPIO
 - nvidia,panel-vdd-gpios: panel power GPIO
 
Example:
 
host1x {
   compatible = "nvidia,tegra20-host1x", "simple-bus";
   reg = <0x50000000 0x00024000>;
   interrupts = <0 65 0x04   /* mpcore syncpt */
           0 67 0x04>; /* mpcore general */
 
   #address-cells = <1>;
   #size-cells = <1>;
   status = "okay";
 
   ranges = <0x54000000 0x54000000 0x04000000>;
 
   dc@54200000 {
       compatible = "nvidia,tegra20-dc";
       reg = <0x54200000 0x00040000>;
       interrupts = <0 73 0x04>;
       status = "okay";
 
       rgb {
           status = "okay";
           nvidia,panel = <&lcd_panel>;
       };
   };
};
 
lcd_panel: panel {
   /* Seaboard has 1366x768 */
   clock = <70600000>;
   xres = <1366>;
   yres = <768>;
   left-margin = <58>;
   right-margin = <58>;
   hsync-len = <58>;
   lower-margin = <4>;
   upper-margin = <4>;
   vsync-len = <4>;
   hsync-active-high;
   nvidia,bits-per-pixel = <16>;
   nvidia,pwm = <&pwm 2 0>;
   nvidia,backlight-enable-gpios = <&gpio 28 0>;    /* PD4 */
   nvidia,lvds-shutdown-gpios = <&gpio 10 0>;    /* PB2 */
   nvidia,backlight-vdd-gpios = <&gpio 176 0>;    /* PW0 */
   nvidia,panel-vdd-gpios = <&gpio 22 0>;        /* PC6 */
   nvidia,panel-timings = <400 4 203 17 15>;
};