فهرست منبع

* Patch by Detlev Zundel, 30 Jun 2005:
Fix LCD logo for lwmon board which got lost in the merge of 8xx and PXA LCD code

wdenk 20 سال پیش
والد
کامیت
88804d19e2
6فایلهای تغییر یافته به همراه36 افزوده شده و 30 حذف شده
  1. 3 0
      CHANGELOG
  2. 2 0
      MAINTAINERS
  3. 21 12
      common/lcd.c
  4. 6 5
      cpu/mpc8xx/lcd.c
  5. 2 0
      include/configs/lwmon.h
  6. 2 13
      include/lcd.h

+ 3 - 0
CHANGELOG

@@ -9,6 +9,9 @@ Changes for U-Boot 1.1.3:
   Fix PHY addresses for PPChameleon and CATcenter boards
   Change MAINTAINER for most esd boards
 
+* Patch by Detlev Zundel, 30 Jun 2005:
+  Fix LCD logo for lwmon board which got lost in the merge of 8xx and PXA LCD code
+
 * Fix baudrate calculation problem on MPC5200 systems
 
 * Add EEPROM and RTC support for HMI1001 board

+ 2 - 0
MAINTAINERS

@@ -298,6 +298,8 @@ Jon Loeliger <jdl@freescale.com>
 
 	MPC8540ADS		MPC8540
 	MPC8560ADS		MPC8560
+	MPC8541CDS		MPC8541
+	MPC8555CDS		MPC8555
 
 Dan Malek <dan@embeddededge.com>
 

+ 21 - 12
common/lcd.c

@@ -58,6 +58,15 @@
 /************************************************************************/
 #include <video_font.h>		/* Get font data, width and height	*/
 
+/************************************************************************/
+/* ** LOGO DATA								*/
+/************************************************************************/
+#ifdef CONFIG_LCD_LOGO
+# include <bmp_logo.h>		/* Get logo data, width and height	*/
+# if (CONSOLE_COLOR_WHITE >= BMP_LOGO_OFFSET)
+#  error Default Color Map overlaps with Logo Color Map
+# endif
+#endif
 
 ulong lcd_setmem (ulong addr);
 
@@ -269,7 +278,7 @@ static void lcd_drawchars (ushort x, ushort y, uchar *str, int count)
 
 static inline void lcd_puts_xy (ushort x, ushort y, uchar *s)
 {
-#if defined(CONFIG_LCD_LOGO) && !defined(LCD_INFO_BELOW_LOGO)
+#if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO)
 	lcd_drawchars (x, y+BMP_LOGO_HEIGHT, s, strlen (s));
 #else
 	lcd_drawchars (x, y, s, strlen (s));
@@ -280,7 +289,7 @@ static inline void lcd_puts_xy (ushort x, ushort y, uchar *s)
 
 static inline void lcd_putc_xy (ushort x, ushort y, uchar c)
 {
-#if defined(CONFIG_LCD_LOGO) && !defined(LCD_INFO_BELOW_LOGO)
+#if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO)
 	lcd_drawchars (x, y+BMP_LOGO_HEIGHT, &c, 1);
 #else
 	lcd_drawchars (x, y, &c, 1);
@@ -420,7 +429,7 @@ static int lcd_init (void *lcdbase)
 
 	/* Initialize the console */
 	console_col = 0;
-#ifdef LCD_INFO_BELOW_LOGO
+#ifdef CONFIG_LCD_INFO_BELOW_LOGO
 	console_row = 7 + BMP_LOGO_HEIGHT / VIDEO_FONT_HEIGHT;
 #else
 	console_row = 1;	/* leave 1 blank line below logo */
@@ -673,12 +682,12 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
 
 static void *lcd_logo (void)
 {
-#ifdef LCD_INFO
+#ifdef CONFIG_LCD_INFO
 	DECLARE_GLOBAL_DATA_PTR;
 
 	char info[80];
 	char temp[32];
-#endif /* LCD_INFO */
+#endif /* CONFIG_LCD_INFO */
 
 #ifdef CONFIG_SPLASH_SCREEN
 	char *s;
@@ -700,7 +709,7 @@ static void *lcd_logo (void)
 #endif /* CONFIG_LCD_LOGO */
 
 #ifdef CONFIG_MPC823
-#ifdef LCD_INFO
+# ifdef CONFIG_LCD_INFO
 	sprintf (info, "%s (%s - %s) ", U_BOOT_VERSION, __DATE__, __TIME__);
 	lcd_drawchars (LCD_INFO_X, LCD_INFO_Y, info, strlen(info));
 
@@ -711,7 +720,7 @@ static void *lcd_logo (void)
 	sprintf (info, "    Wolfgang DENK, wd@denx.de");
 	lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT * 2,
 					info, strlen(info));
-#ifdef LCD_INFO_BELOW_LOGO
+#  ifdef CONFIG_LCD_INFO_BELOW_LOGO
 	sprintf (info, "MPC823 CPU at %s MHz",
 		strmhz(temp, gd->cpu_clk));
 	lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT * 3,
@@ -721,7 +730,7 @@ static void *lcd_logo (void)
 		gd->bd->bi_flashsize >> 20 );
 	lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT * 4,
 					info, strlen(info));
-#else
+#  else
 	/* leave one blank line */
 
 	sprintf (info, "MPC823 CPU at %s MHz, %ld MB RAM, %ld MB Flash",
@@ -731,15 +740,15 @@ static void *lcd_logo (void)
 	lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT * 4,
 					info, strlen(info));
 
