MX51: Add video support to vision2 board
The patch adds support for LCD to the vision2 board. Signed-off-by: Stefano Babic <sbabic@denx.de>
This commit is contained in:
parent
5dda7945d1
commit
a0152c4ba1
@ -37,14 +37,34 @@
|
||||
#include <fsl_esdhc.h>
|
||||
#include <fsl_pmic.h>
|
||||
#include <mc13892.h>
|
||||
#include <linux/fb.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
static u32 system_rev;
|
||||
|
||||
extern int mx51_fb_init(struct fb_videomode *mode);
|
||||
|
||||
#ifdef CONFIG_HW_WATCHDOG
|
||||
#include <watchdog.h>
|
||||
|
||||
static struct fb_videomode nec_nl6448bc26_09c = {
|
||||
"NEC_NL6448BC26-09C",
|
||||
60, /* Refresh */
|
||||
640, /* xres */
|
||||
480, /* yres */
|
||||
37650, /* pixclock = 26.56Mhz */
|
||||
48, /* left margin */
|
||||
16, /* right margin */
|
||||
31, /* upper margin */
|
||||
12, /* lower margin */
|
||||
96, /* hsync-len */
|
||||
2, /* vsync-len */
|
||||
0, /* sync */
|
||||
FB_VMODE_NONINTERLACED, /* vmode */
|
||||
0, /* flag */
|
||||
};
|
||||
|
||||
void hw_watchdog_reset(void)
|
||||
{
|
||||
int val;
|
||||
@ -423,6 +443,9 @@ static void setup_gpios(void)
|
||||
mxc_request_iomux(MX51_PIN_CSPI1_RDY, IOMUX_CONFIG_ALT3);
|
||||
mxc_iomux_set_pad(MX51_PIN_CSPI1_RDY, 0x82);
|
||||
|
||||
/* PWM Output GPIO1_2 */
|
||||
mxc_request_iomux(MX51_PIN_GPIO1_2, IOMUX_CONFIG_ALT1);
|
||||
|
||||
/*
|
||||
* Set GPIO1_4 to high and output; it is used to reset
|
||||
* the system on reboot
|
||||
@ -630,6 +653,33 @@ int board_early_init_f(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void backlight(int on)
|
||||
{
|
||||
if (on) {
|
||||
mxc_gpio_set(65, 1);
|
||||
udelay(10000);
|
||||
mxc_gpio_set(68, 1);
|
||||
} else {
|
||||
mxc_gpio_set(65, 0);
|
||||
mxc_gpio_set(68, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void lcd_enable(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
mxc_request_iomux(MX51_PIN_DI1_PIN2, IOMUX_CONFIG_ALT0);
|
||||
mxc_request_iomux(MX51_PIN_DI1_PIN3, IOMUX_CONFIG_ALT0);
|
||||
|
||||
mxc_gpio_set(2, 1);
|
||||
mxc_request_iomux(MX51_PIN_GPIO1_2, IOMUX_CONFIG_ALT0);
|
||||
|
||||
ret = mx51_fb_init(&nec_nl6448bc26_09c);
|
||||
if (ret)
|
||||
puts("LCD cannot be configured\n");
|
||||
}
|
||||
|
||||
int board_init(void)
|
||||
{
|
||||
#ifdef CONFIG_SYS_ARM_WITHOUT_RELOC
|
||||
@ -709,3 +759,21 @@ int checkboard(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int do_vision_lcd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
int on;
|
||||
|
||||
if (argc < 2)
|
||||
return cmd_usage(cmdtp);
|
||||
|
||||
on = (strcmp(argv[1], "on") == 0);
|
||||
backlight(on);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
U_BOOT_CMD(
|
||||
lcdbl, CONFIG_SYS_MAXARGS, 1, do_vision_lcd,
|
||||
"Vision2 Backlight",
|
||||
"lcdbl [on|off]\n"
|
||||
);
|
||||
|
@ -211,4 +211,18 @@
|
||||
|
||||
#define CONFIG_SYS_NO_FLASH
|
||||
|
||||
/*
|
||||
* Framebuffer and LCD
|
||||
*/
|
||||
#define CONFIG_PREBOOT
|
||||
#define CONFIG_LCD
|
||||
#define CONFIG_VIDEO_MX5
|
||||
#define CONFIG_SYS_CONSOLE_ENV_OVERWRITE
|
||||
#define CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE
|
||||
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
|
||||
#define LCD_BPP LCD_COLOR16
|
||||
#define CONFIG_SPLASH_SCREEN
|
||||
#define CONFIG_CMD_BMP
|
||||
#define CONFIG_BMP_16BPP
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
Loading…
Reference in New Issue
Block a user