[U-Boot] [PATCH 2/2] imx: mx6ul_14x14_evk: convert to DM_VIDEO
Peng Fan
peng.fan at nxp.com
Mon Aug 5 09:28:01 UTC 2019
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 at 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 at 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 at 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
More information about the U-Boot
mailing list