Merge branch 'master' of git://git.denx.de/u-boot-arm

This commit is contained in:
Tom Rini
2012-12-22 05:55:19 -07:00
163 changed files with 8453 additions and 1096 deletions

View File

@@ -15,3 +15,8 @@ i.MX5x SoCs.
mode), which causes the effect of this failure to be much lower (in terms
of frequency deviation), avoiding system failure, or at least decreasing
the likelihood of system failure.
1.2 CONFIG_SYS_MAIN_PWR_ON: Trigger MAIN_PWR_ON upon startup.
This option should be enabled for boards having a SYS_ON_OFF_CTL signal
connected to GPIO1[23] and triggering the MAIN_PWR_ON signal like in the
reference designs.

View File

@@ -0,0 +1,18 @@
Tegra SoC PWFM controller
Required properties:
- compatible: should be one of:
- "nvidia,tegra20-pwm"
- "nvidia,tegra30-pwm"
- reg: physical base address and length of the controller's registers
- #pwm-cells: On Tegra the number of cells used to specify a PWM is 2. The
first cell specifies the per-chip index of the PWM to use and the second
cell is the period in nanoseconds.
Example:
pwm: pwm@7000a000 {
compatible = "nvidia,tegra20-pwm";
reg = <0x7000a000 0x100>;
#pwm-cells = <2>;
};

View File

@@ -0,0 +1,42 @@
videomode bindings
==================
(from http://lists.freedesktop.org/archives/dri-devel/2012-July/024875.html)
Required properties:
- xres, yres: Display resolution
- left-margin, right-margin, hsync-len: Horizontal Display timing
parameters in pixels
- upper-margin, lower-margin, vsync-len: Vertical display timing
parameters in lines
- clock: display clock in Hz
Optional properties:
- width-mm, height-mm: Display dimensions in mm
- hsync-active-high (bool): Hsync pulse is active high
- vsync-active-high (bool): Vsync pulse is active high
- interlaced (bool): This is an interlaced mode
- doublescan (bool): This is a doublescan mode
There are different ways of describing a display mode. The devicetree
representation corresponds to the one used by the Linux Framebuffer
framework described here in Documentation/fb/framebuffer.txt. This
representation has been chosen because it's the only format which does
not allow for inconsistent parameters. Unlike the Framebuffer framework
the devicetree has the clock in Hz instead of ps.
Example:
display@0 {
/* 1920x1080p24 */
clock = <52000000>;
xres = <1920>;
yres = <1080>;
left-margin = <25>;
right-margin = <25>;
hsync-len = <25>;
lower-margin = <2>;
upper-margin = <2>;
vsync-len = <2>;
hsync-active-high;
};

View File

@@ -0,0 +1,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>;
};