[U-Boot] [PATCH 1/2] ARM: tegra: enable LCD panel on Harmony

From: Stephen Warren swarren@nvidia.com
Signed-off-by: Stephen Warren swarren@nvidia.com --- board/nvidia/dts/tegra20-harmony.dts | 32 ++++++++++++++++++++++++++++++++ board/nvidia/harmony/harmony.c | 7 +++++++ include/configs/harmony.h | 10 ++++++++++ 3 files changed, 49 insertions(+)
diff --git a/board/nvidia/dts/tegra20-harmony.dts b/board/nvidia/dts/tegra20-harmony.dts index 7934e4a..b115f87 100644 --- a/board/nvidia/dts/tegra20-harmony.dts +++ b/board/nvidia/dts/tegra20-harmony.dts @@ -17,6 +17,17 @@ reg = <0x00000000 0x40000000>; };
+ host1x { + status = "okay"; + dc@54200000 { + status = "okay"; + rgb { + status = "okay"; + nvidia,panel = <&lcd_panel>; + }; + }; + }; + serial@70006300 { clock-frequency = < 216000000 >; }; @@ -70,4 +81,25 @@ power-gpios = <&gpio 70 0>; /* gpio PI6 */ bus-width = <8>; }; + + lcd_panel: panel { + clock = <42430000>; + xres = <1024>; + yres = <600>; + left-margin = <138>; + right-margin = <34>; + hsync-len = <136>; + lower-margin = <4>; + upper-margin = <21>; + vsync-len = <4>; + hsync-active-high; + vsyncx-active-high; + nvidia,bits-per-pixel = <16>; + nvidia,pwm = <&pwm 0 0>; + nvidia,backlight-enable-gpios = <&gpio 13 0>; /* PB5 */ + 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 = <0 0 200 0 0>; + }; }; diff --git a/board/nvidia/harmony/harmony.c b/board/nvidia/harmony/harmony.c index 3122441..dd8f99a 100644 --- a/board/nvidia/harmony/harmony.c +++ b/board/nvidia/harmony/harmony.c @@ -22,6 +22,7 @@ */
#include <common.h> +#include <lcd.h> #include <asm/io.h> #include <asm/arch/clock.h> #include <asm/arch/funcmux.h> @@ -59,3 +60,9 @@ void pin_mux_usb(void) /* USB2 PHY reset GPIO */ pinmux_tristate_disable(PINGRP_UAC); } + +void pin_mux_display(void) +{ + pinmux_set_func(PINGRP_SDC, PMUX_FUNC_PWM); + pinmux_tristate_disable(PINGRP_SDC); +} diff --git a/include/configs/harmony.h b/include/configs/harmony.h index 0c73f86..f3ef246 100644 --- a/include/configs/harmony.h +++ b/include/configs/harmony.h @@ -49,6 +49,7 @@ #define CONFIG_MACH_TYPE MACH_TYPE_HARMONY
#define CONFIG_BOARD_EARLY_INIT_F +#define CONFIG_BOARD_LATE_INIT /* Make sure LCD init is complete */
/* SD/MMC */ #define CONFIG_MMC @@ -83,6 +84,15 @@ #define CONFIG_CMD_NET #define CONFIG_CMD_DHCP
+/* LCD support */ +#define CONFIG_LCD +#define CONFIG_PWM_TEGRA +#define CONFIG_VIDEO_TEGRA +#define LCD_BPP LCD_COLOR16 +#define CONFIG_SYS_WHITE_ON_BLACK +#define CONFIG_CONSOLE_SCROLL_LINES 10 +#define CONFIG_LCD_DT_SIMPLEFB + #include "tegra-common-post.h"
#endif /* __CONFIG_H */

From: Stephen Warren swarren@nvidia.com
Signed-off-by: Stephen Warren swarren@nvidia.com --- board/nvidia/dts/tegra20-ventana.dts | 32 ++++++++++++++++++++++++++++++++ include/configs/ventana.h | 10 ++++++++++ 2 files changed, 42 insertions(+)
diff --git a/board/nvidia/dts/tegra20-ventana.dts b/board/nvidia/dts/tegra20-ventana.dts index e1a3d1e..1a526ba 100644 --- a/board/nvidia/dts/tegra20-ventana.dts +++ b/board/nvidia/dts/tegra20-ventana.dts @@ -16,6 +16,17 @@ reg = <0x00000000 0x40000000>; };
+ host1x { + status = "okay"; + dc@54200000 { + status = "okay"; + rgb { + status = "okay"; + nvidia,panel = <&lcd_panel>; + }; + }; + }; + serial@70006300 { clock-frequency = < 216000000 >; }; @@ -56,4 +67,25 @@ status = "okay"; bus-width = <8>; }; + + lcd_panel: panel { + clock = <72072000>; + 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; + vsync-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 = <0 0 200 0 0>; + }; }; diff --git a/include/configs/ventana.h b/include/configs/ventana.h index 41a7176..39ad77d 100644 --- a/include/configs/ventana.h +++ b/include/configs/ventana.h @@ -43,6 +43,7 @@ #define CONFIG_MACH_TYPE MACH_TYPE_VENTANA
#define CONFIG_BOARD_EARLY_INIT_F +#define CONFIG_BOARD_LATE_INIT /* Make sure LCD init is complete */
/* SD/MMC */ #define CONFIG_MMC @@ -73,6 +74,15 @@ /* USB keyboard */ #define CONFIG_USB_KEYBOARD
+/* LCD support */ +#define CONFIG_LCD +#define CONFIG_PWM_TEGRA +#define CONFIG_VIDEO_TEGRA +#define LCD_BPP LCD_COLOR16 +#define CONFIG_SYS_WHITE_ON_BLACK +#define CONFIG_CONSOLE_SCROLL_LINES 10 +#define CONFIG_LCD_DT_SIMPLEFB + #include "tegra-common-post.h"
#endif /* __CONFIG_H */

On 06/17/2013 03:06 PM, Stephen Warren wrote:
diff --git a/include/configs/harmony.h b/include/configs/harmony.h
+#define CONFIG_LCD_DT_SIMPLEFB
If you could delete that one line from this and patch 2.2 when you apply, that'd be great. Let me know if you want me to resend because of this.
participants (1)
-
Stephen Warren