mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-19 13:11:30 +00:00
ARM: imx: m53menlo: Convert to DM VIDEO
Enable DM Video support on iMX53 M53Menlo and fix minor details to restore previous behavior of the system. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
This commit is contained in:
parent
86aa7103b6
commit
f0be8ff45f
3 changed files with 51 additions and 8 deletions
|
@ -7,6 +7,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
|
#include <dm.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <asm/arch/imx-regs.h>
|
#include <asm/arch/imx-regs.h>
|
||||||
#include <asm/arch/sys_proto.h>
|
#include <asm/arch/sys_proto.h>
|
||||||
|
@ -28,6 +29,7 @@
|
||||||
#include <spl.h>
|
#include <spl.h>
|
||||||
#include <splash.h>
|
#include <splash.h>
|
||||||
#include <usb/ehci-ci.h>
|
#include <usb/ehci-ci.h>
|
||||||
|
#include <video_console.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
@ -123,7 +125,6 @@ static void setup_iomux_fec(void)
|
||||||
imx_iomux_v3_setup_multiple_pads(fec_pads, ARRAY_SIZE(fec_pads));
|
imx_iomux_v3_setup_multiple_pads(fec_pads, ARRAY_SIZE(fec_pads));
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_VIDEO
|
|
||||||
static void enable_lvds_clock(struct display_info_t const *dev, const u8 hclk)
|
static void enable_lvds_clock(struct display_info_t const *dev, const u8 hclk)
|
||||||
{
|
{
|
||||||
static struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)MXC_CCM_BASE;
|
static struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)MXC_CCM_BASE;
|
||||||
|
@ -270,7 +271,6 @@ struct display_info_t const displays[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
size_t display_count = ARRAY_SIZE(displays);
|
size_t display_count = ARRAY_SIZE(displays);
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_SPLASH_SCREEN
|
#ifdef CONFIG_SPLASH_SCREEN
|
||||||
static struct splash_location default_splash_locations[] = {
|
static struct splash_location default_splash_locations[] = {
|
||||||
|
@ -289,6 +289,50 @@ int splash_screen_prepare(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
int board_late_init(void)
|
||||||
|
{
|
||||||
|
#if defined(CONFIG_VIDEO_IPUV3)
|
||||||
|
struct udevice *dev;
|
||||||
|
int xpos, ypos, ret;
|
||||||
|
char *s;
|
||||||
|
void *dst;
|
||||||
|
ulong addr, len;
|
||||||
|
|
||||||
|
splash_get_pos(&xpos, &ypos);
|
||||||
|
|
||||||
|
s = env_get("splashimage");
|
||||||
|
if (!s)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
addr = simple_strtoul(s, NULL, 16);
|
||||||
|
dst = malloc(CONFIG_SYS_VIDEO_LOGO_MAX_SIZE);
|
||||||
|
if (!dst)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
|
ret = splash_screen_prepare();
|
||||||
|
if (ret < 0)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
len = CONFIG_SYS_VIDEO_LOGO_MAX_SIZE;
|
||||||
|
ret = gunzip(dst + 2, CONFIG_SYS_VIDEO_LOGO_MAX_SIZE - 2,
|
||||||
|
(uchar *)addr, &len);
|
||||||
|
if (ret) {
|
||||||
|
printf("Error: no valid bmp or bmp.gz image at %lx\n", addr);
|
||||||
|
free(dst);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = uclass_get_device(UCLASS_VIDEO, 0, &dev);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
ret = video_bmp_display(dev, (ulong)dst + 2, xpos, ypos, true);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
#endif
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
#define I2C_PAD_CTRL (PAD_CTL_SRE_FAST | PAD_CTL_DSE_HIGH | \
|
#define I2C_PAD_CTRL (PAD_CTL_SRE_FAST | PAD_CTL_DSE_HIGH | \
|
||||||
PAD_CTL_PUS_100K_UP | PAD_CTL_ODE)
|
PAD_CTL_PUS_100K_UP | PAD_CTL_ODE)
|
||||||
|
|
||||||
|
|
|
@ -18,9 +18,8 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/menlo/m53menlo/imximage.cfg"
|
||||||
CONFIG_BOOTDELAY=1
|
CONFIG_BOOTDELAY=1
|
||||||
CONFIG_USE_BOOTARGS=y
|
CONFIG_USE_BOOTARGS=y
|
||||||
CONFIG_BOOTARGS="console=ttymxc0,115200"
|
CONFIG_BOOTARGS="console=ttymxc0,115200"
|
||||||
# CONFIG_CONSOLE_MUX is not set
|
|
||||||
CONFIG_SYS_CONSOLE_IS_IN_ENV=y
|
|
||||||
CONFIG_VERSION_VARIABLE=y
|
CONFIG_VERSION_VARIABLE=y
|
||||||
|
CONFIG_BOARD_LATE_INIT=y
|
||||||
CONFIG_SPL_TEXT_BASE=0x70008000
|
CONFIG_SPL_TEXT_BASE=0x70008000
|
||||||
CONFIG_SPL_BOARD_INIT=y
|
CONFIG_SPL_BOARD_INIT=y
|
||||||
CONFIG_SPL_NAND_SUPPORT=y
|
CONFIG_SPL_NAND_SUPPORT=y
|
||||||
|
@ -81,8 +80,8 @@ CONFIG_USB_HOST_ETHER=y
|
||||||
CONFIG_USB_ETHER_ASIX=y
|
CONFIG_USB_ETHER_ASIX=y
|
||||||
CONFIG_USB_ETHER_MCS7830=y
|
CONFIG_USB_ETHER_MCS7830=y
|
||||||
CONFIG_USB_ETHER_SMSC95XX=y
|
CONFIG_USB_ETHER_SMSC95XX=y
|
||||||
|
CONFIG_DM_VIDEO=y
|
||||||
|
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||||
CONFIG_VIDEO_IPUV3=y
|
CONFIG_VIDEO_IPUV3=y
|
||||||
CONFIG_VIDEO=y
|
|
||||||
# CONFIG_VIDEO_SW_CURSOR is not set
|
|
||||||
CONFIG_IMX_WATCHDOG=y
|
CONFIG_IMX_WATCHDOG=y
|
||||||
CONFIG_FAT_WRITE=y
|
CONFIG_FAT_WRITE=y
|
||||||
|
|
|
@ -136,7 +136,6 @@
|
||||||
/*
|
/*
|
||||||
* LCD
|
* LCD
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_VIDEO
|
|
||||||
#define CONFIG_VIDEO_BMP_RLE8
|
#define CONFIG_VIDEO_BMP_RLE8
|
||||||
#define CONFIG_VIDEO_BMP_GZIP
|
#define CONFIG_VIDEO_BMP_GZIP
|
||||||
#define CONFIG_SPLASH_SCREEN
|
#define CONFIG_SPLASH_SCREEN
|
||||||
|
@ -145,7 +144,6 @@
|
||||||
#define CONFIG_BMP_16BPP
|
#define CONFIG_BMP_16BPP
|
||||||
#define CONFIG_VIDEO_LOGO
|
#define CONFIG_VIDEO_LOGO
|
||||||
#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (2 << 20)
|
#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (2 << 20)
|
||||||
#endif
|
|
||||||
|
|
||||||
/* LVDS display */
|
/* LVDS display */
|
||||||
#define CONFIG_SYS_LDB_CLOCK 33260000
|
#define CONFIG_SYS_LDB_CLOCK 33260000
|
||||||
|
@ -205,6 +203,8 @@
|
||||||
"splashfile=boot/usplash.bmp.gz\0" \
|
"splashfile=boot/usplash.bmp.gz\0" \
|
||||||
"splashimage=0x88000000\0" \
|
"splashimage=0x88000000\0" \
|
||||||
"splashpos=m,m\0" \
|
"splashpos=m,m\0" \
|
||||||
|
"stdout=serial,vidconsole\0" \
|
||||||
|
"stderr=serial,vidconsole\0" \
|
||||||
"addcons=" \
|
"addcons=" \
|
||||||
"setenv bootargs ${bootargs} " \
|
"setenv bootargs ${bootargs} " \
|
||||||
"console=${consdev},${baudrate}\0" \
|
"console=${consdev},${baudrate}\0" \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue