ARM: tegra: enable LCD panel on Harmony
authorStephen Warren <swarren@nvidia.com>
Tue, 18 Jun 2013 15:46:51 +0000 (09:46 -0600)
committerTom Warren <twarren@nvidia.com>
Thu, 11 Jul 2013 21:15:16 +0000 (14:15 -0700)
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
board/nvidia/dts/tegra20-harmony.dts
board/nvidia/harmony/harmony.c
include/configs/harmony.h

index 7934e4a..b115f87 100644 (file)
                reg = <0x00000000 0x40000000>;
        };
 
                reg = <0x00000000 0x40000000>;
        };
 
+       host1x {
+               status = "okay";
+               dc@54200000 {
+                       status = "okay";
+                       rgb {
+                               status = "okay";
+                               nvidia,panel = <&lcd_panel>;
+                       };
+               };
+       };
+
        serial@70006300 {
                clock-frequency = < 216000000 >;
        };
        serial@70006300 {
                clock-frequency = < 216000000 >;
        };
                power-gpios = <&gpio 70 0>; /* gpio PI6 */
                bus-width = <8>;
        };
                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>;
+       };
 };
 };
index 3122441..dd8f99a 100644 (file)
@@ -22,6 +22,7 @@
  */
 
 #include <common.h>
  */
 
 #include <common.h>
+#include <lcd.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/funcmux.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);
 }
        /* 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);
+}
index 0c73f86..27aaf16 100644 (file)
@@ -49,6 +49,7 @@
 #define CONFIG_MACH_TYPE               MACH_TYPE_HARMONY
 
 #define CONFIG_BOARD_EARLY_INIT_F
 #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
 
 /* SD/MMC */
 #define CONFIG_MMC
 #define CONFIG_CMD_NET
 #define CONFIG_CMD_DHCP
 
 #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 */
 #include "tegra-common-post.h"
 
 #endif /* __CONFIG_H */