[U-Boot] [PATCH] mx53loco: Add support for SEIKO 4.3'' WVGA panel

Stefano Babic sbabic at denx.de
Sat Oct 20 17:03:15 CEST 2012


Am 18/10/2012 20:49, schrieb Fabio Estevam:
> Add support for SEIKO 4.3'' WVGA panel on mx53loco.
> 
> By default, the CLAA WVGA panel is selected.
> 
> In order to support the SEIKO panel, undef CONFIG_CLAA_WVGA
> and define CONFIG_SEIKO_WVGA in mx53loco.h.

Hi Fabio,

in this way you have two different U-Boot binaries only to manage the
two displays, and automatically some "dead code" is added to U-Boot
because CONFIG_SEIKO_WVGA is not defined.

What about to use a u-boot environment to select the display ? Could be
a better solution for you ? You can then have a single u-boot image
managing both displays. I did in this way for the mt_ventoux board
(board/mt_ventoux/mt_ventoux.c), maybe can this help ?

Regards,
Stefano


> 
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> ---
>  board/freescale/mx53loco/mx53loco.c |   26 +++++++++++++++++++++++++-
>  include/configs/mx53loco.h          |    1 +
>  2 files changed, 26 insertions(+), 1 deletion(-)
> 
> diff --git a/board/freescale/mx53loco/mx53loco.c b/board/freescale/mx53loco/mx53loco.c
> index a11e883..5709c97 100644
> --- a/board/freescale/mx53loco/mx53loco.c
> +++ b/board/freescale/mx53loco/mx53loco.c
> @@ -412,6 +412,7 @@ static void clock_1GHz(void)
>  		printf("CPU:   Switch DDR clock to 400MHz failed\n");
>  }
>  
> +#if defined(CONFIG_CLAA_WVGA)
>  static struct fb_videomode const claa_wvga = {
>  	.name		= "CLAA07LC0ACW",
>  	.refresh	= 57,
> @@ -427,6 +428,24 @@ static struct fb_videomode const claa_wvga = {
>  	.sync		= 0,
>  	.vmode		= FB_VMODE_NONINTERLACED
>  };
> +#endif
> +
> +#if defined(CONFIG_SEIKO_WVGA)
> +static struct fb_videomode const seiko43wvga = {
> +	.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,
> +};
> +#endif
>  
>  void lcd_iomux(void)
>  {
> @@ -470,7 +489,12 @@ void lcd_iomux(void)
>  
>  void lcd_enable(void)
>  {
> -	int ret = ipuv3_fb_init(&claa_wvga, 0, IPU_PIX_FMT_RGB565);
> +	int ret;
> +#if defined(CONFIG_CLAA_WVGA)
> +	ret = ipuv3_fb_init(&claa_wvga, 0, IPU_PIX_FMT_RGB565);
> +#elif defined(CONFIG_SEIKO_WVGA)
> +	ret = ipuv3_fb_init(&seiko43wvga, 0, IPU_PIX_FMT_RGB24);
> +#endif
>  	if (ret)
>  		printf("LCD cannot be configured: %d\n", ret);
>  }
> diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h
> index 0658dd3..e60b155 100644
> --- a/include/configs/mx53loco.h
> +++ b/include/configs/mx53loco.h
> @@ -222,5 +222,6 @@
>  #define CONFIG_BMP_16BPP
>  #define CONFIG_VIDEO_LOGO
>  #define CONFIG_IPUV3_CLK	200000000
> +#define CONFIG_CLAA_WVGA
>  
>  #endif				/* __CONFIG_H */
> 


-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list