
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