mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-31 08:21:36 +01:00 
			
		
		
		
	Merge branch 'master' of git://git.denx.de/u-boot-video
This commit is contained in:
		
						commit
						7027d5622d
					
				
							
								
								
									
										24
									
								
								common/lcd.c
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								common/lcd.c
									
									
									
									
									
								
							| @ -63,7 +63,7 @@ | ||||
| /************************************************************************/ | ||||
| #ifdef CONFIG_LCD_LOGO | ||||
| # include <bmp_logo.h>		/* Get logo data, width and height	*/ | ||||
| # if (CONSOLE_COLOR_WHITE >= BMP_LOGO_OFFSET) | ||||
| # if (CONSOLE_COLOR_WHITE >= BMP_LOGO_OFFSET) && (LCD_BPP != LCD_COLOR16) | ||||
| #  error Default Color Map overlaps with Logo Color Map | ||||
| # endif | ||||
| #endif | ||||
| @ -218,8 +218,12 @@ static void lcd_drawchars (ushort x, ushort y, uchar *str, int count) | ||||
| 
 | ||||
| 	for (row=0;  row < VIDEO_FONT_HEIGHT;  ++row, dest += lcd_line_length)  { | ||||
| 		uchar *s = str; | ||||
| 		uchar *d = dest; | ||||
| 		int i; | ||||
| #if LCD_BPP == LCD_COLOR16 | ||||
| 		ushort *d = (ushort *)dest; | ||||
| #else | ||||
| 		uchar *d = dest; | ||||
| #endif | ||||
| 
 | ||||
| #if LCD_BPP == LCD_MONOCHROME | ||||
| 		uchar rest = *d & -(1 << (8-off)); | ||||
| @ -244,7 +248,7 @@ static void lcd_drawchars (ushort x, ushort y, uchar *str, int count) | ||||
| 				bits <<= 1; | ||||
| 			} | ||||
| #elif LCD_BPP == LCD_COLOR16 | ||||
| 			for (c=0; c<16; ++c) { | ||||
| 			for (c=0; c<8; ++c) { | ||||
| 				*d++ = (bits & 0x80) ? | ||||
| 						lcd_color_fg : lcd_color_bg; | ||||
| 				bits <<= 1; | ||||
| @ -521,6 +525,13 @@ void bitmap_plot (int x, int y) | ||||
| 		cmap = (ushort *)&(cp->lcd_cmap[BMP_LOGO_OFFSET*sizeof(ushort)]); | ||||
| #elif defined(CONFIG_ATMEL_LCD) | ||||
| 		cmap = (uint *) (panel_info.mmio + ATMEL_LCDC_LUT(0)); | ||||
| #else | ||||
| 		/*
 | ||||
| 		 * default case: generic system with no cmap (most likely 16bpp) | ||||
| 		 * We set cmap to the source palette, so no change is done. | ||||
| 		 * This avoids even more ifdef in the next stanza | ||||
| 		 */ | ||||
| 		cmap = bmp_logo_palette; | ||||
| #endif | ||||
| 
 | ||||
| 		WATCHDOG_RESET(); | ||||
| @ -559,10 +570,15 @@ void bitmap_plot (int x, int y) | ||||
| 		} | ||||
| 	} | ||||
| 	else { /* true color mode */ | ||||
| 		u16 col16; | ||||
| 		fb16 = (ushort *)(lcd_base + y * lcd_line_length + x); | ||||
| 		for (i=0; i<BMP_LOGO_HEIGHT; ++i) { | ||||
| 			for (j=0; j<BMP_LOGO_WIDTH; j++) { | ||||
| 				fb16[j] = bmp_logo_palette[(bmap[j])]; | ||||
| 				col16 = bmp_logo_palette[(bmap[j]-16)]; | ||||
| 				fb16[j] = | ||||
| 					((col16 & 0x000F) << 1) | | ||||
| 					((col16 & 0x00F0) << 3) | | ||||
| 					((col16 & 0x0F00) << 4); | ||||
| 				} | ||||
| 			bmap += BMP_LOGO_WIDTH; | ||||
| 			fb16 += panel_info.vl_col; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user