[U-Boot] [PATCH 2/2] Add video support to mx51evk board
Frias Renato-B13784
b13784 at freescale.com
Tue Nov 2 06:16:21 CET 2010
Adds video support to mx51evk board, this board allows different
displays.
This patch enables the WVGA TFT LCD panel only, remove comments from
include/configs/mx51evk.h to use it.
Signed-off-by: Renato Frias <renato.frias at freescale.com>
---
board/freescale/mx51evk/mx51evk.c | 56
+++++++++++++++++++++++++++++++++++++
include/configs/mx51evk.h | 11 +++++++
2 files changed, 67 insertions(+), 0 deletions(-)
diff --git a/board/freescale/mx51evk/mx51evk.c
b/board/freescale/mx51evk/mx51evk.c
index 2160d5a..884ae73 100644
--- a/board/freescale/mx51evk/mx51evk.c
+++ b/board/freescale/mx51evk/mx51evk.c
@@ -34,9 +34,37 @@
#include <fsl_pmic.h>
#include <mc13892.h>
+#ifdef CONFIG_LCD
+#include <linux/fb.h>
+#include <lcd.h>
+#endif
+
DECLARE_GLOBAL_DATA_PTR;
static u32 system_rev;
+extern int mx51_fb_init(struct fb_videomode *mode, u32 ipu_di, u32
pix_fmt);
+
+#ifdef CONFIG_LCD
+static struct fb_videomode claa_wvga = {
+ "CLAA07LC0ACW",
+ 57, /* Refresh */+
+ 800, /* xres */
+ 480, /* yres */
+ 37037, /* pixclock = 27Mhz */
+ 40, /* left margin */
+ 60, /* right margin */
+ 10, /* upper margin */
+ 10, /* lower margin */
+ 20, /* hsync-len */
+ 10, /* vsync-len */
+ 0, /* sync */
+ FB_VMODE_NONINTERLACED, /* vmode */
+ 0, /* flag */
+};
+
+static int wvga_ipu_di = 1;
+static int wvga_bppix = 16;
+#endif
#ifdef CONFIG_FSL_ESDHC
struct fsl_esdhc_cfg esdhc_cfg[2] = {
@@ -148,6 +176,33 @@ static void setup_iomux_fec(void)
mxc_iomux_set_pad(MX51_PIN_NANDF_D11, 0x2180);
}
+#ifdef CONFIG_LCD
+void setup_iomux_ipu(void)
+{
+ /* DISP2_DAT [0:15] are configured by default */
+ mxc_request_iomux(MX51_PIN_DI1_D1_CS, IOMUX_CONFIG_ALT4);
+ mxc_iomux_set_pad(MX51_PIN_DI1_D1_CS, 0x85);
+ mxc_request_iomux(MUX_IN_GPIO3_IPP_IND_G_IN_4_SELECT_INPUT,
+ INPUT_CTL_PATH1);
+
+ /* DISP2_DRDY pin */
+ mxc_request_iomux(MX51_PIN_DI_GP4, IOMUX_CONFIG_ALT4);
+ mxc_iomux_set_pad(MX51_PIN_DI_GP4, 0x80);
+
+}
+
+void lcd_enable(void)
+{
+ int ret;
+
+ ret = mx51_fb_init(&claa_wvga, wvga_ipu_di, wvga_bppix);
+ if (ret) {
+ puts("LCD cannot be configured\n");
+ }
+
+}
+#endif
+
#ifdef CONFIG_MXC_SPI
static void setup_iomux_spi(void)
{
@@ -409,6 +464,7 @@ int board_init(void)
setup_iomux_uart();
setup_iomux_fec();
+ setup_iomux_ipu();
return 0;
}
diff --git a/include/configs/mx51evk.h b/include/configs/mx51evk.h
index f98438d..cd931ea 100644
--- a/include/configs/mx51evk.h
+++ b/include/configs/mx51evk.h
@@ -211,6 +211,17 @@
#define CONFIG_SYS_DDR_CLKSEL 0
#define CONFIG_SYS_CLKTL_CBCDR 0x59E35100
+/*
+ * Framebuffer and LCD
+ */
+/*
+#define CONFIG_LCD
+#define CONFIG_VIDEO_MX5
+#define LCD_BPP LCD_COLOR16
+#define CONFIG_CMD_BMP
+#define CONFIG_BMP_16BPP
+*/
+
/*----------------------------------------------------------------------
-
* FLASH and environment organization
*/
--
1.6.0.4
More information about the U-Boot
mailing list