Patchwork [U-Boot,3/3] tegra: Enable LCD on TEC

login
register
mail settings
Submitter Thierry Reding
Date Nov. 23, 2012, 10:58 a.m.
Message ID <1353668331-7667-3-git-send-email-thierry.reding@avionic-design.de>
Download mbox | patch
Permalink /patch/201291/
State Accepted
Delegated to: Tom Warren
Headers show

Comments

Thierry Reding - Nov. 23, 2012, 10:58 a.m.
The TEC ships with a 7" LCD panel that provides a resolution of 800x480
pixels. Add a corresponding panel description to the device tree and
enable LCD support in the configuration.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
---
 board/avionic-design/dts/tegra20-tec.dts | 32 ++++++++++++++++++++++++++++++++
 include/configs/tec.h                    | 15 ++++++++++++++-
 2 files changed, 46 insertions(+), 1 deletion(-)
Simon Glass - Nov. 28, 2012, 8:46 p.m.
Hi Thierry,

On Fri, Nov 23, 2012 at 2:58 AM, Thierry Reding
<thierry.reding@avionic-design.de> wrote:
> The TEC ships with a 7" LCD panel that provides a resolution of 800x480
> pixels. Add a corresponding panel description to the device tree and
> enable LCD support in the configuration.
>
> Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
> ---
>  board/avionic-design/dts/tegra20-tec.dts | 32 ++++++++++++++++++++++++++++++++
>  include/configs/tec.h                    | 15 ++++++++++++++-
>  2 files changed, 46 insertions(+), 1 deletion(-)
>
> diff --git a/board/avionic-design/dts/tegra20-tec.dts b/board/avionic-design/dts/tegra20-tec.dts
> index 50ea3b5..cdb7527 100644
> --- a/board/avionic-design/dts/tegra20-tec.dts
> +++ b/board/avionic-design/dts/tegra20-tec.dts
> @@ -24,6 +24,19 @@
>                 };
>         };
>
> +       host1x {
> +               status = "okay";
> +
> +               dc@54200000 {
> +                       status = "okay";
> +
> +                       rgb {
> +                               nvidia,panel = <&lcd_panel>;
> +                               status = "okay";
> +                       };
> +               };
> +       };
> +
>         clock@60006000 {
>                 clocks = <&clk_32k &osc>;
>         };
> @@ -66,4 +79,23 @@
>                         compatible = "hynix,hy27uf4g2b", "nand-flash";
>                 };
>         };
> +
> +       lcd_panel: panel {
> +               clock = <33260000>;
> +               xres = <800>;
> +               yres = <480>;
> +               left-margin = <120>;
> +               right-margin = <120>;
> +               hsync-len = <16>;
> +               lower-margin = <15>;
> +               upper-margin = <15>;
> +               vsync-len = <15>;
> +
> +               nvidia,bits-per-pixel = <16>;
> +               nvidia,pwm = <&pwm 0 500000>;
> +               nvidia,backlight-enable-gpios = <&gpio 13 0>; /* PB5 */
> +               nvidia,backlight-vdd-gpios = <&gpio 176 0>; /* PW0 */
> +               nvidia,lvds-shutdown-gpios = <&gpio 10 0>; /* PB2 */
> +               nvidia,panel-timings = <0 0 0 0>;
> +       };
>  };
> diff --git a/include/configs/tec.h b/include/configs/tec.h
> index 200cf66..815afa6 100644
> --- a/include/configs/tec.h
> +++ b/include/configs/tec.h
> @@ -36,13 +36,13 @@
>  /* High-level configuration options */
>  #define V_PROMPT                       "Tegra20 (TEC) # "
>  #define CONFIG_TEGRA_BOARD_STRING      "Avionic Design Tamonten Evaluation Carrier"
> -#define CONFIG_SYS_BOARD_ODMDATA       0x2b0d8011

This has an unrelated patch, but I guess that doesn't matter.

>
>  /* Board-specific serial config */
>  #define CONFIG_TEGRA_ENABLE_UARTD      /* UARTD: debug UART */
>  #define CONFIG_SYS_NS16550_COM1                NV_PA_APB_UARTD_BASE
>
>  #define CONFIG_BOARD_EARLY_INIT_F
> +#define CONFIG_BOARD_LATE_INIT
>
>  /* SD/MMC */
>  #define CONFIG_MMC
> @@ -85,6 +85,19 @@
>         "ext2load mmc 0 0x17000000 /boot/uImage;"       \
>         "bootm"
>
> +#undef TEGRA_DEVICE_SETTINGS
> +#define TEGRA_DEVICE_SETTINGS  \
> +       "stdin=serial\0"        \
> +       "stdout=serial,lcd\0"   \
> +       "stderr=serial,lcd\0"
> +
> +/* LCD support */
> +#define CONFIG_LCD
> +#define CONFIG_PWM_TEGRA
> +#define CONFIG_VIDEO_TEGRA
> +#define LCD_BPP LCD_COLOR16
> +#define CONFIG_SYS_WHITE_ON_BLACK
> +
>  #include "tegra-common-post.h"
>
>  #endif /* __CONFIG_H */
> --
> 1.8.0
>

Regards,
Simon

Patch

diff --git a/board/avionic-design/dts/tegra20-tec.dts b/board/avionic-design/dts/tegra20-tec.dts
index 50ea3b5..cdb7527 100644
--- a/board/avionic-design/dts/tegra20-tec.dts
+++ b/board/avionic-design/dts/tegra20-tec.dts
@@ -24,6 +24,19 @@ 
 		};
 	};
 
+	host1x {
+		status = "okay";
+
+		dc@54200000 {
+			status = "okay";
+
+			rgb {
+				nvidia,panel = <&lcd_panel>;
+				status = "okay";
+			};
+		};
+	};
+
 	clock@60006000 {
 		clocks = <&clk_32k &osc>;
 	};
@@ -66,4 +79,23 @@ 
 			compatible = "hynix,hy27uf4g2b", "nand-flash";
 		};
 	};
+
+	lcd_panel: panel {
+		clock = <33260000>;
+		xres = <800>;
+		yres = <480>;
+		left-margin = <120>;
+		right-margin = <120>;
+		hsync-len = <16>;
+		lower-margin = <15>;
+		upper-margin = <15>;
+		vsync-len = <15>;
+
+		nvidia,bits-per-pixel = <16>;
+		nvidia,pwm = <&pwm 0 500000>;
+		nvidia,backlight-enable-gpios = <&gpio 13 0>; /* PB5 */
+		nvidia,backlight-vdd-gpios = <&gpio 176 0>; /* PW0 */
+		nvidia,lvds-shutdown-gpios = <&gpio 10 0>; /* PB2 */
+		nvidia,panel-timings = <0 0 0 0>;
+	};
 };
diff --git a/include/configs/tec.h b/include/configs/tec.h
index 200cf66..815afa6 100644
--- a/include/configs/tec.h
+++ b/include/configs/tec.h
@@ -36,13 +36,13 @@ 
 /* High-level configuration options */
 #define V_PROMPT			"Tegra20 (TEC) # "
 #define CONFIG_TEGRA_BOARD_STRING	"Avionic Design Tamonten Evaluation Carrier"
-#define CONFIG_SYS_BOARD_ODMDATA	0x2b0d8011
 
 /* Board-specific serial config */
 #define CONFIG_TEGRA_ENABLE_UARTD	/* UARTD: debug UART */
 #define CONFIG_SYS_NS16550_COM1		NV_PA_APB_UARTD_BASE
 
 #define CONFIG_BOARD_EARLY_INIT_F
+#define CONFIG_BOARD_LATE_INIT
 
 /* SD/MMC */
 #define CONFIG_MMC
@@ -85,6 +85,19 @@ 
 	"ext2load mmc 0 0x17000000 /boot/uImage;"	\
 	"bootm"
 
+#undef TEGRA_DEVICE_SETTINGS
+#define TEGRA_DEVICE_SETTINGS	\
+	"stdin=serial\0"	\
+	"stdout=serial,lcd\0"	\
+	"stderr=serial,lcd\0"
+
+/* LCD support */
+#define CONFIG_LCD
+#define CONFIG_PWM_TEGRA
+#define CONFIG_VIDEO_TEGRA
+#define LCD_BPP LCD_COLOR16
+#define CONFIG_SYS_WHITE_ON_BLACK
+
 #include "tegra-common-post.h"
 
 #endif /* __CONFIG_H */