From 0d1c2404e1e3bea3a022aaf654ba8c0109482982 Mon Sep 17 00:00:00 2001 From: Ye Li Date: Sun, 10 May 2020 06:50:28 -0700 Subject: [PATCH] MLK-23964-25 imx6sll_evk: Enable splash screen Enable the splash screen basing on video link Update the DTS to fix the bpp in lcdif node and add alias Signed-off-by: Ye Li (cherry picked from commit 93a53c60a73dab539fdf98542a367e83820df775) --- arch/arm/dts/imx6sll-evk.dts | 8 ++--- arch/arm/dts/imx6sll.dtsi | 1 + board/freescale/mx6sllevk/mx6sllevk.c | 65 ++++++----------------------------- configs/mx6sllevk_defconfig | 5 ++- configs/mx6sllevk_epdc_defconfig | 1 - configs/mx6sllevk_optee_defconfig | 5 ++- configs/mx6sllevk_plugin_defconfig | 5 ++- include/configs/mx6sllevk.h | 6 ++-- 8 files changed, 30 insertions(+), 66 deletions(-) diff --git a/arch/arm/dts/imx6sll-evk.dts b/arch/arm/dts/imx6sll-evk.dts index 30da62e..b5f06c8 100644 --- a/arch/arm/dts/imx6sll-evk.dts +++ b/arch/arm/dts/imx6sll-evk.dts @@ -98,7 +98,7 @@ compatible = "regulator-fixed"; reg = <4>; regulator-name = "lcd-pwr"; - gpio = <&gpio4 8 0>; + gpio = <&gpio4 3 0>; enable-active-high; }; @@ -501,8 +501,8 @@ MX6SLL_PAD_LCD_ENABLE__LCD_ENABLE 0x79 MX6SLL_PAD_LCD_HSYNC__LCD_HSYNC 0x79 MX6SLL_PAD_LCD_VSYNC__LCD_VSYNC 0x79 - MX6SLL_PAD_LCD_RESET__LCD_RESET 0x79 - MX6SLL_PAD_ECSPI1_SCLK__GPIO4_IO08 0x79 + MX6SLL_PAD_LCD_RESET__GPIO2_IO19 0x17059 + MX6SLL_PAD_KEY_ROW5__GPIO4_IO03 0x17059 >; }; @@ -719,7 +719,7 @@ status = "okay"; display0: display@0 { - bits-per-pixel = <16>; + bits-per-pixel = <24>; bus-width = <24>; display-timings { diff --git a/arch/arm/dts/imx6sll.dtsi b/arch/arm/dts/imx6sll.dtsi index 0b97c29..f05fe3e 100644 --- a/arch/arm/dts/imx6sll.dtsi +++ b/arch/arm/dts/imx6sll.dtsi @@ -42,6 +42,7 @@ usb1 = &usbotg2; usbgadget0 = &usbg1; usbgadget1 = &usbg2; + video0 = &lcdif; }; cpus { diff --git a/board/freescale/mx6sllevk/mx6sllevk.c b/board/freescale/mx6sllevk/mx6sllevk.c index 5f0ce59..e0232ab 100644 --- a/board/freescale/mx6sllevk/mx6sllevk.c +++ b/board/freescale/mx6sllevk/mx6sllevk.c @@ -105,36 +105,8 @@ int power_init_board(void) } #endif -#ifdef CONFIG_VIDEO_MXS +#ifdef CONFIG_DM_VIDEO static iomux_v3_cfg_t const lcd_pads[] = { - MX6_PAD_LCD_CLK__LCD_CLK | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_ENABLE__LCD_ENABLE | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_HSYNC__LCD_HSYNC | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_VSYNC__LCD_VSYNC | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA00__LCD_DATA00 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA01__LCD_DATA01 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA02__LCD_DATA02 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA03__LCD_DATA03 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA04__LCD_DATA04 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA05__LCD_DATA05 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA06__LCD_DATA06 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA07__LCD_DATA07 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA08__LCD_DATA08 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA09__LCD_DATA09 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA10__LCD_DATA10 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA11__LCD_DATA11 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA12__LCD_DATA12 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA13__LCD_DATA13 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA14__LCD_DATA14 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA15__LCD_DATA15 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA16__LCD_DATA16 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA17__LCD_DATA17 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA18__LCD_DATA18 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA19__LCD_DATA19 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA20__LCD_DATA20 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA21__LCD_DATA21 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA22__LCD_DATA22 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA23__LCD_DATA23 | MUX_PAD_CTRL(LCD_PAD_CTRL), MX6_PAD_KEY_ROW5__GPIO4_IO03 | MUX_PAD_CTRL(NO_PAD_CTRL), MX6_PAD_LCD_RESET__GPIO2_IO19 | MUX_PAD_CTRL(NO_PAD_CTRL), @@ -142,15 +114,14 @@ static iomux_v3_cfg_t const lcd_pads[] = { MX6_PAD_PWM1__GPIO3_IO23 | MUX_PAD_CTRL(NO_PAD_CTRL), }; -void do_enable_parallel_lcd(struct display_info_t const *dev) - +static int setup_lcd(void) { int ret; - ret = enable_lcdif_clock(dev->bus, 1); + ret = enable_lcdif_clock(MX6SLL_LCDIF_BASE_ADDR, 1); if (ret) { printf("Enable LCDIF clock failed, %d\n", ret); - return; + return -EPERM; } imx_iomux_v3_setup_multiple_pads(lcd_pads, ARRAY_SIZE(lcd_pads)); @@ -167,29 +138,11 @@ void do_enable_parallel_lcd(struct display_info_t const *dev) /* Set Brightness to high */ gpio_request(IMX_GPIO_NR(3, 23), "backlight"); gpio_direction_output(IMX_GPIO_NR(3, 23) , 1); -} -struct display_info_t const displays[] = {{ - .bus = MX6SLL_LCDIF_BASE_ADDR, - .addr = 0, - .pixfmt = 24, - .detect = NULL, - .enable = do_enable_parallel_lcd, - .mode = { - .name = "MCIMX28LCD", - .xres = 800, - .yres = 480, - .pixclock = 29850, - .left_margin = 89, - .right_margin = 164, - .upper_margin = 23, - .lower_margin = 10, - .hsync_len = 10, - .vsync_len = 10, - .sync = 0, - .vmode = FB_VMODE_NONINTERLACED -} } }; -size_t display_count = ARRAY_SIZE(displays); + return 0; +} +#else +static inline int setup_lcd(void) { return 0; } #endif #ifdef CONFIG_MXC_EPDC @@ -437,6 +390,8 @@ int board_late_init(void) board_late_mmc_env_init(); #endif + setup_lcd(); + imx_iomux_v3_setup_multiple_pads(wdog_pads, ARRAY_SIZE(wdog_pads)); set_wdog_reset((struct wdog_regs *)WDOG1_BASE_ADDR); diff --git a/configs/mx6sllevk_defconfig b/configs/mx6sllevk_defconfig index 1f7abd5..5b5a711 100644 --- a/configs/mx6sllevk_defconfig +++ b/configs/mx6sllevk_defconfig @@ -9,7 +9,6 @@ CONFIG_NR_DRAM_BANKS=1 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6sllevk/imximage.cfg" CONFIG_SUPPORT_RAW_INITRD=y CONFIG_BOUNCE_BUFFER=y -CONFIG_VIDEO=y CONFIG_BOOTDELAY=3 CONFIG_BOARD_EARLY_INIT_F=y CONFIG_HUSH_PARSER=y @@ -22,6 +21,7 @@ CONFIG_CMD_MMC=y CONFIG_CMD_USB=y CONFIG_CMD_DHCP=y CONFIG_CMD_PING=y +CONFIG_CMD_BMP=y CONFIG_CMD_CACHE=y CONFIG_CMD_REGULATOR=y CONFIG_CMD_EXT2=y @@ -55,6 +55,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_DM_ETH=y CONFIG_PHYLIB=y +CONFIG_DM_VIDEO=y +CONFIG_SYS_WHITE_ON_BLACK=y + CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_USB_GADGET_MANUFACTURER="FSL" diff --git a/configs/mx6sllevk_epdc_defconfig b/configs/mx6sllevk_epdc_defconfig index ec11a9e..d72e54b 100644 --- a/configs/mx6sllevk_epdc_defconfig +++ b/configs/mx6sllevk_epdc_defconfig @@ -9,7 +9,6 @@ CONFIG_NR_DRAM_BANKS=1 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6sllevk/imximage.cfg" CONFIG_SUPPORT_RAW_INITRD=y CONFIG_BOUNCE_BUFFER=y -CONFIG_VIDEO=y CONFIG_MXC_EPDC=y CONFIG_LCD=y CONFIG_BOOTDELAY=3 diff --git a/configs/mx6sllevk_optee_defconfig b/configs/mx6sllevk_optee_defconfig index 9e60af0..0aebd08 100644 --- a/configs/mx6sllevk_optee_defconfig +++ b/configs/mx6sllevk_optee_defconfig @@ -9,7 +9,6 @@ CONFIG_NR_DRAM_BANKS=1 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6sllevk/imximage.cfg" CONFIG_SUPPORT_RAW_INITRD=y CONFIG_BOUNCE_BUFFER=y -CONFIG_VIDEO=y CONFIG_IMX_OPTEE=y CONFIG_BOOTDELAY=3 CONFIG_BOARD_EARLY_INIT_F=y @@ -23,6 +22,7 @@ CONFIG_CMD_MMC=y CONFIG_CMD_USB=y CONFIG_CMD_DHCP=y CONFIG_CMD_PING=y +CONFIG_CMD_BMP=y CONFIG_CMD_CACHE=y CONFIG_CMD_REGULATOR=y CONFIG_CMD_EXT2=y @@ -56,6 +56,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_DM_ETH=y CONFIG_PHYLIB=y +CONFIG_DM_VIDEO=y +CONFIG_SYS_WHITE_ON_BLACK=y + CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_USB_GADGET_MANUFACTURER="FSL" diff --git a/configs/mx6sllevk_plugin_defconfig b/configs/mx6sllevk_plugin_defconfig index 2a8284c..3471393 100644 --- a/configs/mx6sllevk_plugin_defconfig +++ b/configs/mx6sllevk_plugin_defconfig @@ -10,7 +10,6 @@ CONFIG_USE_IMXIMG_PLUGIN=y CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6sllevk/imximage.cfg" CONFIG_SUPPORT_RAW_INITRD=y CONFIG_BOUNCE_BUFFER=y -CONFIG_VIDEO=y CONFIG_BOOTDELAY=3 CONFIG_BOARD_EARLY_INIT_F=y CONFIG_HUSH_PARSER=y @@ -23,6 +22,7 @@ CONFIG_CMD_MMC=y CONFIG_CMD_USB=y CONFIG_CMD_DHCP=y CONFIG_CMD_PING=y +CONFIG_CMD_BMP=y CONFIG_CMD_CACHE=y CONFIG_CMD_REGULATOR=y CONFIG_CMD_EXT2=y @@ -55,6 +55,9 @@ CONFIG_USB_ETHER_RTL8152=y CONFIG_DM_ETH=y CONFIG_PHYLIB=y +CONFIG_DM_VIDEO=y +CONFIG_SYS_WHITE_ON_BLACK=y + CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_USB_GADGET_MANUFACTURER="FSL" diff --git a/include/configs/mx6sllevk.h b/include/configs/mx6sllevk.h index cce7dcf..48b3edc 100644 --- a/include/configs/mx6sllevk.h +++ b/include/configs/mx6sllevk.h @@ -52,6 +52,7 @@ "tee_file=uTee-6sllevk\0" \ "boot_fdt=try\0" \ "ip_dyn=yes\0" \ + "splashimage=0x8c000000\0" \ "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ "mmcpart=1\0" \ "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ @@ -169,16 +170,15 @@ #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) #endif -#ifdef CONFIG_VIDEO +#ifdef CONFIG_DM_VIDEO #define CONFIG_VIDEO_MXS +#define CONFIG_VIDEO_LINK #define CONFIG_VIDEO_LOGO #define CONFIG_SPLASH_SCREEN #define CONFIG_SPLASH_SCREEN_ALIGN -#define CONFIG_CMD_BMP #define CONFIG_BMP_16BPP #define CONFIG_VIDEO_BMP_RLE8 #define CONFIG_VIDEO_BMP_LOGO -#define CONFIG_IMX_VIDEO_SKIP #endif /* -- 1.9.1