[U-Boot] [PATCH V2 1/2] ARM: tegra: enable LCD panel on Harmony
Stephen Warren
swarren at wwwdotorg.org
Tue Jun 18 17:46:51 CEST 2013
From: Stephen Warren <swarren at nvidia.com>
Signed-off-by: Stephen Warren <swarren at nvidia.com>
---
v2: Removed CONFIG_LCD_DT_SIMPLEFB
---
board/nvidia/dts/tegra20-harmony.dts | 32 ++++++++++++++++++++++++++++++++
board/nvidia/harmony/harmony.c | 7 +++++++
include/configs/harmony.h | 9 +++++++++
3 files changed, 48 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 at 54200000 {
+ status = "okay";
+ rgb {
+ status = "okay";
+ nvidia,panel = <&lcd_panel>;
+ };
+ };
+ };
+
serial at 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..27aaf16 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,14 @@
#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
+
#include "tegra-common-post.h"
#endif /* __CONFIG_H */
--
1.8.1.5
More information about the U-Boot
mailing list