]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - common/lcd.c
usb: gadget: Call g_dnl_bind_fixup() before testing g_dnl_serial length
[people/ms/u-boot.git] / common / lcd.c
index 5a52fe4287fa7383e8849348bff794f43d6b1138..7e399cee2de6822a56703870302aa4eec987cc59 100644 (file)
 #endif
 #endif
 
-#ifdef CONFIG_SANDBOX
-#include <asm/sdl.h>
-#endif
-
 #ifndef CONFIG_LCD_ALIGNMENT
 #define CONFIG_LCD_ALIGNMENT PAGE_SIZE
 #endif
@@ -70,15 +66,8 @@ void lcd_sync(void)
        int line_length;
 
        if (lcd_flush_dcache)
-               flush_dcache_range((u32)lcd_base,
-                       (u32)(lcd_base + lcd_get_size(&line_length)));
-#elif defined(CONFIG_SANDBOX) && defined(CONFIG_VIDEO_SANDBOX_SDL)
-       static ulong last_sync;
-
-       if (get_timer(last_sync) > 10) {
-               sandbox_sdl_sync(lcd_base);
-               last_sync = get_timer(0);
-       }
+               flush_dcache_range((ulong)lcd_base,
+                       (ulong)(lcd_base + lcd_get_size(&line_length)));
 #endif
 }
 
@@ -100,13 +89,24 @@ static void lcd_stub_puts(struct stdio_dev *dev, const char *s)
 /* Small utility to check that you got the colours right */
 #ifdef LCD_TEST_PATTERN
 
+#if LCD_BPP == LCD_COLOR8
 #define        N_BLK_VERT      2
 #define        N_BLK_HOR       3
 
 static int test_colors[N_BLK_HOR * N_BLK_VERT] = {
        CONSOLE_COLOR_RED,      CONSOLE_COLOR_GREEN,    CONSOLE_COLOR_YELLOW,
        CONSOLE_COLOR_BLUE,     CONSOLE_COLOR_MAGENTA,  CONSOLE_COLOR_CYAN,
+}; /*LCD_BPP == LCD_COLOR8 */
+
+#elif LCD_BPP == LCD_COLOR16
+#define        N_BLK_VERT      2
+#define        N_BLK_HOR       4
+
+static int test_colors[N_BLK_HOR * N_BLK_VERT] = {
+       CONSOLE_COLOR_RED,      CONSOLE_COLOR_GREEN,    CONSOLE_COLOR_YELLOW,   CONSOLE_COLOR_BLUE,
+       CONSOLE_COLOR_MAGENTA,  CONSOLE_COLOR_CYAN,     CONSOLE_COLOR_GREY,     CONSOLE_COLOR_WHITE,
 };
+#endif /*LCD_BPP == LCD_COLOR16 */
 
 static void test_pattern(void)
 {
@@ -115,12 +115,15 @@ static void test_pattern(void)
        ushort v_step = (v_max + N_BLK_VERT - 1) / N_BLK_VERT;
        ushort h_step = (h_max + N_BLK_HOR  - 1) / N_BLK_HOR;
        ushort v, h;
+#if LCD_BPP == LCD_COLOR8
        uchar *pix = (uchar *)lcd_base;
+#elif LCD_BPP == LCD_COLOR16
+       ushort *pix = (ushort *)lcd_base;
+#endif
 
        printf("[LCD] Test Pattern: %d x %d [%d x %d]\n",
                h_max, v_max, h_step, v_step);
 
-       /* WARNING: Code silently assumes 8bit/pixel */
        for (v = 0; v < v_max; ++v) {
                uchar iy = v / v_step;
                for (h = 0; h < h_max; ++h) {
@@ -234,8 +237,8 @@ void lcd_clear(void)
        lcd_logo();
 #if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO)
        addr = (ulong)lcd_base + BMP_LOGO_HEIGHT * lcd_line_length;
-       lcd_init_console((void *)addr, panel_info.vl_row,
-                        panel_info.vl_col, panel_info.vl_rot);
+       lcd_init_console((void *)addr, panel_info.vl_col,
+                        panel_info.vl_row, panel_info.vl_rot);
 #endif
        lcd_sync();
 }
@@ -559,11 +562,7 @@ __weak void lcd_set_cmap(struct bmp_image *bmp, unsigned colors)
                *cmap = (((cte.red)   << 8) & 0xf800) |
                        (((cte.green) << 3) & 0x07e0) |
                        (((cte.blue)  >> 3) & 0x001f);
-#if defined(CONFIG_MPC823)
-               cmap--;
-#else
                cmap++;
-#endif
        }
 }
 
@@ -701,7 +700,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
                }
                break;
 #endif /* CONFIG_BMP_16BPP */
-#if defined(CONFIG_BMP_24BMP)
+#if defined(CONFIG_BMP_24BPP)
        case 24:
                for (i = 0; i < height; ++i) {
                        for (j = 0; j < width; j++) {
@@ -713,7 +712,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
                        fb -= lcd_line_length + width * (bpix / 8);
                }
                break;
-#endif /* CONFIG_BMP_24BMP */
+#endif /* CONFIG_BMP_24BPP */
 #if defined(CONFIG_BMP_32BPP)
        case 32:
                for (i = 0; i < height; ++i) {