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>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
This commit is contained in:
Peng Fan 2019-08-01 06:02:49 +00:00 committed by Stefano Babic
parent 8a6e1b1dda
commit ae0760584b
5 changed files with 71 additions and 41 deletions

View File

@ -3,8 +3,55 @@
* Copyright 2018 NXP * Copyright 2018 NXP
*/ */
&{/aliases} {
u-boot,dm-pre-reloc;
display0 = &lcdif;
};
&qspi { &qspi {
flash0: n25q256a@0 { flash0: n25q256a@0 {
compatible = "jedec,spi-nor"; compatible = "jedec,spi-nor";
}; };
}; };
&{/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>;
};
};
};
};

View File

@ -28,6 +28,10 @@
#include "../common/pfuze.h" #include "../common/pfuze.h"
#include <usb.h> #include <usb.h>
#include <usb/ehci-ci.h> #include <usb/ehci-ci.h>
#ifdef CONFIG_DM_VIDEO
#include <bmp_logo_data.h>
#include <video.h>
#endif
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
@ -421,40 +425,8 @@ int board_phy_config(struct phy_device *phydev)
} }
#endif #endif
#ifdef CONFIG_VIDEO_MXS #ifdef CONFIG_DM_VIDEO
static iomux_v3_cfg_t const lcd_pads[] = { 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. */ /* Use GPIO for Brightness adjustment, duty cycle = period. */
MX6_PAD_GPIO1_IO08__GPIO1_IO08 | MUX_PAD_CTRL(NO_PAD_CTRL), MX6_PAD_GPIO1_IO08__GPIO1_IO08 | MUX_PAD_CTRL(NO_PAD_CTRL),
}; };
@ -505,10 +477,6 @@ int board_init(void)
board_qspi_init(); board_qspi_init();
#endif #endif
#ifdef CONFIG_VIDEO_MXS
setup_lcd();
#endif
return 0; return 0;
} }
@ -537,6 +505,21 @@ int board_late_init(void)
env_set("board_rev", "14X14"); env_set("board_rev", "14X14");
#endif #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; return 0;
} }

View File

@ -67,4 +67,4 @@ CONFIG_FSL_QSPI=y
CONFIG_USB=y CONFIG_USB=y
CONFIG_DM_USB=y CONFIG_DM_USB=y
CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE=y
CONFIG_VIDEO=y CONFIG_DM_VIDEO=y

View File

@ -70,4 +70,4 @@ CONFIG_FSL_QSPI=y
CONFIG_USB=y CONFIG_USB=y
CONFIG_DM_USB=y CONFIG_DM_USB=y
CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE=y
CONFIG_VIDEO=y CONFIG_DM_VIDEO=y

View File

@ -196,7 +196,7 @@
#define CONFIG_IMX_THERMAL #define CONFIG_IMX_THERMAL
#ifndef CONFIG_SPL_BUILD #ifndef CONFIG_SPL_BUILD
#ifdef CONFIG_VIDEO #if defined(CONFIG_DM_VIDEO)
#define CONFIG_VIDEO_MXS #define CONFIG_VIDEO_MXS
#define CONFIG_VIDEO_LOGO #define CONFIG_VIDEO_LOGO
#define CONFIG_SPLASH_SCREEN #define CONFIG_SPLASH_SCREEN