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
					
				| 
						 | 
					@ -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…
	
		Reference in New Issue