@ -46,6 +46,21 @@ static struct fb_videomode const claa_wvga = {
. vmode = FB_VMODE_NONINTERLACED
. vmode = FB_VMODE_NONINTERLACED
} ;
} ;
static struct fb_videomode const seiko_wvga = {
. name = " Seiko-43WVF1G " ,
. refresh = 60 ,
. xres = 800 ,
. yres = 480 ,
. pixclock = 29851 , /* picosecond (33.5 MHz) */
. left_margin = 89 ,
. right_margin = 164 ,
. upper_margin = 23 ,
. lower_margin = 10 ,
. hsync_len = 10 ,
. vsync_len = 10 ,
. sync = 0 ,
} ;
void setup_iomux_lcd ( void )
void setup_iomux_lcd ( void )
{
{
mxc_request_iomux ( MX53_PIN_DI0_DISP_CLK , IOMUX_CONFIG_ALT0 ) ;
mxc_request_iomux ( MX53_PIN_DI0_DISP_CLK , IOMUX_CONFIG_ALT0 ) ;
@ -86,9 +101,26 @@ void setup_iomux_lcd(void)
gpio_direction_output ( IOMUX_TO_GPIO ( MX53_PIN_GPIO_1 ) , 1 ) ;
gpio_direction_output ( IOMUX_TO_GPIO ( MX53_PIN_GPIO_1 ) , 1 ) ;
}
}
void lcd_enable ( void )
int board_video_skip ( void )
{
{
int ret = ipuv3_fb_init ( & claa_wvga , 0 , IPU_PIX_FMT_RGB565 ) ;
int ret ;
char const * e = getenv ( " panel " ) ;
if ( e ) {
if ( strcmp ( e , " seiko " ) = = 0 ) {
ret = ipuv3_fb_init ( & seiko_wvga , 0 , IPU_PIX_FMT_RGB24 ) ;
if ( ret )
printf ( " Seiko cannot be configured: %d \n " , ret ) ;
return ret ;
}
}
/*
* ' panel ' env variable not found or has different value than ' seiko '
* Defaulting to claa lcd .
*/
ret = ipuv3_fb_init ( & claa_wvga , 0 , IPU_PIX_FMT_RGB565 ) ;
if ( ret )
if ( ret )
printf ( " LCD cannot be configured: %d \n " , ret ) ;
printf ( " CLAA cannot be configured: %d \n " , ret ) ;
return ret ;
}
}