[U-Boot] [PATCH V2 7/7] ARM: imx: novena: Convert to DM VIDEO

Marek Vasut
2019-05-17T18:32:20Z

Enable DM Video support on iMX6Q Novena and fix minor details
to restore previous behavior of the system.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Vagrant Cascadian <vagrant@debian.org>
---
V2: Print U-Boot version information on the LCD
---
board/kosagi/novena/novena.c | 13 +++++++++++++
configs/novena_defconfig | 6 +++---
include/configs/novena.h | 4 ++--
3 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/board/kosagi/novena/novena.c b/board/kosagi/novena/novena.c
index d897f8f1cd..78294b820e 100644
--- a/board/kosagi/novena/novena.c
+++ b/board/kosagi/novena/novena.c
@@ -39,6 +39,7 @@
#include <power/pmic.h>
#include <power/pfuze100_pmic.h>
#include <stdio_dev.h>
+#include <video_console.h>

#include "novena.h"

@@ -125,7 +126,19 @@ int board_init(void)
int board_late_init(void)
{
#if defined(CONFIG_VIDEO_IPUV3)
+ struct udevice *con;
+ char buf[DISPLAY_OPTIONS_BANNER_LENGTH];
+ int ret;
+
setup_display_lvds();
+
+ ret = uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con);
+ if (ret)
+ return ret;
+
+ display_options_get_banner(false, buf, sizeof(buf));
+ vidconsole_position_cursor(con, 0, 0);
+ vidconsole_put_string(con, buf);
#endif
return 0;
}
diff --git a/configs/novena_defconfig b/configs/novena_defconfig
index bbed972a44..e649ebb549 100644
--- a/configs/novena_defconfig
+++ b/configs/novena_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x17800000
CONFIG_SPL_GPIO_SUPPORT=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
+CONFIG_SYS_MALLOC_F_LEN=0x2000
CONFIG_MX6_DDRCAL=y
CONFIG_TARGET_KOSAGI_NOVENA=y
CONFIG_SPL_MMC_SUPPORT=y
@@ -15,7 +16,6 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
CONFIG_CMD_HDMIDETECT=y
CONFIG_AHCI=y
CONFIG_DISTRO_DEFAULTS=y
-# CONFIG_SYS_MALLOC_F is not set
CONFIG_FIT=y
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,MX6Q"
CONFIG_USE_BOOTARGS=y
@@ -71,7 +71,7 @@ CONFIG_USB_ETH_CDC=y
CONFIG_USB_HOST_ETHER=y
CONFIG_USB_ETHER_ASIX=y
CONFIG_USB_ETHER_SMSC95XX=y
+CONFIG_DM_VIDEO=y
+CONFIG_SYS_WHITE_ON_BLACK=y
CONFIG_VIDEO_IPUV3=y
-CONFIG_VIDEO=y
-# CONFIG_VIDEO_SW_CURSOR is not set
CONFIG_FAT_WRITE=y
diff --git a/include/configs/novena.h b/include/configs/novena.h
index bc7383e957..cdc437c492 100644
--- a/include/configs/novena.h
+++ b/include/configs/novena.h
@@ -119,14 +119,12 @@
#endif

/* Video output */
-#ifdef CONFIG_VIDEO
#define CONFIG_VIDEO_BMP_RLE8
#define CONFIG_SPLASH_SCREEN
#define CONFIG_BMP_16BPP
#define CONFIG_VIDEO_LOGO
#define CONFIG_IMX_HDMI
#define CONFIG_IMX_VIDEO_SKIP
-#endif

/* Extra U-Boot environment. */
#ifndef CONFIG_SPL_BUILD
@@ -144,6 +142,8 @@
"ramdisk_addr_r=0x28000000\0" \
"fdt_addr_r=0x18000000\0" \
"fdtfile=imx6q-novena.dtb\0" \
+ "stdout=serial,vidconsole\0" \
+ "stderr=serial,vidconsole\0" \
"addcons=" \
"setenv bootargs ${bootargs} " \
"console=${consdev},${baudrate}\0" \
--
2.20.1