public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] [PATCH] Modifications to video-related files for RRvision.
@ 2008-06-23 14:54 Gary Jennejohn
  2008-06-24 12:14 ` Rodolfo Giometti
  0 siblings, 1 reply; 5+ messages in thread
From: Gary Jennejohn @ 2008-06-23 14:54 UTC (permalink / raw)
  To: u-boot


 Note that the LOGO_X/LOG_Y macros are defined in RRvision.h to center
 the logo on the screen and might be useful for other boards.
 Signed-off-by: Gary Jennejohn <garyj@denx.de>

---
 common/lcd.c       |    9 +++-
 cpu/mpc8xx/lcd.c   |  138 +++++++++++++++++++++++++++++++++++++++++++++++++---
 cpu/mpc8xx/video.c |   22 ++++++++-
 3 files changed, 159 insertions(+), 10 deletions(-)

diff --git a/common/lcd.c b/common/lcd.c
index ebf377a..e54d4f5 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -70,6 +70,13 @@
 # if (CONSOLE_COLOR_WHITE >= BMP_LOGO_OFFSET)
 #  error Default Color Map overlaps with Logo Color Map
 # endif
+
+# ifndef CONFIG_LCD_LOGO_X
+# define CONFIG_LCD_LOGO_X      0
+# endif
+# ifndef CONFIG_LCD_LOGO_Y
+# define CONFIG_LCD_LOGO_Y      0
+# endif
 #endif
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -768,7 +775,7 @@ static void *lcd_logo (void)
 #endif /* CONFIG_SPLASH_SCREEN */
 
 #ifdef CONFIG_LCD_LOGO
-	bitmap_plot (0, 0);
+	bitmap_plot (CONFIG_LCD_LOGO_X, CONFIG_LCD_LOGO_Y);
 #endif /* CONFIG_LCD_LOGO */
 
 #ifdef CONFIG_MPC823
diff --git a/cpu/mpc8xx/lcd.c b/cpu/mpc8xx/lcd.c
index 3c64a9b..aff5465 100644
--- a/cpu/mpc8xx/lcd.c
+++ b/cpu/mpc8xx/lcd.c
@@ -55,6 +55,10 @@
 #undef CONFIG_LCD_INFO
 #endif
 
+#if defined(CONFIG_RRVISION) && defined(TTTECH_NO_SCREEN_INFO)
+#undef CONFIG_LCD_INFO
+#endif
+
 /*----------------------------------------------------------------------*/
 #ifdef CONFIG_KYOCERA_KCS057QV1AJ
 /*
@@ -114,7 +118,7 @@ vidinfo_t panel_info = {
  */
 vidinfo_t panel_info = {
     640, 480, 212, 158, CFG_HIGH, CFG_HIGH, CFG_LOW, CFG_LOW, CFG_HIGH,
-    3, 0, 0, 1, 1, 144, 2, 0, 33
+    3, 0, 0, 1, 1, 88, 2, 0, 33
 		/* wbl, vpw, lcdac, wbf */
 };
 #endif /* CONFIG_NEC_NL6448BC33_54 */
@@ -122,16 +126,83 @@ vidinfo_t panel_info = {
 
 #ifdef CONFIG_SHARP_LQ104V7DS01
 /*
- *  SHARP LQ104V7DS01. 6.5", 640x480. Active, color, single scan.
+ *  SHARP LQ104V7DS01. 10", 640x480. Active, color, single scan.
  */
 vidinfo_t panel_info = {
-    640, 480, 132, 99, CFG_HIGH, CFG_HIGH, CFG_LOW, CFG_LOW, CFG_LOW,
-    3, 0, 0, 1, 1, 25, 1, 0, 33
+    660, 480, 0, 0, CFG_HIGH, CFG_HIGH, CFG_LOW, CFG_LOW, CFG_HIGH,
+    3, 0, 0, 1, 1, 99, 30, 0, 20
 		/* wbl, vpw, lcdac, wbf */
 };
 #endif /* CONFIG_SHARP_LQ104V7DS01 */
 /*----------------------------------------------------------------------*/
 
+/*----------------------------------------------------------------------*/
+
+#ifdef CONFIG_SHARP_LQ104V1DG61
+/*
+ *  SHARP LQ104V1DG61. 10", 640x480. Active, color, single scan.
+ */
+vidinfo_t panel_info = {
+    640, 480, 0, 0, CFG_HIGH, CFG_HIGH, CFG_LOW, CFG_LOW, CFG_HIGH,
+    3, 0, 0, 1, 1, 80, 30, 0, 20
+
+};
+#endif /* CONFIG_SHARP_LQ104V1DG61 */
+/*----------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------*/
+
+#ifdef CONFIG_NEC_NL8060BC26
+#undef LCD_DF
+#define LCD_DF 4
+/*
+ *  NEC_NL8060BC26. 10.4"", 800x600. Active, color, single scan.
+ */
+vidinfo_t panel_info = {
+    800, 600, 211, 158, CFG_HIGH, CFG_HIGH, CFG_LOW, CFG_LOW, CFG_HIGH,
+    3, 0, 0, 1, 1, 80, 30, 0, 20
+};
+#endif /* CONFIG_NEC_NL8060BC26 */
+/*----------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------*/
+
+#ifdef CONFIG_PM070WL3
+#undef LCD_DF
+#define LCD_DF 4
+/*
+ *  PM070-WL3. 7"", 800x480. Active, color, single scan.
+ */
+vidinfo_t panel_info = {
+    800, 480, 153, 92, CFG_HIGH, CFG_HIGH, CFG_LOW, CFG_LOW, CFG_HIGH,
+    3, 0, 0, 1, 1, 80, 30, 0, 20
+};
+#endif /* CONFIG_PM070WL3 */
+/*----------------------------------------------------------------------*/
+
+
+#ifdef CONFIG_HLD1045AE1
+vidinfo_t panel_info = {
+    640, 480, 0, 0, CFG_HIGH, CFG_HIGH, CFG_LOW, CFG_LOW, CFG_HIGH,
+    3, 0, 0, 1, 1, 80, 3, 0, 33
+        /* wbl, vpw, lcdac, wbf */
+};
+#endif /* CONFIG_HLD1045AE1 */
+/*----------------------------------------------------------------------*/
+
+#ifdef CONFIG_AUO_T070W1D1
+#undef LCD_DF
+#define LCD_DF 12
+
+vidinfo_t panel_info = {
+    480, 240, 0, 0, CFG_HIGH, CFG_HIGH, CFG_LOW, CFG_LOW, CFG_HIGH,
+    3, 1, 0, 1, 1, 80, 4, 0, 16
+        /* wbl, vpw, lcdac, wbf */
+};
+#define CONFIG_LCD_INFO_BELOW_LOGO
+#endif /* CONFIG_AUO_T070W1D1 */
+/*----------------------------------------------------------------------*/
+
 #ifdef CONFIG_SHARP_16x9
 /*
  * Sharp 320x240. Active, color, single scan.  It isn't 16x9, and I am
@@ -144,6 +215,44 @@ vidinfo_t panel_info = {
 #endif /* CONFIG_SHARP_16x9 */
 /*----------------------------------------------------------------------*/
 
+#ifdef CONFIG_SHARP_LQ050Q5DR01
+/*
+ * Sharp LQ050Q5DR01 display. Active, color, single scan.
+ */
+#undef LCD_DF
+#define LCD_DF 12
+
+vidinfo_t panel_info = {
+    320, 241, 0, 0, CFG_HIGH, CFG_HIGH, CFG_HIGH, CFG_HIGH, CFG_HIGH,
+    3, 1, 0, 1, 1, 15, 4, 0, 3
+        /* wbl, vpw, lcdac, wbf */
+};
+#define CONFIG_LCD_INFO_BELOW_LOGO
+#endif /* CONFIG_SHARP_LQ050Q5DR01 */
+/*----------------------------------------------------------------------*/
+
+#ifdef CONFIG_SHARP_LQ070Q5TR01
+/*
+ * Sharp LQ070Q5DR01 display. Active, color, single scan.
+ * !!! The actual screen size is only 480x240, but the HSYNC period has to
+ * be at least 680 pixels. The HSYNC period is given by 4 + vl_width + wbl.
+ * Changing wbl moves the picture on the screen. The only parameter to change
+ * is the screen width. Therefore we need a bitplane wider than the screen.
+ * The same holds for the VSYNC period. This is given byx VPW + WBF + vl_height.
+ * Changing VPW or WBF moves the picture up/down. Therefore we can only
+ * change vl_height.  As a consequence the bitplane needs to be higher
+ * than the screen as well.
+ */
+
+vidinfo_t panel_info = {
+    680, 246, 0, 0, CFG_HIGH, CFG_HIGH, CFG_HIGH, CFG_HIGH, CFG_HIGH,
+    3, 0, 0, 1, 1, 7, 4, 0, 3
+        /* wbl, vpw, lcdac, wbf */
+};
+#define CONFIG_LCD_INFO_BELOW_LOGO
+#endif /* CONFIG_SHARP_LQ070Q5TR01 */
+/*----------------------------------------------------------------------*/
+
 #ifdef CONFIG_SHARP_LQ057Q3DC02
 /*
  * Sharp LQ057Q3DC02 display. Active, color, single scan.
@@ -170,6 +279,7 @@ vidinfo_t panel_info = {
 		/* wbl, vpw, lcdac, wbf */
 };
 #endif /* CONFIG_SHARP_LQ64D341 */
+/*-----------------------------------------------------------------*/
 
 #ifdef CONFIG_SHARP_LQ065T9DR51U
 /*
@@ -396,6 +506,23 @@ void lcd_ctrl_init (void *lcdbase)
 	immr->im_ioport.iop_pddat |= 0x0200;
 #endif
 
+/*
+ * Workaround for RRVision with 10" LCD Display. see issue26199.
+ * This Workaround works with the Displays SHARP LQ104V7DS01 and SHARP
+ * LQ104V1DG61
+ */
+#if defined(CONFIG_RRVISION) && (defined(CONFIG_SHARP_LQ104V7DS01) || \
+ defined(CONFIG_SHARP_LQ104V1DG61))
+	/* PDPAR Bit 6 - DD6 => 0 */
+	immr->im_ioport.iop_pdpar &= ~0x0200;
+
+	/* PDDIR Bit 6 - DR6 => 1 */
+	immr->im_ioport.iop_pddir |= 0x0200;
+
+	/* PDDAT Bit 6 - D6 => 0 */
+	immr->im_ioport.iop_pddat &= ~0x0200;
+#endif /* CONFIG_SHARP_LQ104V7DS01 */
+
 	/* Load the physical address of the linear frame buffer
 	 * into the LCD controller.
 	 * BIG NOTE:  This has to be modified to load A and B depending
@@ -483,7 +610,6 @@ lcd_setcolreg (ushort regno, ushort red, ushort green, ushort blue)
 /*----------------------------------------------------------------------*/
 
 #if LCD_BPP == LCD_MONOCHROME
-static
 void lcd_initcolregs (void)
 {
 	volatile immap_t *immr = (immap_t *) CFG_IMMR;
@@ -564,12 +690,10 @@ void lcd_enable (void)
 #endif
 #ifdef CONFIG_RRVISION
 	debug ("PC4->Output(1): enable LVDS\n");
-	debug ("PC5->Output(0): disable PAL clock\n");
 	immr->im_ioport.iop_pddir |=  0x1000;
 	immr->im_ioport.iop_pcpar &= ~(0x0C00);
 	immr->im_ioport.iop_pcdir |=   0x0C00 ;
 	immr->im_ioport.iop_pcdat |=   0x0800 ;
-	immr->im_ioport.iop_pcdat &= ~(0x0400);
 	debug ("PDPAR=0x%04X PDDIR=0x%04X PDDAT=0x%04X\n",
 	       immr->im_ioport.iop_pdpar,
 	       immr->im_ioport.iop_pddir,
diff --git a/cpu/mpc8xx/video.c b/cpu/mpc8xx/video.c
index 8bf8e46..5bbd693 100644
--- a/cpu/mpc8xx/video.c
+++ b/cpu/mpc8xx/video.c
@@ -68,6 +68,10 @@ DECLARE_GLOBAL_DATA_PTR;
 #define VIDEO_INFO_X		VIDEO_LOGO_WIDTH+8
 #define VIDEO_INFO_Y		16
 
+#if defined(CONFIG_RRVISION) && defined(TTTECH_NO_SCREEN_INFO)
+#undef VIDEO_INFO
+#endif
+
 /************************************************************************/
 /* ** VIDEO ENCODER CONSTANTS						*/
 /************************************************************************/
@@ -115,10 +119,15 @@ DECLARE_GLOBAL_DATA_PTR;
 #define VIDEO_BURST_LEN		(VIDEO_COLS/8)
 
 #ifdef VIDEO_MODE_YUYV
+
+#if defined(CONFIG_RRVISION)
+#define VIDEO_BG_COL 	0x80108010	/* Background color in YUYV format */
+#else
 #define VIDEO_BG_COL	0x80D880D8	/* Background color in YUYV format */
+#endif /* CONFIG_RRVISION */
 #else
 #define VIDEO_BG_COL	0xF8F8F8F8	/* Background color in RGB format */
-#endif
+#endif /* VIDEO_MODE_YUYV */
 
 /************************************************************************/
 /* ** FONT AND LOGO DATA						*/
@@ -132,6 +141,14 @@ DECLARE_GLOBAL_DATA_PTR;
 #define VIDEO_LOGO_WIDTH	DEF_U_BOOT_LOGO_WIDTH
 #define VIDEO_LOGO_HEIGHT	DEF_U_BOOT_LOGO_HEIGHT
 #define VIDEO_LOGO_ADDR		&u_boot_logo
+
+#ifndef CONFIG_VIDEO_LOGO_X
+#define CONFIG_VIDEO_LOGO_X		0
+#endif
+#ifndef CONFIG_VIDEO_LOGO_Y
+#define CONFIG_VIDEO_LOGO_Y		0
+#endif
+
 #endif
 
 /************************************************************************/
@@ -1171,7 +1188,8 @@ static void *video_logo (void)
 	char info[80];
 #endif /* VIDEO_INFO */
 
-	easylogo_plot (VIDEO_LOGO_ADDR, screen, width, 0, 0);
+	easylogo_plot (VIDEO_LOGO_ADDR, screen, width, CONFIG_VIDEO_LOGO_X,
+		CONFIG_VIDEO_LOGO_Y);
 
 #ifdef VIDEO_INFO
 	sprintf (info, "%s (%s - %s) ", U_BOOT_VERSION, __DATE__, __TIME__);
-- 
1.5.4.3


---
Gary Jennejohn

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

* [U-Boot-Users] [PATCH] Modifications to video-related files for RRvision.
  2008-06-23 14:54 [U-Boot-Users] [PATCH] Modifications to video-related files for RRvision Gary Jennejohn
@ 2008-06-24 12:14 ` Rodolfo Giometti
  2008-06-24 15:05   ` Gary Jennejohn
  0 siblings, 1 reply; 5+ messages in thread
From: Rodolfo Giometti @ 2008-06-24 12:14 UTC (permalink / raw)
  To: u-boot

On Mon, Jun 23, 2008 at 04:54:38PM +0200, Gary Jennejohn wrote:
> 
>  Note that the LOGO_X/LOG_Y macros are defined in RRvision.h to center
>  the logo on the screen and might be useful for other boards.
>  Signed-off-by: Gary Jennejohn <garyj@denx.de>

Nak. This is a multi-patch.

Please provide a patch for the LOGO_X/LOG_Y macros and a patch for
RRvision board, then send the first to me and the second to the proper
maintainer.

Also you have to update the README file by describing the new macros.

Ciao,

Rodolfo

-- 

GNU/Linux Solutions                  e-mail: giometti at enneenne.com
Linux Device Driver                          giometti at linux.it
Embedded Systems                     phone:  +39 349 2432127
UNIX programming                     skype:  rodolfo.giometti

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

* [U-Boot-Users] [PATCH] Modifications to video-related files for RRvision.
  2008-06-24 12:14 ` Rodolfo Giometti
