[U-Boot] [PATCH 1/2] imx: mx6ul_14x14_evk: Fix SPL boot

When booting SPL on the board, met boot failure: " Trying to boot from MMC2 MMC Device 1 not found spl: could not find mmc device 1. error: -19 SPL: failed to boot from all boot devices "
Let's register the two mmc controllers in SPL stage to avoid boot failure.
Signed-off-by: Peng Fan peng.fan@nxp.com --- board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c | 16 ---------------- 1 file changed, 16 deletions(-)
diff --git a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c index 785247f7e2..af5af4d50a 100644 --- a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c +++ b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c @@ -110,7 +110,6 @@ static iomux_v3_cfg_t const uart1_pads[] = { MX6_PAD_UART1_RX_DATA__UART1_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL), };
-#ifndef CONFIG_SPL_BUILD static iomux_v3_cfg_t const usdhc1_pads[] = { MX6_PAD_SD1_CLK__USDHC1_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL), MX6_PAD_SD1_CMD__USDHC1_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL), @@ -126,7 +125,6 @@ static iomux_v3_cfg_t const usdhc1_pads[] = { /* RST_B */ MX6_PAD_GPIO1_IO09__GPIO1_IO09 | MUX_PAD_CTRL(NO_PAD_CTRL), }; -#endif
/* * mx6ul_14x14_evk board default supports sd card. If want to use @@ -237,19 +235,6 @@ int board_mmc_getcd(struct mmc *mmc)
int board_mmc_init(bd_t *bis) { -#ifdef CONFIG_SPL_BUILD -#if defined(CONFIG_MX6UL_14X14_EVK_EMMC_REWORK) - imx_iomux_v3_setup_multiple_pads(usdhc2_emmc_pads, - ARRAY_SIZE(usdhc2_emmc_pads)); -#else - imx_iomux_v3_setup_multiple_pads(usdhc2_pads, ARRAY_SIZE(usdhc2_pads)); -#endif - gpio_direction_output(USDHC2_PWR_GPIO, 0); - udelay(500); - gpio_direction_output(USDHC2_PWR_GPIO, 1); - usdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK); - return fsl_esdhc_initialize(bis, &usdhc_cfg[1]); -#else int i, ret;
/* @@ -296,7 +281,6 @@ int board_mmc_init(bd_t *bis) return ret; } } -#endif return 0; } #endif

To support DM_VIDEO, Add display node for lcdif Drop board iomuxc settings. Enable DM_VIDEO
Signed-off-by: Peng Fan peng.fan@nxp.com ---
V1: This patch could be applied directly, but it needs https://patchwork.ozlabs.org/patch/1133224/ patchset work let DM VIDEO work.
arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi | 49 ++++++++++++++++++- board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c | 57 ++++++++--------------- configs/mx6ul_14x14_evk_defconfig | 2 +- include/configs/mx6ul_14x14_evk.h | 2 +- 4 files changed, 70 insertions(+), 40 deletions(-)
diff --git a/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi b/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi index 77cb461a21..e9efdb9831 100644 --- a/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi +++ b/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi @@ -3,8 +3,55 @@ * Copyright 2018 NXP */
+&{/aliases} { + u-boot,dm-pre-reloc; + display0 = &lcdif; +}; + &qspi { flash0: n25q256a@0 { compatible = "jedec,spi-nor"; }; -}; \ No newline at end of file +}; + +&{/soc} { + u-boot,dm-pre-reloc; +}; + +&aips2 { + u-boot,dm-pre-reloc; +}; + +&iomuxc { + u-boot,dm-pre-reloc; +}; + +&lcdif { + display = <&display0>; + u-boot,dm-pre-reloc; + + display0: display@0 { + bits-per-pixel = <16>; + bus-width = <24>; + + display-timings { + native-mode = <&timing0>; + + timing0: timing0 { + clock-frequency = <9200000>; + hactive = <480>; + vactive = <272>; + hfront-porch = <8>; + hback-porch = <4>; + hsync-len = <41>; + vback-porch = <2>; + vfront-porch = <4>; + vsync-len = <10>; + hsync-active = <0>; + vsync-active = <0>; + de-active = <1>; + pixelclk-active = <0>; + }; + }; + }; +}; diff --git a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c index af5af4d50a..126a805163 100644 --- a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c +++ b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c @@ -27,6 +27,10 @@ #include "../common/pfuze.h" #include <usb.h> #include <usb/ehci-ci.h> +#ifdef CONFIG_DM_VIDEO +#include <bmp_logo_data.h> +#include <video.h> +#endif
DECLARE_GLOBAL_DATA_PTR;
@@ -420,40 +424,8 @@ int board_phy_config(struct phy_device *phydev) } #endif
-#ifdef CONFIG_VIDEO_MXS +#ifdef CONFIG_DM_VIDEO static iomux_v3_cfg_t const lcd_pads[] = { - MX6_PAD_LCD_CLK__LCDIF_CLK | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_ENABLE__LCDIF_ENABLE | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_HSYNC__LCDIF_HSYNC | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_VSYNC__LCDIF_VSYNC | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA00__LCDIF_DATA00 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA01__LCDIF_DATA01 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA02__LCDIF_DATA02 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA03__LCDIF_DATA03 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA04__LCDIF_DATA04 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA05__LCDIF_DATA05 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA06__LCDIF_DATA06 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA07__LCDIF_DATA07 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA08__LCDIF_DATA08 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA09__LCDIF_DATA09 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA10__LCDIF_DATA10 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA11__LCDIF_DATA11 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA12__LCDIF_DATA12 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA13__LCDIF_DATA13 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA14__LCDIF_DATA14 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA15__LCDIF_DATA15 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA16__LCDIF_DATA16 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA17__LCDIF_DATA17 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA18__LCDIF_DATA18 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA19__LCDIF_DATA19 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA20__LCDIF_DATA20 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA21__LCDIF_DATA21 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA22__LCDIF_DATA22 | MUX_PAD_CTRL(LCD_PAD_CTRL), - MX6_PAD_LCD_DATA23__LCDIF_DATA23 | MUX_PAD_CTRL(LCD_PAD_CTRL), - - /* LCD_RST */ - MX6_PAD_SNVS_TAMPER9__GPIO5_IO09 | MUX_PAD_CTRL(NO_PAD_CTRL), - /* Use GPIO for Brightness adjustment, duty cycle = period. */ MX6_PAD_GPIO1_IO08__GPIO1_IO08 | MUX_PAD_CTRL(NO_PAD_CTRL), }; @@ -504,10 +476,6 @@ int board_init(void) board_qspi_init(); #endif
-#ifdef CONFIG_VIDEO_MXS - setup_lcd(); -#endif - return 0; }
@@ -536,6 +504,21 @@ int board_late_init(void) env_set("board_rev", "14X14"); #endif
+#if defined(CONFIG_DM_VIDEO) + struct udevice *dev; + int ret; + + ret = uclass_get_device(UCLASS_VIDEO, 0, &dev); + if (ret) + return ret; + + setup_lcd(); + + ret = video_bmp_display(dev, (ulong)bmp_logo_bitmap, 0, 0, true); + if (ret) + return ret; +#endif + return 0; }
diff --git a/configs/mx6ul_14x14_evk_defconfig b/configs/mx6ul_14x14_evk_defconfig index 1d777b5fb2..10fb07dd2c 100644 --- a/configs/mx6ul_14x14_evk_defconfig +++ b/configs/mx6ul_14x14_evk_defconfig @@ -67,4 +67,4 @@ CONFIG_FSL_QSPI=y CONFIG_USB=y CONFIG_DM_USB=y CONFIG_USB_STORAGE=y -CONFIG_VIDEO=y +CONFIG_DM_VIDEO=y diff --git a/include/configs/mx6ul_14x14_evk.h b/include/configs/mx6ul_14x14_evk.h index 42e511591c..f8a5fd30f3 100644 --- a/include/configs/mx6ul_14x14_evk.h +++ b/include/configs/mx6ul_14x14_evk.h @@ -196,7 +196,7 @@ #define CONFIG_IMX_THERMAL
#ifndef CONFIG_SPL_BUILD -#ifdef CONFIG_VIDEO +#if defined(CONFIG_DM_VIDEO) #define CONFIG_VIDEO_MXS #define CONFIG_VIDEO_LOGO #define CONFIG_SPLASH_SCREEN

Hi Peng,
On Thu, Aug 1, 2019 at 3:02 AM Peng Fan peng.fan@nxp.com wrote:
display0: display@0 {
bits-per-pixel = <16>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <9200000>;
hactive = <480>;
vactive = <272>;
hfront-porch = <8>;
hback-porch = <4>;
hsync-len = <41>;
vback-porch = <2>;
vfront-porch = <4>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
So here we have the LCD timings in the device tree, which differs from the the devicetree in mainline.
This is based on the old mxsfb fbdev driver, which has been removed in 5.3-rc.
In mainline we pass the innolux,at043tn24 LCD compatible.
Shouldn't U-Boot be able to handle the same dt-bindings as in the kernel?

HI,
Subject: Re: [PATCH 2/2] imx: mx6ul_14x14_evk: convert to DM_VIDEO
Hi Peng,
On Thu, Aug 1, 2019 at 3:02 AM Peng Fan peng.fan@nxp.com wrote:
display0: display@0 {
bits-per-pixel = <16>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <9200000>;
hactive = <480>;
vactive = <272>;
hfront-porch = <8>;
hback-porch = <4>;
hsync-len = <41>;
vback-porch = <2>;
vfront-porch = <4>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
So here we have the LCD timings in the device tree, which differs from the the devicetree in mainline.
This is based on the old mxsfb fbdev driver, which has been removed in 5.3-rc.
In mainline we pass the innolux,at043tn24 LCD compatible.
Shouldn't U-Boot be able to handle the same dt-bindings as in the kernel?
I added this node in x-u-boot.dtsi, not in common dts. If drop this display-timings, we need add a similar structure inside code just as kernel did. And need to restructure mxsfb driver.
For simple, we could leave this in u-boot.dtsi.
Anatolij, what's your suggestion?
Thanks, Peng.

On Fri, Aug 2, 2019 at 12:05 PM Peng Fan peng.fan@nxp.com wrote:
HI,
Subject: Re: [PATCH 2/2] imx: mx6ul_14x14_evk: convert to DM_VIDEO
Hi Peng,
On Thu, Aug 1, 2019 at 3:02 AM Peng Fan peng.fan@nxp.com wrote:
display0: display@0 {
bits-per-pixel = <16>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <9200000>;
hactive = <480>;
vactive = <272>;
hfront-porch = <8>;
hback-porch = <4>;
hsync-len = <41>;
vback-porch = <2>;
vfront-porch = <4>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
So here we have the LCD timings in the device tree, which differs from the the devicetree in mainline.
This is based on the old mxsfb fbdev driver, which has been removed in 5.3-rc.
In mainline we pass the innolux,at043tn24 LCD compatible.
Shouldn't U-Boot be able to handle the same dt-bindings as in the kernel?
I added this node in x-u-boot.dtsi, not in common dts. If drop this display-timings, we need add a similar structure inside code just as kernel did. And need to restructure mxsfb driver.
For simple, we could leave this in u-boot.dtsi.
How about adding panel timings in panel-simple we have similar in u-boot and sync equivalent dts changes from Linux?

Subject: Re: [U-Boot] [PATCH 2/2] imx: mx6ul_14x14_evk: convert to DM_VIDEO
On Fri, Aug 2, 2019 at 12:05 PM Peng Fan peng.fan@nxp.com wrote:
HI,
Subject: Re: [PATCH 2/2] imx: mx6ul_14x14_evk: convert to DM_VIDEO
Hi Peng,
On Thu, Aug 1, 2019 at 3:02 AM Peng Fan peng.fan@nxp.com wrote:
display0: display@0 {
bits-per-pixel = <16>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <9200000>;
hactive = <480>;
vactive = <272>;
hfront-porch = <8>;
hback-porch = <4>;
hsync-len = <41>;
vback-porch = <2>;
vfront-porch = <4>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
So here we have the LCD timings in the device tree, which differs from the the devicetree in mainline.
This is based on the old mxsfb fbdev driver, which has been removed in
5.3-rc.
In mainline we pass the innolux,at043tn24 LCD compatible.
Shouldn't U-Boot be able to handle the same dt-bindings as in the kernel?
I added this node in x-u-boot.dtsi, not in common dts. If drop this display-timings, we need add a similar structure inside code just as kernel
did.
And need to restructure mxsfb driver.
For simple, we could leave this in u-boot.dtsi.
How about adding panel timings in panel-simple we have similar in u-boot and sync equivalent dts changes from Linux?
The panel timings needs to be passed to display driver, kernel has drm-crtc for this, but uboot does not have it.
The method is to let display driver to find the panel node/device to get the timings.
Will this work?
Thanks, Peng.

Subject: RE: [U-Boot] [PATCH 2/2] imx: mx6ul_14x14_evk: convert to DM_VIDEO
Subject: Re: [U-Boot] [PATCH 2/2] imx: mx6ul_14x14_evk: convert to DM_VIDEO
On Fri, Aug 2, 2019 at 12:05 PM Peng Fan peng.fan@nxp.com wrote:
HI,
Subject: Re: [PATCH 2/2] imx: mx6ul_14x14_evk: convert to DM_VIDEO
Hi Peng,
On Thu, Aug 1, 2019 at 3:02 AM Peng Fan peng.fan@nxp.com wrote:
display0: display@0 {
bits-per-pixel = <16>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <9200000>;
hactive = <480>;
vactive = <272>;
hfront-porch = <8>;
hback-porch = <4>;
hsync-len = <41>;
vback-porch = <2>;
vfront-porch = <4>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
So here we have the LCD timings in the device tree, which differs from the the devicetree in mainline.
This is based on the old mxsfb fbdev driver, which has been removed in
5.3-rc.
In mainline we pass the innolux,at043tn24 LCD compatible.
Shouldn't U-Boot be able to handle the same dt-bindings as in the
kernel?
I added this node in x-u-boot.dtsi, not in common dts. If drop this display-timings, we need add a similar structure inside code just as kernel
did.
And need to restructure mxsfb driver.
For simple, we could leave this in u-boot.dtsi.
How about adding panel timings in panel-simple we have similar in u-boot and sync equivalent dts changes from Linux?
The panel timings needs to be passed to display driver, kernel has drm-crtc for this, but uboot does not have it.
The method is to let display driver to find the panel node/device to get the timings.
Will this work?
An issue is where to get bits-per-pixel?
Thanks, Peng.
Thanks, Peng.

On Fri, 2 Aug 2019 06:35:26 +0000 Peng Fan peng.fan@nxp.com wrote:
Shouldn't U-Boot be able to handle the same dt-bindings as in the kernel?
I added this node in x-u-boot.dtsi, not in common dts. If drop this display-timings, we need add a similar structure inside code just as kernel did. And need to restructure mxsfb driver.
For simple, we could leave this in u-boot.dtsi.
Anatolij, what's your suggestion?
We do not have a panel driver with timing database in U-Boot. For now I'd accept if you add timing info in U-Boot specific dts.
-- Anatolij

Hi Peng,
On Thu, Aug 1, 2019 at 9:03 AM Peng Fan peng.fan@nxp.com wrote:
To support DM_VIDEO, Add display node for lcdif Drop board iomuxc settings. Enable DM_VIDEO
Signed-off-by: Peng Fan peng.fan@nxp.com
V1: This patch could be applied directly, but it needs https://patchwork.ozlabs.org/patch/1133224/ patchset work let DM VIDEO work.
arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi | 49 ++++++++++++++++++- board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c | 57 ++++++++--------------- configs/mx6ul_14x14_evk_defconfig | 2 +- include/configs/mx6ul_14x14_evk.h | 2 +- 4 files changed, 70 insertions(+), 40 deletions(-)
diff --git a/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi b/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi index 77cb461a21..e9efdb9831 100644 --- a/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi +++ b/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi @@ -3,8 +3,55 @@
- Copyright 2018 NXP
*/
+&{/aliases} {
u-boot,dm-pre-reloc;
display0 = &lcdif;
+};
&qspi { flash0: n25q256a@0 { compatible = "jedec,spi-nor"; }; -}; \ No newline at end of file +};
+&{/soc} {
u-boot,dm-pre-reloc;
+};
+&aips2 {
u-boot,dm-pre-reloc;
+};
+&iomuxc {
u-boot,dm-pre-reloc;
+};
+&lcdif {
display = <&display0>;
u-boot,dm-pre-reloc;
display0: display@0 {
bits-per-pixel = <16>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <9200000>;
hactive = <480>;
vactive = <272>;
hfront-porch = <8>;
hback-porch = <4>;
hsync-len = <41>;
vback-porch = <2>;
vfront-porch = <4>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
+}; diff --git a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c index af5af4d50a..126a805163 100644 --- a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c +++ b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c @@ -27,6 +27,10 @@ #include "../common/pfuze.h" #include <usb.h> #include <usb/ehci-ci.h> +#ifdef CONFIG_DM_VIDEO +#include <bmp_logo_data.h> +#include <video.h> +#endif
DECLARE_GLOBAL_DATA_PTR;
@@ -420,40 +424,8 @@ int board_phy_config(struct phy_device *phydev) } #endif
-#ifdef CONFIG_VIDEO_MXS +#ifdef CONFIG_DM_VIDEO static iomux_v3_cfg_t const lcd_pads[] = {
MX6_PAD_LCD_CLK__LCDIF_CLK | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_ENABLE__LCDIF_ENABLE | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_HSYNC__LCDIF_HSYNC | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_VSYNC__LCDIF_VSYNC | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA00__LCDIF_DATA00 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA01__LCDIF_DATA01 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA02__LCDIF_DATA02 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA03__LCDIF_DATA03 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA04__LCDIF_DATA04 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA05__LCDIF_DATA05 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA06__LCDIF_DATA06 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA07__LCDIF_DATA07 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA08__LCDIF_DATA08 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA09__LCDIF_DATA09 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA10__LCDIF_DATA10 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA11__LCDIF_DATA11 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA12__LCDIF_DATA12 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA13__LCDIF_DATA13 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA14__LCDIF_DATA14 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA15__LCDIF_DATA15 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA16__LCDIF_DATA16 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA17__LCDIF_DATA17 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA18__LCDIF_DATA18 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA19__LCDIF_DATA19 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA20__LCDIF_DATA20 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA21__LCDIF_DATA21 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA22__LCDIF_DATA22 | MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA23__LCDIF_DATA23 | MUX_PAD_CTRL(LCD_PAD_CTRL),
/* LCD_RST */
MX6_PAD_SNVS_TAMPER9__GPIO5_IO09 | MUX_PAD_CTRL(NO_PAD_CTRL),
/* Use GPIO for Brightness adjustment, duty cycle = period. */ MX6_PAD_GPIO1_IO08__GPIO1_IO08 | MUX_PAD_CTRL(NO_PAD_CTRL),
}; @@ -504,10 +476,6 @@ int board_init(void) board_qspi_init(); #endif
-#ifdef CONFIG_VIDEO_MXS
setup_lcd();
-#endif
return 0;
}
@@ -536,6 +504,21 @@ int board_late_init(void) env_set("board_rev", "14X14"); #endif
+#if defined(CONFIG_DM_VIDEO)
struct udevice *dev;
int ret;
ret = uclass_get_device(UCLASS_VIDEO, 0, &dev);
if (ret)
return ret;
setup_lcd();
ret = video_bmp_display(dev, (ulong)bmp_logo_bitmap, 0, 0, true);
if (ret)
return ret;
+#endif
What about this approach [1] for showing boot logo? Now it also works for DM_VIDEO=y setups.
return 0;
}
diff --git a/configs/mx6ul_14x14_evk_defconfig b/configs/mx6ul_14x14_evk_defconfig index 1d777b5fb2..10fb07dd2c 100644 --- a/configs/mx6ul_14x14_evk_defconfig +++ b/configs/mx6ul_14x14_evk_defconfig @@ -67,4 +67,4 @@ CONFIG_FSL_QSPI=y CONFIG_USB=y CONFIG_DM_USB=y CONFIG_USB_STORAGE=y -CONFIG_VIDEO=y +CONFIG_DM_VIDEO=y diff --git a/include/configs/mx6ul_14x14_evk.h b/include/configs/mx6ul_14x14_evk.h index 42e511591c..f8a5fd30f3 100644 --- a/include/configs/mx6ul_14x14_evk.h +++ b/include/configs/mx6ul_14x14_evk.h @@ -196,7 +196,7 @@ #define CONFIG_IMX_THERMAL
#ifndef CONFIG_SPL_BUILD -#ifdef CONFIG_VIDEO +#if defined(CONFIG_DM_VIDEO) #define CONFIG_VIDEO_MXS #define CONFIG_VIDEO_LOGO
#define CONFIG_SPLASH_SCREEN
2.16.4
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[1] https://patchwork.ozlabs.org/patch/1106985/

Subject: Re: [U-Boot] [PATCH 2/2] imx: mx6ul_14x14_evk: convert to DM_VIDEO
Hi Peng,
On Thu, Aug 1, 2019 at 9:03 AM Peng Fan peng.fan@nxp.com wrote:
To support DM_VIDEO, Add display node for lcdif Drop board iomuxc settings. Enable DM_VIDEO
Signed-off-by: Peng Fan peng.fan@nxp.com
V1: This patch could be applied directly, but it needs
https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatch work.ozlabs.org%2Fpatch%2F1133224%2F&data=02%7C01%7Cpeng.fan %40nxp.com%7Ce7e18c4c27e24cf1a12508d71741b2bf%7C686ea1d3bc2b4c 6fa92cd99c5c301635%7C0%7C0%7C637003443252765100&sdata=ZuS 8cCWMGCxr7PEPT2xe6cqAIz7Bqd38176FCUc2jsk%3D&reserved=0 patchset work let DM VIDEO work.
arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi | 49
++++++++++++++++++-
board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c | 57
++++++++---------------
configs/mx6ul_14x14_evk_defconfig | 2 +- include/configs/mx6ul_14x14_evk.h | 2 +- 4 files changed, 70 insertions(+), 40 deletions(-)
diff --git a/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi b/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi index 77cb461a21..e9efdb9831 100644 --- a/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi +++ b/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi @@ -3,8 +3,55 @@
- Copyright 2018 NXP
*/
+&{/aliases} {
u-boot,dm-pre-reloc;
display0 = &lcdif;
+};
&qspi { flash0: n25q256a@0 { compatible = "jedec,spi-nor"; }; -}; \ No newline at end of file +};
+&{/soc} {
u-boot,dm-pre-reloc;
+};
+&aips2 {
u-boot,dm-pre-reloc;
+};
+&iomuxc {
u-boot,dm-pre-reloc;
+};
+&lcdif {
display = <&display0>;
u-boot,dm-pre-reloc;
display0: display@0 {
bits-per-pixel = <16>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <9200000>;
hactive = <480>;
vactive = <272>;
hfront-porch = <8>;
hback-porch = <4>;
hsync-len = <41>;
vback-porch = <2>;
vfront-porch = <4>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
+}; diff --git a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c index af5af4d50a..126a805163 100644 --- a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c +++ b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c @@ -27,6 +27,10 @@ #include "../common/pfuze.h" #include <usb.h> #include <usb/ehci-ci.h> +#ifdef CONFIG_DM_VIDEO +#include <bmp_logo_data.h> +#include <video.h> +#endif
DECLARE_GLOBAL_DATA_PTR;
@@ -420,40 +424,8 @@ int board_phy_config(struct phy_device *phydev) } #endif
-#ifdef CONFIG_VIDEO_MXS +#ifdef CONFIG_DM_VIDEO static iomux_v3_cfg_t const lcd_pads[] = {
MX6_PAD_LCD_CLK__LCDIF_CLK |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_ENABLE__LCDIF_ENABLE |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_HSYNC__LCDIF_HSYNC |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_VSYNC__LCDIF_VSYNC |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA00__LCDIF_DATA00 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA01__LCDIF_DATA01 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA02__LCDIF_DATA02 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA03__LCDIF_DATA03 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA04__LCDIF_DATA04 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA05__LCDIF_DATA05 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA06__LCDIF_DATA06 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA07__LCDIF_DATA07 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA08__LCDIF_DATA08 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA09__LCDIF_DATA09 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA10__LCDIF_DATA10 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA11__LCDIF_DATA11 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA12__LCDIF_DATA12 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA13__LCDIF_DATA13 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA14__LCDIF_DATA14 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA15__LCDIF_DATA15 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA16__LCDIF_DATA16 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA17__LCDIF_DATA17 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA18__LCDIF_DATA18 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA19__LCDIF_DATA19 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA20__LCDIF_DATA20 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA21__LCDIF_DATA21 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA22__LCDIF_DATA22 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
MX6_PAD_LCD_DATA23__LCDIF_DATA23 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
/* LCD_RST */
MX6_PAD_SNVS_TAMPER9__GPIO5_IO09 |
MUX_PAD_CTRL(NO_PAD_CTRL),
/* Use GPIO for Brightness adjustment, duty cycle = period. */ MX6_PAD_GPIO1_IO08__GPIO1_IO08 |
MUX_PAD_CTRL(NO_PAD_CTRL),
}; @@ -504,10 +476,6 @@ int board_init(void) board_qspi_init(); #endif
-#ifdef CONFIG_VIDEO_MXS
setup_lcd();
-#endif
return 0;
}
@@ -536,6 +504,21 @@ int board_late_init(void) env_set("board_rev", "14X14"); #endif
+#if defined(CONFIG_DM_VIDEO)
struct udevice *dev;
int ret;
ret = uclass_get_device(UCLASS_VIDEO, 0, &dev);
if (ret)
return ret;
setup_lcd();
ret = video_bmp_display(dev, (ulong)bmp_logo_bitmap, 0, 0, true);
if (ret)
return ret;
+#endif
What about this approach [1] for showing boot logo? Now it also works for DM_VIDEO=y setups.
It needs a bmp file in filesystem, however the current patch use bmp built in U-Boot image.
Thanks, Peng.
return 0;
}
diff --git a/configs/mx6ul_14x14_evk_defconfig b/configs/mx6ul_14x14_evk_defconfig index 1d777b5fb2..10fb07dd2c 100644 --- a/configs/mx6ul_14x14_evk_defconfig +++ b/configs/mx6ul_14x14_evk_defconfig @@ -67,4 +67,4 @@ CONFIG_FSL_QSPI=y CONFIG_USB=y CONFIG_DM_USB=y CONFIG_USB_STORAGE=y -CONFIG_VIDEO=y +CONFIG_DM_VIDEO=y diff --git a/include/configs/mx6ul_14x14_evk.h b/include/configs/mx6ul_14x14_evk.h index 42e511591c..f8a5fd30f3 100644 --- a/include/configs/mx6ul_14x14_evk.h +++ b/include/configs/mx6ul_14x14_evk.h @@ -196,7 +196,7 @@ #define CONFIG_IMX_THERMAL
#ifndef CONFIG_SPL_BUILD -#ifdef CONFIG_VIDEO +#if defined(CONFIG_DM_VIDEO) #define CONFIG_VIDEO_MXS #define CONFIG_VIDEO_LOGO
#define CONFIG_SPLASH_SCREEN
2.16.4
U-Boot mailing list U-Boot@lists.denx.de https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist
s.denx.de%2Flistinfo%2Fu-boot&data=02%7C01%7Cpeng.fan%40nxp.co m%7C
e7e18c4c27e24cf1a12508d71741b2bf%7C686ea1d3bc2b4c6fa92cd99c5c301 635%7C
0%7C0%7C637003443252765100&sdata=MSb7v7%2BB8yes3A3OLBhl3 Kw5hyHX%2B
9aHBZQC43ZK93E%3D&reserved=0
[1] https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatch work.ozlabs.org%2Fpatch%2F1106985%2F&data=02%7C01%7Cpeng.fan %40nxp.com%7Ce7e18c4c27e24cf1a12508d71741b2bf%7C686ea1d3bc2b4c 6fa92cd99c5c301635%7C0%7C0%7C637003443252765100&sdata=bbR e%2BdOa3pj1y1EzjnqwCJvsgcNwMJQ4zz%2BZMOoI%2Brk%3D&reserve d=0
-- Best regards - Freundliche Grüsse - Meilleures salutations
Igor Opaniuk
mailto: igor.opaniuk@gmail.com skype: igor.opanyuk +380 (93) 836 40 67 https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fua.linke din.com%2Fin%2Fiopaniuk&data=02%7C01%7Cpeng.fan%40nxp.com%7 Ce7e18c4c27e24cf1a12508d71741b2bf%7C686ea1d3bc2b4c6fa92cd99c5c3 01635%7C0%7C0%7C637003443252765100&sdata=k1nlPVknC5zyKy8io OsbiE4J1WJGJoVxlDlGWEHdVEM%3D&reserved=0

Hi Anatolij,
Subject: [PATCH 2/2] imx: mx6ul_14x14_evk: convert to DM_VIDEO
To support DM_VIDEO, Add display node for lcdif Drop board iomuxc settings. Enable DM_VIDEO
Would you please help review this patch?
Thanks, Peng.
Signed-off-by: Peng Fan peng.fan@nxp.com
V1: This patch could be applied directly, but it needs https://patchwork.ozlabs.org/patch/1133224/ patchset work let DM VIDEO work.
arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi | 49 ++++++++++++++++++- board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c | 57 ++++++++--------------- configs/mx6ul_14x14_evk_defconfig | 2 +- include/configs/mx6ul_14x14_evk.h | 2 +- 4 files changed, 70 insertions(+), 40 deletions(-)
diff --git a/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi b/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi index 77cb461a21..e9efdb9831 100644 --- a/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi +++ b/arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi @@ -3,8 +3,55 @@
- Copyright 2018 NXP
*/
+&{/aliases} {
- u-boot,dm-pre-reloc;
- display0 = &lcdif;
+};
&qspi { flash0: n25q256a@0 { compatible = "jedec,spi-nor"; }; -}; \ No newline at end of file +};
+&{/soc} {
- u-boot,dm-pre-reloc;
+};
+&aips2 {
- u-boot,dm-pre-reloc;
+};
+&iomuxc {
- u-boot,dm-pre-reloc;
+};
+&lcdif {
- display = <&display0>;
- u-boot,dm-pre-reloc;
- display0: display@0 {
bits-per-pixel = <16>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <9200000>;
hactive = <480>;
vactive = <272>;
hfront-porch = <8>;
hback-porch = <4>;
hsync-len = <41>;
vback-porch = <2>;
vfront-porch = <4>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
- };
+}; diff --git a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c index af5af4d50a..126a805163 100644 --- a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c +++ b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c @@ -27,6 +27,10 @@ #include "../common/pfuze.h" #include <usb.h> #include <usb/ehci-ci.h> +#ifdef CONFIG_DM_VIDEO +#include <bmp_logo_data.h> +#include <video.h> +#endif
DECLARE_GLOBAL_DATA_PTR;
@@ -420,40 +424,8 @@ int board_phy_config(struct phy_device *phydev) } #endif
-#ifdef CONFIG_VIDEO_MXS +#ifdef CONFIG_DM_VIDEO static iomux_v3_cfg_t const lcd_pads[] = {
- MX6_PAD_LCD_CLK__LCDIF_CLK | MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_ENABLE__LCDIF_ENABLE |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_HSYNC__LCDIF_HSYNC |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_VSYNC__LCDIF_VSYNC |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA00__LCDIF_DATA00 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA01__LCDIF_DATA01 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA02__LCDIF_DATA02 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA03__LCDIF_DATA03 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA04__LCDIF_DATA04 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA05__LCDIF_DATA05 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA06__LCDIF_DATA06 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA07__LCDIF_DATA07 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA08__LCDIF_DATA08 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA09__LCDIF_DATA09 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA10__LCDIF_DATA10 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA11__LCDIF_DATA11 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA12__LCDIF_DATA12 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA13__LCDIF_DATA13 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA14__LCDIF_DATA14 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA15__LCDIF_DATA15 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA16__LCDIF_DATA16 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA17__LCDIF_DATA17 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA18__LCDIF_DATA18 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA19__LCDIF_DATA19 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA20__LCDIF_DATA20 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA21__LCDIF_DATA21 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA22__LCDIF_DATA22 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- MX6_PAD_LCD_DATA23__LCDIF_DATA23 |
MUX_PAD_CTRL(LCD_PAD_CTRL),
- /* LCD_RST */
- MX6_PAD_SNVS_TAMPER9__GPIO5_IO09 |
MUX_PAD_CTRL(NO_PAD_CTRL),
- /* Use GPIO for Brightness adjustment, duty cycle = period. */ MX6_PAD_GPIO1_IO08__GPIO1_IO08 |
MUX_PAD_CTRL(NO_PAD_CTRL), }; @@ -504,10 +476,6 @@ int board_init(void) board_qspi_init(); #endif
-#ifdef CONFIG_VIDEO_MXS
- setup_lcd();
-#endif
- return 0;
}
@@ -536,6 +504,21 @@ int board_late_init(void) env_set("board_rev", "14X14"); #endif
+#if defined(CONFIG_DM_VIDEO)
- struct udevice *dev;
- int ret;
- ret = uclass_get_device(UCLASS_VIDEO, 0, &dev);
- if (ret)
return ret;
- setup_lcd();
- ret = video_bmp_display(dev, (ulong)bmp_logo_bitmap, 0, 0, true);
- if (ret)
return ret;
+#endif
- return 0;
}
diff --git a/configs/mx6ul_14x14_evk_defconfig b/configs/mx6ul_14x14_evk_defconfig index 1d777b5fb2..10fb07dd2c 100644 --- a/configs/mx6ul_14x14_evk_defconfig +++ b/configs/mx6ul_14x14_evk_defconfig @@ -67,4 +67,4 @@ CONFIG_FSL_QSPI=y CONFIG_USB=y CONFIG_DM_USB=y CONFIG_USB_STORAGE=y -CONFIG_VIDEO=y +CONFIG_DM_VIDEO=y diff --git a/include/configs/mx6ul_14x14_evk.h b/include/configs/mx6ul_14x14_evk.h index 42e511591c..f8a5fd30f3 100644 --- a/include/configs/mx6ul_14x14_evk.h +++ b/include/configs/mx6ul_14x14_evk.h @@ -196,7 +196,7 @@ #define CONFIG_IMX_THERMAL
#ifndef CONFIG_SPL_BUILD -#ifdef CONFIG_VIDEO +#if defined(CONFIG_DM_VIDEO) #define CONFIG_VIDEO_MXS #define CONFIG_VIDEO_LOGO
#define CONFIG_SPLASH_SCREEN
2.16.4

Hi Peng,
On Mon, 5 Aug 2019 09:28:01 +0000 Peng Fan peng.fan@nxp.com wrote: ...
To support DM_VIDEO, Add display node for lcdif Drop board iomuxc settings. Enable DM_VIDEO
Would you please help review this patch?
Done. This should be applied with other i.mx6ul patches via u-boot-imx tree. Thanks!
-- Anatolij

Hi Anatolij,
Subject: Re: [PATCH 2/2] imx: mx6ul_14x14_evk: convert to DM_VIDEO
Hi Peng,
On Mon, 5 Aug 2019 09:28:01 +0000 Peng Fan peng.fan@nxp.com wrote: ...
To support DM_VIDEO, Add display node for lcdif Drop board iomuxc settings. Enable DM_VIDEO
Would you please help review this patch?
Done. This should be applied with other i.mx6ul patches via u-boot-imx tree. Thanks!
Thanks. Get you R-b tag means you agree the display-timings approach from DM VIDEO point.
Thanks, Peng.
-- Anatolij

On Thu, 1 Aug 2019 06:02:49 +0000 Peng Fan peng.fan@nxp.com wrote: ...
arch/arm/dts/imx6ul-14x14-evk-u-boot.dtsi | 49 ++++++++++++++++++- board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c | 57 ++++++++--------------- configs/mx6ul_14x14_evk_defconfig | 2 +- include/configs/mx6ul_14x14_evk.h | 2 +- 4 files changed, 70 insertions(+), 40 deletions(-)
Reviewed-by: Anatolij Gustschin agust@denx.de

Subject: [PATCH 2/2] imx: mx6ul_14x14_evk: convert to DM_VIDEO
To support DM_VIDEO, Add display node for lcdif Drop board iomuxc settings. Enable DM_VIDEO
Signed-off-by: Peng Fan peng.fan@nxp.com
Applied to nxp-imx-8-13, https://github.com/MrVan/u-boot/tree/nxp-imx-8-13
Regards, Peng.

On Thu, Aug 1, 2019 at 3:02 AM Peng Fan peng.fan@nxp.com wrote:
When booting SPL on the board, met boot failure: " Trying to boot from MMC2 MMC Device 1 not found spl: could not find mmc device 1. error: -19 SPL: failed to boot from all boot devices "
Let's register the two mmc controllers in SPL stage to avoid boot failure.
Signed-off-by: Peng Fan peng.fan@nxp.com
Reviewed-by: Fabio Estevam festevam@gmail.com

Subject: [PATCH 1/2] imx: mx6ul_14x14_evk: Fix SPL boot
When booting SPL on the board, met boot failure: " Trying to boot from MMC2 MMC Device 1 not found spl: could not find mmc device 1. error: -19 SPL: failed to boot from all boot devices "
Let's register the two mmc controllers in SPL stage to avoid boot failure.
Signed-off-by: Peng Fan peng.fan@nxp.com
Applied to nxp-imx-8-13, https://github.com/MrVan/u-boot/tree/nxp-imx-8-13
Regards, Peng.
participants (5)
-
Anatolij Gustschin
-
Fabio Estevam
-
Igor Opaniuk
-
Jagan Teki
-
Peng Fan