All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] mx53loco: Add support for SEIKO 4.3'' WVGA panel
@ 2012-10-18 18:49 Fabio Estevam
  2012-10-18 18:57 ` Otavio Salvador
  2012-10-20 15:03 ` Stefano Babic
  0 siblings, 2 replies; 8+ messages in thread
From: Fabio Estevam @ 2012-10-18 18:49 UTC (permalink / raw)
  To: u-boot

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.

Signed-off-by: Fabio Estevam <fabio.estevam@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 */
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH] mx53loco: Add support for SEIKO 4.3'' WVGA panel
  2012-10-18 18:49 [U-Boot] [PATCH] mx53loco: Add support for SEIKO 4.3'' WVGA panel Fabio Estevam
@ 2012-10-18 18:57 ` Otavio Salvador
  2012-10-20 15:03 ` Stefano Babic
  1 sibling, 0 replies; 8+ messages in thread
From: Otavio Salvador @ 2012-10-18 18:57 UTC (permalink / raw)
  To: u-boot

On Thu, Oct 18, 2012 at 3:49 PM, Fabio Estevam
<fabio.estevam@freescale.com>wrote:

> 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.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
>

Acked-by: Otavio Salvador <otavio@ossystems.com.br>

-- 
Otavio Salvador                             O.S. Systems
E-mail: otavio at ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH] mx53loco: Add support for SEIKO 4.3'' WVGA panel
  2012-10-18 18:49 [U-Boot] [PATCH] mx53loco: Add support for SEIKO 4.3'' WVGA panel Fabio Estevam
  2012-10-18 18:57 ` Otavio Salvador
@ 2012-10-20 15:03 ` Stefano Babic
  2012-10-23 17:36   ` Fabio Estevam
  1 sibling, 1 reply; 8+ messages in thread
From: Stefano Babic @ 2012-10-20 15:03 UTC (permalink / raw)
  To: u-boot

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@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
=====================================================================

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH] mx53loco: Add support for SEIKO 4.3'' WVGA panel
  2012-10-20 15:03 ` Stefano Babic
@ 2012-10-23 17:36   ` Fabio Estevam
  2012-10-25 10:28     ` Stefano Babic
  0 siblings, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2012-10-23 17:36 UTC (permalink / raw)
  To: u-boot

Hi Stefano,

On Sat, Oct 20, 2012 at 12:03 PM, Stefano Babic <sbabic@denx.de> wrote:

> 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 ?

Sounds good. I tried this approach.

However, when I try to manipulate the env var I am not able to boot:

U-Boot 2012.10-09480-g6b08fc3-dirty (Oct 23 2012 - 15:24:03)

Board: MX53 LOCO
I2C:   ready
DRAM:  1 GiB
...

These are my simple changes (just to show the issue I am facing):

--- a/board/freescale/mx53loco/mx53loco.c
+++ b/board/freescale/mx53loco/mx53loco.c
@@ -471,6 +471,18 @@ void lcd_iomux(void)
 void lcd_enable(void)
 {
        int ret = ipuv3_fb_init(&claa_wvga, 0, IPU_PIX_FMT_RGB565);
+       char *e;
+
+       e = getenv("panel");
+
+       if (e != NULL) {
+               if (strcmp(e, "claa") == 0)
+                       printf("Panel is claa\n");
+
+               if (strcmp(e, "seiko") == 0)
+                       printf("Panel is seiko\n");
+       }
+
        if (ret)
                printf("LCD cannot be configured: %d\n", ret);
 }


Any ideas?

Thanks,

Fabio Estevam

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH] mx53loco: Add support for SEIKO 4.3'' WVGA panel
  2012-10-23 17:36   ` Fabio Estevam
@ 2012-10-25 10:28     ` Stefano Babic
  2012-10-25 11:02       ` Fabio Estevam
  0 siblings, 1 reply; 8+ messages in thread
From: Stefano Babic @ 2012-10-25 10:28 UTC (permalink / raw)
  To: u-boot

Am 23/10/2012 19:36, schrieb Fabio Estevam:
> Hi Stefano,
> 
> On Sat, Oct 20, 2012 at 12:03 PM, Stefano Babic <sbabic@denx.de> wrote:
> 
>> 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 ?
> 
> Sounds good. I tried this approach.
> 
> However, when I try to manipulate the env var I am not able to boot:
> 
> U-Boot 2012.10-09480-g6b08fc3-dirty (Oct 23 2012 - 15:24:03)
> 
> Board: MX53 LOCO
> I2C:   ready
> DRAM:  1 GiB
> ...
> 
> These are my simple changes (just to show the issue I am facing):
> 
> --- a/board/freescale/mx53loco/mx53loco.c
> +++ b/board/freescale/mx53loco/mx53loco.c
> @@ -471,6 +471,18 @@ void lcd_iomux(void)
>  void lcd_enable(void)
>  {
>         int ret = ipuv3_fb_init(&claa_wvga, 0, IPU_PIX_FMT_RGB565);
> +       char *e;
> +
> +       e = getenv("panel");
> +
> +       if (e != NULL) {
> +               if (strcmp(e, "claa") == 0)
> +                       printf("Panel is claa\n");
> +
> +               if (strcmp(e, "seiko") == 0)
> +                       printf("Panel is seiko\n");
> +       }
> +
>         if (ret)
>                 printf("LCD cannot be configured: %d\n", ret);
>  }
> 
> 
> Any ideas?

Yes, I thins is due to the fact that size for the framebuffer is
allocated before relocation. This was also a reason for me to migrate to
CONFIG_VIDEO instead of CONFIG_LCD.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH] mx53loco: Add support for SEIKO 4.3'' WVGA panel
  2012-10-25 10:28     ` Stefano Babic