@ 2008-06-24 15:05   ` Gary Jennejohn
  2008-06-24 19:59     ` Rodolfo Giometti
  0 siblings, 1 reply; 5+ messages in thread
From: Gary Jennejohn @ 2008-06-24 15:05 UTC (permalink / raw)
  To: u-boot

On Tue, 24 Jun 2008 14:14:23 +0200
Rodolfo Giometti <giometti@enneenne.com> wrote:

> On Mon, Jun 23, 2008 at 04:54:38PM +0200, Gary Jennejohn wrote:
> > 
> >  Note that the LOGO_X/LOG_Y macros are defined in RRvision.h to center
> >  the logo on the screen and might be useful for other boards.
> >  Signed-off-by: Gary Jennejohn <garyj@denx.de>
> 
> Nak. This is a multi-patch.
> 
> Please provide a patch for the LOGO_X/LOG_Y macros and a patch for
> RRvision board, then send the first to me and the second to the proper
> maintainer.
> 

Wolfgang Denk imformed me that the lcd/video patches had to go to the
proper custodian and I only found your name listed for video.

So, who _is_ the proper target for this stuff?  Wolfgang doesn't want
to see it.

> Also you have to update the README file by describing the new macros.
> 

OK

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

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

* [U-Boot-Users] [PATCH] Modifications to video-related files for RRvision.
  2008-06-24 15:05   ` Gary Jennejohn
@ 2008-06-24 19:59     ` Rodolfo Giometti
  2008-06-27 16:49       ` Detlev Zundel
  0 siblings, 1 reply; 5+ messages in thread
From: Rodolfo Giometti @ 2008-06-24 19:59 UTC (permalink / raw)
  To: u-boot

On Tue, Jun 24, 2008 at 05:05:23PM +0200, Gary Jennejohn wrote:
> On Tue, 24 Jun 2008 14:14:23 +0200
> Rodolfo Giometti <giometti@enneenne.com> wrote:
> 
> > On Mon, Jun 23, 2008 at 04:54:38PM +0200, Gary Jennejohn wrote:
> > > 
> > >  Note that the LOGO_X/LOG_Y macros are defined in RRvision.h to center
> > >  the logo on the screen and might be useful for other boards.
> > >  Signed-off-by: Gary Jennejohn <garyj@denx.de>
> > 
> > Nak. This is a multi-patch.
> > 
> > Please provide a patch for the LOGO_X/LOG_Y macros and a patch for
> > RRvision board, then send the first to me and the second to the proper
> > maintainer.
> > 
> 
> Wolfgang Denk imformed me that the lcd/video patches had to go to the
> proper custodian and I only found your name listed for video.
> 
> So, who _is_ the proper target for this stuff?  Wolfgang doesn't want
> to see it.

I'm the video custodian, so I can decide about lcd/video stuff,
regarding specific boards modifications you should check the
custodians list.

Ciao,

Rodolfo

-- 

GNU/Linux Solutions                  e-mail: giometti at enneenne.com
Linux Device Driver                          giometti at linux.it
Embedded Systems                     phone:  +39 349 2432127
UNIX programming                     skype:  rodolfo.giometti

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

* [U-Boot-Users] [PATCH] Modifications to video-related files for RRvision.
  2008-06-24 19:59     ` Rodolfo Giometti
@ 2008-06-27 16:49       ` Detlev Zundel
  0 siblings, 0 replies; 5+ messages in thread
From: Detlev Zundel @ 2008-06-27 16:49 UTC (permalink / raw)
  To: u-boot

Hi Rodolfo,

> On Tue, Jun 24, 2008 at 05:05:23PM +0200, Gary Jennejohn wrote:
>> On Tue, 24 Jun 2008 14:14:23 +0200
>> Rodolfo Giometti <giometti@enneenne.com> wrote:
>> 
>> > On Mon, Jun 23, 2008 at 04:54:38PM +0200, Gary Jennejohn wrote:
>> > > 
>> > >  Note that the LOGO_X/LOG_Y macros are defined in RRvision.h to center
>> > >  the logo on the screen and might be useful for other boards.
>> > >  Signed-off-by: Gary Jennejohn <garyj@denx.de>
>> > 
>> > Nak. This is a multi-patch.
>> > 
>> > Please provide a patch for the LOGO_X/LOG_Y macros and a patch for
>> > RRvision board, then send the first to me and the second to the proper
>> > maintainer.
>> > 
>> 
>> Wolfgang Denk imformed me that the lcd/video patches had to go to the
>> proper custodian and I only found your name listed for video.
>> 
>> So, who _is_ the proper target for this stuff?  Wolfgang doesn't want
>> to see it.
>
> I'm the video custodian, so I can decide about lcd/video stuff,
> regarding specific boards modifications you should check the
> custodians list.

Can you explain that to me?  Gary changes three files:

 common/lcd.c       |    9 +++-
 cpu/mpc8xx/lcd.c   |  138 +++++++++++++++++++++++++++++++++++++++++++++++++---
 cpu/mpc8xx/video.c |   22 ++++++++-
 3 files changed, 159 insertions(+), 10 deletions(-)

None of this is specific to a board but really concerns lcd and video
handling.  If you don't feel responsible for it, the only other
custodian could be the 8xx custodian.  But he already pointed Gary to
you ;)

So please, if nobody from the 8xx front NAKs the patches, pull it into
your custodian repository.

Thanks
  Detlev

-- 
The continental people think life is a game. The English think
cricket is a game.
                                                     -- George Mikes
--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de

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

end of thread, other threads:[~2008-06-27 16:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-23 14:54 [U-Boot-Users] [PATCH] Modifications to video-related files for RRvision Gary Jennejohn
2008-06-24 12:14 ` Rodolfo Giometti
2008-06-24 15:05   ` Gary Jennejohn
2008-06-24 19:59     ` Rodolfo Giometti
2008-06-27 16:49       ` Detlev Zundel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox