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

From: Stephen Warren swarren@nvidia.com
Signed-off-by: Stephen Warren swarren@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@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..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 */

From: Stephen Warren swarren@nvidia.com
Signed-off-by: Stephen Warren swarren@nvidia.com --- v2: Removed CONFIG_LCD_DT_SIMPLEFB --- board/nvidia/dts/tegra20-ventana.dts | 32 ++++++++++++++++++++++++++++++++ include/configs/ventana.h | 9 +++++++++ 2 files changed, 41 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..05e682c 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,14 @@ /* 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 + #include "tegra-common-post.h"
#endif /* __CONFIG_H */
participants (1)
-
Stephen Warren