tt01: add video support
authorHelmut Raiger <helmut.raiger@hale.at>
Wed, 15 Feb 2012 22:40:12 +0000 (22:40 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Mon, 27 Feb 2012 20:19:25 +0000 (21:19 +0100)
The video setup for the Epson display is provided. Addtionally
some extra info is displayed next to the Linux logo.
Make get_cpu_rev() publicly available (added to sys_proto.h).

Signed-off-by: Helmut Raiger <helmut.raiger@hale.at>
arch/arm/include/asm/arch-mx31/sys_proto.h
board/hale/tt01/tt01.c
include/configs/tt01.h

index ded481c4339e77d3aafd69cf84ae5f915104e492..f3fa04d7106525cad4a727946df3b033fbcb395d 100644 (file)
@@ -32,4 +32,5 @@ struct mxc_weimcs {
 
 void mxc_setup_weimcs(int cs, const struct mxc_weimcs *weimcs);
 int mxc_mmc_init(bd_t *bis);
+u32 get_cpu_rev(void);
 #endif
index ed3fa6ef9a760fda700bb5b68d3e067ad0a5fc86..02e75edb4028eea1f52c895ba54a70107214c3b6 100644 (file)
@@ -228,3 +228,24 @@ int board_eth_init(bd_t *bis)
 #endif
        return rc;
 }
+
+#ifdef CONFIG_CONSOLE_EXTRA_INFO
+void video_get_info_str(int line_number, char *info)
+{
+       u32 srev = get_cpu_rev();
+
+       switch (line_number) {
+       case 2:
+               sprintf(info, " CPU  : Freescale i.MX31 rev %d.%d%s at %d MHz",
+                       (srev & 0xF0) >> 4, (srev & 0x0F),
+                       ((srev & 0x8000) ? " unknown" : ""),
+               mxc_get_clock(MXC_ARM_CLK) / 1000000);
+               break;
+       case 3:
+               strcpy(info, " " BOARD_STRING);
+               break;
+       default:
+               info[0] = 0;
+       }
+}
+#endif
index fda5d6c0c36e39057f065662e9033ea4469a4c91..2e83cb2d02fd3402b0bbdcd08a79f762a95b60eb 100644 (file)
 #define CONFIG_GENERIC_MMC
 #define CONFIG_MXC_MMC
 #define CONFIG_MXC_MCI_REGS_BASE       SDHC1_BASE_ADDR
+
+/* video support */
+#define CONFIG_VIDEO
+#define CONFIG_VIDEO_MX3
+#define CONFIG_CFB_CONSOLE
+#define CONFIG_VIDEO_LOGO
+#define CONFIG_VIDEO_SW_CURSOR
+#define CONFIG_CONSOLE_EXTRA_INFO /* display additional board info */
+#define CONFIG_VGA_AS_SINGLE_DEVICE /* display is an output only device */
+/* allow stdin, stdout and stderr variables to redirect output */
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV
+
+/* allow decompressing max. 4MB */
+#define CONFIG_VIDEO_BMP_GZIP
+/* this is not only used by cfb_console.c for the logo, but also in cmd_bmp.c */
+#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (4*1024*1024)
+
 /*
  * Command definition
  */
  * the NAND_CMD_LOCK_STATUS command, however the NFC of i.MX31 supports
  * a software locking scheme.
  */
+#define CONFIG_CMD_BMP
 
 #define CONFIG_BOOTDELAY       3
 
  * currently a default setting for booting via script is implemented
  *   set user to login name and serverip to tftp host, define your
  *   boot behaviour in bootscript.loginname
+ *
+ * TT-01 board specific TFT setup (used by drivers/video/mx3fb.c)
+ *
+ *  This set-up is for the L5F30947T04 by Epson, which is
+ *   800x480, 33MHz pixel clock, 60Hz vsync, 31.6kHz hsync
+ *  sync must be set to: DI_D3_DRDY_SHARP_POL | DI_D3_CLK_POL
  */
 #define        CONFIG_EXTRA_ENV_SETTINGS \
-       "bootcmd=dhcp bootscript.$(user); source\0"
+"videomode=epson\0" \
+"epson=video=ctfb:x:800,y:480,depth:16,mode:0,pclk:30076," \
+       "le:215,ri:1,up:32,lo:13,hs:7,vs:10,sync:100663296,vmode:0\0" \
+"bootcmd=dhcp bootscript.$(user); source\0"
 
 #define CONFIG_BOOTP_SERVERIP /* tftp serverip not overruled by dhcp server */
 #define CONFIG_BOOTP_SEND_HOSTNAME /* if env-var 'hostname' is set, send it */