[U-Boot] [PATCH v2 4/4] OMAP3: add video support to the mcx board
Stefano Babic
sbabic at denx.de
Sun Oct 21 11:56:07 CEST 2012
Add video support to the board with the display
focaltech etm070003dh6.
Signed-off-by: Stefano Babic <sbabic at denx.de>
---
Changes in v2:
- Add define to set the address of the framebuffer (Tom Rini)
board/htkw/mcx/mcx.c | 41 +++++++++++++++++++++++++++++++++++++++++
board/htkw/mcx/mcx.h | 2 ++
include/configs/mcx.h | 16 +++++++++++++++-
3 files changed, 58 insertions(+), 1 deletion(-)
diff --git a/board/htkw/mcx/mcx.c b/board/htkw/mcx/mcx.c
index 1f9840c..9fe6408 100644
--- a/board/htkw/mcx/mcx.c
+++ b/board/htkw/mcx/mcx.c
@@ -27,6 +27,8 @@
#include <asm/mach-types.h>
#include <asm/gpio.h>
#include <asm/omap_gpio.h>
+#include <asm/arch/dss.h>
+#include <asm/arch/clocks.h>
#include "errno.h"
#include <i2c.h>
#ifdef CONFIG_USB_EHCI
@@ -38,6 +40,10 @@
DECLARE_GLOBAL_DATA_PTR;
#define HOT_WATER_BUTTON 42
+#define LCD_OUTPUT 55
+
+/* Address of the framebuffer in RAM. */
+#define FB_START_ADDRESS 0x88000000
#ifdef CONFIG_USB_EHCI
static struct omap_usbhs_board_data usbhs_bdata = {
@@ -67,6 +73,8 @@ int board_init(void)
/* boot param addr */
gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
+ gpio_direction_output(LCD_OUTPUT, 0);
+
return 0;
}
@@ -109,3 +117,36 @@ int board_mmc_init(bd_t *bis)
return omap_mmc_init(0, 0, 0);
}
#endif
+
+#if defined(CONFIG_VIDEO) && !defined(CONFIG_SPL_BUILD)
+
+static struct panel_config lcd_cfg = {
+ .timing_h = PANEL_TIMING_H(40, 40, 48),
+ .timing_v = PANEL_TIMING_V(29, 13, 3),
+ .pol_freq = 0x00003000, /* Pol Freq */
+ .divisor = 0x0001000E,
+ .panel_type = 0x01, /* TFT */
+ .data_lines = 0x03, /* 24 Bit RGB */
+ .load_mode = 0x02, /* Frame Mode */
+ .panel_color = 0,
+ .lcd_size = PANEL_LCD_SIZE(800, 480),
+};
+
+int board_video_init(void)
+{
+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
+ void *fb;
+
+ fb = (void *)FB_START_ADDRESS;
+
+ lcd_cfg.frame_buffer = fb;
+
+ setbits_le32(&prcm_base->fclken_dss, FCK_DSS_ON);
+ setbits_le32(&prcm_base->iclken_dss, ICK_DSS_ON);
+
+ omap3_dss_panel_config(&lcd_cfg);
+ omap3_dss_enable();
+
+ return 0;
+}
+#endif
diff --git a/board/htkw/mcx/mcx.h b/board/htkw/mcx/mcx.h
index f9601c6..0d4c642 100644
--- a/board/htkw/mcx/mcx.h
+++ b/board/htkw/mcx/mcx.h
@@ -264,6 +264,8 @@ const omap3_sysinfo sysinfo = {
MUX_VAL(CP(I2C3_SDA), (IEN | PTU | EN | M0)) \
MUX_VAL(CP(I2C4_SCL), (IEN | PTU | EN | M0)) \
MUX_VAL(CP(I2C4_SDA), (IEN | PTU | EN | M0)) \
+ MUX_VAL(CP(HDQ_SIO), (IEN | PTU | EN | M4)) \
+ /* GPIO_170 Touchscreen ISR */\
/* McSPI */\
MUX_VAL(CP(MCSPI1_CLK), (IEN | PTD | DIS | M0)) \
MUX_VAL(CP(MCSPI1_SIMO), (IEN | PTD | DIS | M0)) \
diff --git a/include/configs/mcx.h b/include/configs/mcx.h
index 96e1059..bf49cc1 100644
--- a/include/configs/mcx.h
+++ b/include/configs/mcx.h
@@ -181,7 +181,7 @@
#define CONFIG_JFFS2_PART_SIZE 0xf980000 /* sz of jffs2 part */
/* Environment information */
-#define CONFIG_BOOTDELAY 10
+#define CONFIG_BOOTDELAY 3
#define CONFIG_BOOTFILE "uImage"
@@ -257,6 +257,10 @@
"ubi readvol ${loadaddr} kernel;" \
"run addtty addmtd addfb addeth addmisc;" \
"bootm ${loadaddr}\0" \
+ "preboot=ubi part nand0,7;" \
+ "ubi readvol ${loadaddr} splash;" \
+ "bmp display ${loadaddr};" \
+ "gpio set 55\0" \
"swupdate_args=setenv bootargs root=/dev/ram " \
"quiet loglevel=1 " \
"consoleblank=0 ${swupdate_misc}\0" \
@@ -303,6 +307,7 @@
#define CONFIG_SYS_LOAD_ADDR (OMAP34XX_SDRC_CS0) /* default load */
/* address */
+#define CONFIG_PREBOOT
/*
* AM3517 has 12 GP timers, they can be driven by the system clock
@@ -422,4 +427,13 @@
#define CONFIG_NET_RETRY_COUNT 10
#endif
+#define CONFIG_VIDEO
+#define CONFIG_CFB_CONSOLE
+#define CONFIG_VGA_AS_SINGLE_DEVICE
+#define CONFIG_SPLASH_SCREEN
+#define CONFIG_VIDEO_BMP_RLE8
+#define CONFIG_CMD_BMP
+#define CONFIG_VIDEO_OMAP3
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV
+
#endif /* __CONFIG_H */
--
1.7.9.5
More information about the U-Boot
mailing list