@ 2012-10-25 11:02       ` Fabio Estevam
  2012-10-25 11:14         ` Marek Vasut
  0 siblings, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2012-10-25 11:02 UTC (permalink / raw)
  To: u-boot

Hi Stefano,

On Thu, Oct 25, 2012 at 8:28 AM, Stefano Babic <sbabic@denx.de> wrote:

> Yes, I thins is due to the fact that size for the framebuffer is
> allocated before relocation. This was also a reason for me to migrate to
> CONFIG_VIDEO instead of CONFIG_LCD.

mx53loco.h defines CONFIG_VIDEO, not CONFIG_LCD.

I am suspecting alignment/gcc issues: with a gcc4.4 I can boot into a
prompt, but after typing any command and then "enter" the board
crashes and reboot.

With gcc4.7, then board hangs after the total RAM is displayed.

Regards,

Fabio Estevam

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH] mx53loco: Add support for SEIKO 4.3'' WVGA panel
  2012-10-25 11:02       ` Fabio Estevam
@ 2012-10-25 11:14         ` Marek Vasut
  2012-11-04 14:33           ` Albert ARIBAUD
  0 siblings, 1 reply; 8+ messages in thread
From: Marek Vasut @ 2012-10-25 11:14 UTC (permalink / raw)
  To: u-boot

Dear Fabio Estevam,

CCing Albert.

> Hi Stefano,
> 
> On Thu, Oct 25, 2012 at 8:28 AM, Stefano Babic <sbabic@denx.de> wrote:
> > Yes, I thins is due to the fact that size for the framebuffer is
> > allocated before relocation. This was also a reason for me to migrate to
> > CONFIG_VIDEO instead of CONFIG_LCD.
> 
> mx53loco.h defines CONFIG_VIDEO, not CONFIG_LCD.
> 
> I am suspecting alignment/gcc issues: with a gcc4.4 I can boot into a
> prompt, but after typing any command and then "enter" the board
> crashes and reboot.
> 
> With gcc4.7, then board hangs after the total RAM is displayed.
> 
> Regards,
> 
> Fabio Estevam

Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [U-Boot] [PATCH] mx53loco: Add support for SEIKO 4.3'' WVGA panel
  2012-10-25 11:14         ` Marek Vasut
@ 2012-11-04 14:33           ` Albert ARIBAUD
  0 siblings, 0 replies; 8+ messages in thread
From: Albert ARIBAUD @ 2012-11-04 14:33 UTC (permalink / raw)
  To: u-boot

Hi Marek,

On Thu, 25 Oct 2012 13:14:38 +0200, Marek Vasut <marex@denx.de> wrote:

> Dear Fabio Estevam,
> 
> CCing Albert.
> 
> > Hi Stefano,
> > 
> > On Thu, Oct 25, 2012 at 8:28 AM, Stefano Babic <sbabic@denx.de> wrote:
> > > Yes, I thins is due to the fact that size for the framebuffer is
> > > allocated before relocation. This was also a reason for me to migrate to
> > > CONFIG_VIDEO instead of CONFIG_LCD.
> > 
> > mx53loco.h defines CONFIG_VIDEO, not CONFIG_LCD.
> > 
> > I am suspecting alignment/gcc issues: with a gcc4.4 I can boot into a
> > prompt, but after typing any command and then "enter" the board
> > crashes and reboot.
> > 
> > With gcc4.7, then board hangs after the total RAM is displayed.
> > 
> > Regards,
> > 
> > Fabio Estevam

The board should normally not hang but throw a data abort. In any case,
try to run the board under a HW debugger to find out which exception
occurs.

> Best regards,
> Marek Vasut

Amicalement,
-- 
Albert.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-11-04 14:33 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-18 18:49 [U-Boot] [PATCH] mx53loco: Add support for SEIKO 4.3'' WVGA panel Fabio Estevam
2012-10-18 18:57 ` Otavio Salvador
2012-10-20 15:03 ` Stefano Babic
2012-10-23 17:36   ` Fabio Estevam
2012-10-25 10:28     ` Stefano Babic
2012-10-25 11:02       ` Fabio Estevam
2012-10-25 11:14         ` Marek Vasut
2012-11-04 14:33           ` Albert ARIBAUD

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.