]> git.sur5r.net Git - u-boot/blobdiff - common/lcd.c
powerpc mpc85xx: Only clear TSR:WIS in watchdog_reset.
[u-boot] / common / lcd.c
index 88dfa51d779c76b097528235e941102076eaa1b6..b6be8002d201692535602677ae2d002b8618e088 100644 (file)
@@ -509,8 +509,14 @@ static inline ushort *configuration_get_cmap(void)
        return (ushort *)&(cp->lcd_cmap[255 * sizeof(ushort)]);
 #elif defined(CONFIG_ATMEL_LCD)
        return (ushort *)(panel_info.mmio + ATMEL_LCDC_LUT(0));
+#elif !defined(CONFIG_ATMEL_HLCD) && !defined(CONFIG_EXYNOS_FB)
+       return panel_info.cmap;
 #else
-       return (ushort *)panel_info.cmap;
+#if defined(CONFIG_LCD_LOGO)
+       return bmp_logo_palette;
+#else
+       return NULL;
+#endif
 #endif
 }
 
@@ -636,10 +642,10 @@ static void splash_align_axis(int *axis, unsigned long panel_size,
 }
 #endif
 
-#if defined CONFIG_CPU_PXA || defined(CONFIG_ATMEL_LCD)
-#define FB_PUT_BYTE(fb, from) *(fb)++ = *(from)++
-#elif defined(CONFIG_MPC823) || defined(CONFIG_MCC200)
+#if defined(CONFIG_MPC823) || defined(CONFIG_MCC200)
 #define FB_PUT_BYTE(fb, from) *(fb)++ = (255 - *(from)++)
+#else
+#define FB_PUT_BYTE(fb, from) *(fb)++ = *(from)++
 #endif
 
 #if defined(CONFIG_BMP_16BPP)
@@ -674,7 +680,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
        unsigned long pwidth = panel_info.vl_col;
        unsigned colors, bpix, bmp_bpix;
 
-       if (!((bmp->header.signature[0] == 'B') &&
+       if (!bmp || !((bmp->header.signature[0] == 'B') &&
                (bmp->header.signature[1] == 'M'))) {
                printf("Error: no valid bmp image at %lx\n", bmp_image);