+#  endif /* CONFIG_LCD_INFO_BELOW_LOGO */
+# endif /* CONFIG_LCD_INFO */
 #endif /* CONFIG_MPC823 */
-#endif /* LCD_INFO_BELOW_LOGO */
-#endif /* LCD_INFO */
 
-#if defined(CONFIG_LCD_LOGO) && !defined(LCD_INFO_BELOW_LOGO)
+#if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO)
 	return ((void *)((ulong)lcd_base + BMP_LOGO_HEIGHT * lcd_line_length));
 #else
 	return ((void *)lcd_base);
-#endif /* CONFIG_LCD_LOGO */
+#endif /* CONFIG_LCD_LOGO && !CONFIG_LCD_INFO_BELOW_LOGO */
 }
 
 /************************************************************************/

+ 6 - 5
cpu/mpc8xx/lcd.c

@@ -46,12 +46,13 @@
 /************************************************************************/
 /* ** CONFIG STUFF -- should be moved to board config file		*/
 /************************************************************************/
-#define CONFIG_LCD_LOGO
-#define LCD_INFO		/* Display Logo, (C) and system info	*/
+#ifndef CONFIG_LCD_INFO
+#define CONFIG_LCD_INFO		/* Display Logo, (C) and system info	*/
+#endif
 
 #if defined(CONFIG_V37) || defined(CONFIG_EDT32F10)
 #undef CONFIG_LCD_LOGO
-#undef LCD_INFO
+#undef CONFIG_LCD_INFO
 #endif
 
 /*----------------------------------------------------------------------*/
@@ -155,7 +156,7 @@ vidinfo_t panel_info = {
     3, 0, 0, 1, 1, 15, 4, 0, 3
 		/* wbl, vpw, lcdac, wbf */
 };
-#define LCD_INFO_BELOW_LOGO
+#define CONFIG_LCD_INFO_BELOW_LOGO
 #endif /* CONFIG_SHARP_LQ057Q3DC02 */
 /*----------------------------------------------------------------------*/
 
@@ -179,7 +180,7 @@ vidinfo_t panel_info = {
     3, 0, 0, 1, 1, 248, 4, 0, 35
 		/* wbl, vpw, lcdac, wbf */
 };
-#define LCD_INFO_BELOW_LOGO
+#define CONFIG_LCD_INFO_BELOW_LOGO
 #endif /* CONFIG_SHARP_LQ065T9DR51U */
 
 #ifdef CONFIG_SHARP_LQ084V1DG21

+ 2 - 0
include/configs/lwmon.h

@@ -53,6 +53,8 @@
 #define CONFIG_LCD		1	/* use LCD controller ...	*/
 #define CONFIG_HLD1045		1	/* ... with a HLD1045 display	*/
 
+#define CONFIG_LCD_LOGO		1	/* print our logo on the LCD	*/
+#define CONFIG_LCD_INFO		1	/* ... and some board info	*/
 #define	CONFIG_SPLASH_SCREEN		/* ... with splashscreen support*/
 
 #define CONFIG_SERIAL_MULTI	1

+ 2 - 13
include/lcd.h

@@ -171,13 +171,6 @@ void	lcd_printf	(const char *fmt, ...);
 # include <asm/byteorder.h>
 #endif /* (CONFIG_COMMANDS & CFG_CMD_BMP) || CONFIG_SPLASH_SCREEN */
 
-/************************************************************************/
-/* ** LOGO DATA								*/
-/************************************************************************/
-#ifdef CONFIG_LCD_LOGO
-# include <bmp_logo.h>		/* Get logo data, width and height	*/
-#endif
-
 /*
  *  Information about displays we are using. This is for configuring
  *  the LCD controller and memory allocation. Someone has to know what
@@ -193,7 +186,7 @@ void	lcd_printf	(const char *fmt, ...);
 #define LCD_COLOR16	4
 
 /*----------------------------------------------------------------------*/
-#if defined(LCD_INFO_BELOW_LOGO)
+#if defined(CONFIG_LCD_INFO_BELOW_LOGO)
 # define LCD_INFO_X		0
 # define LCD_INFO_Y		(BMP_LOGO_HEIGHT + VIDEO_FONT_HEIGHT)
 #elif defined(CONFIG_LCD_LOGO)
@@ -252,10 +245,6 @@ void	lcd_printf	(const char *fmt, ...);
 
 #endif /* color definitions */
 
-#if defined(CONFIG_LCD_LOGO) && (CONSOLE_COLOR_WHITE >= BMP_LOGO_OFFSET)
-# error Default Color Map overlaps with Logo Color Map
-#endif
-
 /************************************************************************/
 #ifndef PAGE_SIZE
 # define PAGE_SIZE	4096
@@ -264,7 +253,7 @@ void	lcd_printf	(const char *fmt, ...);
 /************************************************************************/
 /* ** CONSOLE DEFINITIONS & FUNCTIONS					*/
 /************************************************************************/
-#if defined(CONFIG_LCD_LOGO) && !defined(LCD_INFO_BELOW_LOGO)
+#if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO)
 # define CONSOLE_ROWS		((panel_info.vl_row-BMP_LOGO_HEIGHT) \
 					/ VIDEO_FONT_HEIGHT)
 #else