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

login
register
mail settings
Submitter Stephen Warren
Date June 17, 2013, 9:06 p.m.
Message ID <1371503220-18592-1-git-send-email-swarren@wwwdotorg.org>
Download mbox | patch
Permalink /patch/252062/
State Superseded
Delegated to: Tom Warren
Headers show

Comments

Stephen Warren - June 17, 2013, 9:06 p.m.
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(+)
Stephen Warren - June 17, 2013, 9:14 p.m.
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.

Patch

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 */