board: ge: bx50v3: Fix message output to video console
authorIan Ray <ian.ray@ge.com>
Tue, 12 Nov 2019 19:15:15 +0000 (19:15 +0000)
committerStefano Babic <sbabic@denx.de>
Tue, 7 Jan 2020 09:26:56 +0000 (10:26 +0100)
Use vidconsole for output to the LCD, now that DM_VIDEO is used.  Write
white text on a black background, like before migrating to DM_VIDEO.

Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
board/ge/bx50v3/bx50v3.c
configs/ge_bx50v3_defconfig
include/configs/ge_bx50v3.h

index 59ec9a0d240ad683a10955abed0577664c03de91..df2d22b61fe1444617cdfdce2927b7b27d541763 100644 (file)
@@ -219,13 +219,6 @@ static void do_enable_hdmi(struct display_info_t const *dev)
        imx_enable_hdmi_phy();
 }
 
-int board_cfb_skip(void)
-{
-       gpio_direction_output(LVDS_POWER_GP, 1);
-
-       return 0;
-}
-
 static int is_b850v3(void)
 {
        return confidx == 3;
@@ -713,8 +706,14 @@ int ft_board_setup(void *blob, bd_t *bd)
 
 static int do_backlight_enable(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
+#if CONFIG_IS_ENABLED(DM_VIDEO)
+       int ret;
+       struct udevice *dev;
+
 #ifdef CONFIG_VIDEO_IPUV3
        if (!is_b850v3()) {
+               gpio_direction_output(LVDS_POWER_GP, 1);
+
                /* We need at least 200ms between power on and backlight on
                 * as per specifications from CHI MEI
                 */
@@ -733,6 +732,14 @@ static int do_backlight_enable(cmd_tbl_t *cmdtp, int flag, int argc, char * cons
        }
 #endif
 
+       /* Probe, to find a video device to be used to show a message on
+        * the vidconsole.
+        */
+       ret = uclass_get_device(UCLASS_VIDEO, 0, &dev);
+       if (ret)
+               return ret;
+#endif
+
        return 0;
 }
 
index f5f471e0a8d851ee00be246538e6e3e611a3ce3e..7d811f5f9b3e9f0cadcf0ad29a9e8d7250f7d419 100644 (file)
@@ -74,3 +74,4 @@ CONFIG_WATCHDOG_TIMEOUT_MSECS=6000
 CONFIG_IMX_WATCHDOG=y
 # CONFIG_EFI_LOADER is not set
 CONFIG_SYS_MALLOC_F_LEN=0x4000
+CONFIG_SYS_WHITE_ON_BLACK=y
index 73cdc5b489fb4b070065d109c0da2c25a7e9a786..9f8d388f522053f71df093bb480e80a82aa002e9 100644 (file)
        "swappartitions=" \
                "setexpr partnum 3 - ${partnum}\0" \
        "failbootcmd=" \
+               "echo reached failbootcmd; " \
                "bx50_backlight_enable; " \
-               "msg=\"Monitor failed to start.  Try again, or contact GE Service for support.\"; " \
-               "echo $msg; " \
-               "setenv stdout vga; " \
-               "echo \"\n\n\n\n    \" $msg; " \
-               "setenv stdout serial; " \
+               "setcurs 5 4; " \
+               "lcdputs \"Monitor failed to start. " \
+               "Try again, or contact GE Service for support.\"; " \
                "mw.b 0x7000A000 0xbc; " \
                "mw.b 0x7000A001 0x00; " \
                "ext4write ${dev} ${devnum}:5 0x7000A000 /boot/failures 2\0" \