Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq
[oweals/u-boot.git] / common / lcd.c
index 5a52fe4287fa7383e8849348bff794f43d6b1138..ed68be9325540ccc8ca4e4118485c98f00d82c4d 100644 (file)
@@ -143,6 +143,16 @@ __weak int lcd_get_size(int *line_length)
        return *line_length * panel_info.vl_row;
 }
 
+/*
+ * Implement a weak default function for boards that optionally
+ * need to skip the lcd console initialization.
+ */
+__weak int board_lcd_console_skip(void)
+{
+       /* As default, don't skip cfb init */
+       return 0;
+}
+
 int drv_lcd_init(void)
 {
        struct stdio_dev lcddev;
@@ -152,6 +162,9 @@ int drv_lcd_init(void)
 
        lcd_init(lcd_base);
 
+       if (board_lcd_console_skip())
+               return 0;
+
        /* Device initialization */
        memset(&lcddev, 0, sizeof(lcddev));
 
@@ -234,8 +247,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();
 }