[U-Boot] [PATCH 2/2] update the EB+MCF-EV123 board support

Jens Scharsig esw at bus-elektronik.de
Wed Apr 22 16:36:24 CEST 2009


This patch updates the support for EB+MCF-EV123 board
and needs the [PATCH 1/2] new video driver for bus vcxk framebuffers

* remove the board framebuffer driver 
* use the common bus_vcxk framebuffer driver 
* adds bmp support
* adds splashimage support 
* fix serveral cosmetical errors 

Signed-off-by: Jens Scharsig <esw at bus-elektronik.de>
---

diff --git a/board/BuS/EB+MCF-EV123/EB+MCF-EV123.c b/board/BuS/EB+MCF-EV123/EB+MCF-EV123.c
index 02a095e..484a5e0 100644
--- a/board/BuS/EB+MCF-EV123/EB+MCF-EV123.c
+++ b/board/BuS/EB+MCF-EV123/EB+MCF-EV123.c
@@ -27,7 +27,18 @@
 #include <common.h>
 #include <command.h>
 #include "asm/m5282.h"
-#include "VCxK.h"
+#include <bmp_layout.h>
+#include <status_led.h>
+#include <bus_vcxk.h>
+
+/*---------------------------------------------------------------------------*/
+
+DECLARE_GLOBAL_DATA_PTR;
+
+unsigned long display_width;
+unsigned long display_height;
+
+/*---------------------------------------------------------------------------*/
 
 int checkboard (void)
 {
@@ -89,7 +100,6 @@ phys_size_t initdram (int board_type)
 	return size;
 }
 
-
 #if defined(CONFIG_SYS_DRAM_TEST)
 int testdram (void)
 {
@@ -126,37 +136,108 @@ int testdram (void)
 
 int misc_init_r(void)
 {
-	init_vcxk();
+#ifdef	CONFIG_HW_WATCHDOG
+	hw_watchdog_init();
+#endif
+#ifndef CONFIG_VIDEO
+	vcxk_init(16,16);
+#endif
 	return 1;
 }
 
+#if defined(CONFIG_VIDEO)
+
+/*----------------------------------------------------------------------------
+ ****h* EB+CPU5282-T1/drv_video_init
+ * FUNCTION
+ ***
+----------------------------------------------------------------------------*/
+
+int	drv_video_init (void)
+{
+	char *s;
+	unsigned long splash;
+
+	printf("Init Video as ");
+
+	if ((s = getenv ("displaywidth")) != NULL)
+	{
+		display_width = simple_strtoul (s, NULL, 10);
+	}
+	else
+	{
+		display_width=256;
+	}
+	if ((s = getenv ("displayheight")) != NULL)
+	{
+		display_height = simple_strtoul (s, NULL, 10);
+	}
+	else
+	{
+		display_height=256;
+	}
+	printf("%lu x %lu pixel matrix\n",display_width,display_height);
+	vcxk_init(display_width,display_height);
+
+#ifdef CONFIG_SPLASH_SCREEN
+	if ((s = getenv ("splashimage")) != NULL)
+	{
+		debug("use splashimage: %s\n",s);
+		splash = simple_strtoul (s, NULL, 16);
+		debug("use splashimage: %x\n",splash);
+		vcxk_acknowledge_wait();
+		video_display_bitmap (splash, 0, 0);
+	}
+#endif
+	return 0;
+}
+
+#endif
+
 /*---------------------------------------------------------------------------*/
 
-int do_vcimage (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+#ifdef CONFIG_VIDEO
+int do_brightness (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
 	int rcode = 0;
-	ulong source;
+	ulong side;
+	ulong bright;
 
 	switch (argc) {
-	case 2:
-		source = simple_strtoul(argv[1],NULL,16);
-		vcxk_loadimage(source);
-		rcode = 0;
+	case 3:
+		side = simple_strtoul(argv[1],NULL,10);
+		bright = simple_strtoul(argv[2],NULL,10);
+		if ((side>=0) && (side<=3) &&
+			(bright>=0) && (bright<=1000))
+		{
+			vcxk_setbrightness(side,bright);
+			rcode = 0;
+		}
+		else
+		{
+			printf ("parameters out of range\n");
+			printf ("Usage:\n%s\n", cmdtp->usage);
+			rcode = 1;
+		}
 		break;
 	default:
-		cmd_usage(cmdtp);
+		printf ("Usage:\n%s\n", cmdtp->usage);
 		rcode = 1;
 		break;
 	}
 	return rcode;
 }
 
-/***************************************************/
+/*---------------------------------------------------------------------------*/
 
 U_BOOT_CMD(
-	vcimage,	2,	0,	do_vcimage,
-	"loads an image to Display",
-	"vcimage addr\n"
+	bright,	3,	0,	do_brightness,
+	"sets the display brightness\n",
+	" <side> <0..1000>\n        side: 0/3=both; 1=first; 2=second\n"
 );
 
-/* EOF EB+MCF-EV123c */
+#endif
+
+/*---------------------------------------------------------------------------*/
+/* EOF EB+MCF-EV123.c                                                        */
+/*---------------------------------------------------------------------------*/
diff --git a/board/BuS/EB+MCF-EV123/Makefile b/board/BuS/EB+MCF-EV123/Makefile
index ed3ac07..44961b9 100644
--- a/board/BuS/EB+MCF-EV123/Makefile
+++ b/board/BuS/EB+MCF-EV123/Makefile
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
 
 LIB	= $(obj)lib$(BOARD).a
 
-COBJS	= $(BOARD).o cfm_flash.o flash.o VCxK.o
+COBJS	= $(BOARD).o cfm_flash.o flash.o
 
 SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS	:= $(addprefix $(obj),$(COBJS))
diff --git a/board/BuS/EB+MCF-EV123/VCxK.c b/board/BuS/EB+MCF-EV123/VCxK.c
deleted file mode 100644
index f2fe353..0000000
--- a/board/BuS/EB+MCF-EV123/VCxK.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * (C) Copyright 2005
- * BuS Elektronik GmbH & Co.KG <esw at bus-elektonik.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <common.h>
-#include <asm/m5282.h>
-#include "VCxK.h"
-
-vu_char *vcxk_bws = (vu_char *)(CONFIG_SYS_CS3_BASE);
-#define VCXK_BWS vcxk_bws
-
-static ulong vcxk_driver;
-
-
-ulong search_vcxk_driver(void);
-void vcxk_cls(void);
-void vcxk_setbrightness(short brightness);
-int vcxk_request(void);
-int vcxk_acknowledge_wait(void);
-void vcxk_clear(void);
-
-int init_vcxk(void)
-{
-	VIDEO_Invert_CFG &= ~VIDEO_Invert_IO;
-	VIDEO_INVERT_PORT |= VIDEO_INVERT_PIN;
-	VIDEO_INVERT_DDR  |= VIDEO_INVERT_PIN;
-
-	VIDEO_REQUEST_PORT |= VIDEO_REQUEST_PIN;
-	VIDEO_REQUEST_DDR |= VIDEO_REQUEST_PIN;
-
-	VIDEO_ACKNOWLEDGE_DDR &= ~VIDEO_ACKNOWLEDGE_PIN;
-
-	vcxk_driver = search_vcxk_driver();
-	if (vcxk_driver)
-	{
-		/* use flash resist driver */
-	}
-	else
-	{
-		vcxk_cls();
-		vcxk_cls();
-		vcxk_setbrightness(1000);
-	}
-	VIDEO_ENABLE_DDR |= VIDEO_ENABLE_PIN;
-	VIDEO_ENABLE_PORT |= VIDEO_ENABLE_PIN;
-	VIDEO_ENABLE_PORT &= ~VIDEO_ENABLE_PIN;
-	return 1;
-}
-
-void	vcxk_loadimage(ulong source)
-{
-	int cnt;
-	vcxk_acknowledge_wait();
-	for (cnt=0; cnt<16384; cnt++)
-	{
-		VCXK_BWS[cnt*2] = (*(vu_char*) source);
-		source++;
-	}
-	vcxk_request();
-}
-
-void vcxk_cls(void)
-{
-	vcxk_acknowledge_wait();
-	vcxk_clear();
-	vcxk_request();
-}
-
-void vcxk_clear(void)
-{
-	int cnt;
-	for (cnt=0; cnt<16384; cnt++)
-	{
-		VCXK_BWS[cnt*2] = 0x00;
-	}
-}
-
-void vcxk_setbrightness(short brightness)
-{
-	VCXK_BWS[0x8000]=(brightness >> 4) +2;
-	VCXK_BWS[0xC000]= (brightness + 23) >> 8;
-	VCXK_BWS[0xC001]= (brightness + 23) & 0xFF;
-}
-
-int vcxk_request(void)
-{
-	if (vcxk_driver)
-	{
-		/* use flash resist driver */
-	}
-	else
-	{
-		VIDEO_REQUEST_PORT &= ~VIDEO_REQUEST_PIN;
-		VIDEO_REQUEST_PORT |= VIDEO_REQUEST_PIN;
-	}
-	return 1;
-}
-
-int vcxk_acknowledge_wait(void)
-{
-	if (vcxk_driver)
-	{
-		/* use flash resist driver */
-	}
-	else
-	{
-		while (!(VIDEO_ACKNOWLEDGE_PORT & VIDEO_ACKNOWLEDGE_PIN));
-	}
-	return 1;
-}
-
-ulong search_vcxk_driver(void)
-{
-	return 0;
-}
-
-/* eof */
diff --git a/board/BuS/EB+MCF-EV123/VCxK.h b/board/BuS/EB+MCF-EV123/VCxK.h
deleted file mode 100644
index f591e5c..0000000
--- a/board/BuS/EB+MCF-EV123/VCxK.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * (C) Copyright 2005
- * BuS Elektronik GmbH & Co.KG <esw at bus-elektonik.de>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#ifndef __VCXK_H_
-#define __VCXK_H_
-
-extern int init_vcxk(void);
-void	vcxk_loadimage(ulong source);
-
-#define VIDEO_ACKNOWLEDGE_PORT	MCFGPTB_GPTPORT
-#define VIDEO_ACKNOWLEDGE_DDR	MCFGPTB_GPTDDR
-#define VIDEO_ACKNOWLEDGE_PIN	0x0001
-
-#define VIDEO_ENABLE_PORT	MCFGPTB_GPTPORT
-#define VIDEO_ENABLE_DDR	MCFGPTB_GPTDDR
-#define VIDEO_ENABLE_PIN	0x0002
-
-#define VIDEO_REQUEST_PORT	MCFGPTB_GPTPORT
-#define VIDEO_REQUEST_DDR	MCFGPTB_GPTDDR
-#define VIDEO_REQUEST_PIN	0x0004
-
-#define VIDEO_Invert_CFG	MCFGPIO_PEPAR
-#define VIDEO_Invert_IO		MCFGPIO_PEPAR_PEPA2
-#define VIDEO_INVERT_PORT	MCFGPIO_PORTE
-#define VIDEO_INVERT_DDR	MCFGPIO_DDRE
-#define VIDEO_INVERT_PIN	MCFGPIO_PORT2
-
-#endif
diff --git a/include/configs/EB+MCF-EV123.h b/include/configs/EB+MCF-EV123.h
index a13db7c..816dc5f 100644
--- a/include/configs/EB+MCF-EV123.h
+++ b/include/configs/EB+MCF-EV123.h
@@ -1,7 +1,7 @@
 /*
  * Configuation settings for the BuS EB+MCF-EV123 boards.
  *
- * (C) Copyright 2005 BuS Elektronik GmbH & Co.KG <esw at bus-elektonik.de>
+ * (C) Copyright 2005-2009 BuS Elektronik GmbH & Co.KG <esw at bus-elektonik.de>
  *
  * See file CREDITS for list of people who contributed to this
  * project.
@@ -25,16 +25,15 @@
 #ifndef _CONFIG_EB_MCF_EV123_H_
 #define _CONFIG_EB_MCF_EV123_H_
 
-#define  CONFIG_EB_MCF_EV123
-
 #undef CONFIG_SYS_HALT_BEFOR_RAM_JUMP
 
-/*
- * High Level Configuration Options (easy to change)
- */
+/*-----------------------------------------------------------------------*/
+/* High Level Configuration Options (easy to change)                     */
+/*-----------------------------------------------------------------------*/
 
 #define	CONFIG_MCF52x2			/* define processor family */
 #define CONFIG_M5282			/* define processor type */
+#define CONFIG_EB_MCF_EV123
 
 #define CONFIG_MISC_INIT_R
 
@@ -43,29 +42,33 @@
 #define CONFIG_BAUDRATE 9600
 #define CONFIG_SYS_BAUDRATE_TABLE { 9600 , 19200 , 38400 , 57600, 115200 }
 
-#undef	CONFIG_MONITOR_IS_IN_RAM	/* define if monitor is started from a pre-loader */
+#undef	CONFIG_MONITOR_IS_IN_RAM			/* starts uboot direct */
 
 #define CONFIG_BOOTCOMMAND "printenv"
 
-/* Configuration for environment
- * Environment is embedded in u-boot in the second sector of the flash
- */
+/*-----------------------------------------------------------------------*/
+/* Options															     */
+/*-----------------------------------------------------------------------*/
+
+#define CONFIG_BOOT_RETRY_TIME	-1
+#define CONFIG_RESET_TO_RETRY
+#define CONFIG_SPLASH_SCREEN
+
+/*-----------------------------------------------------------------------*/
+/* Configuration for environment										 */
+/* Environment is in the second sector of the first 256k of flash    	 */
+/*-----------------------------------------------------------------------*/
+
 #ifndef CONFIG_MONITOR_IS_IN_RAM
-#define CONFIG_ENV_ADDR		0xF003C000	/* End of 256K */
+#define CONFIG_ENV_ADDR			0xF003C000	/* End of 256K */
 #define CONFIG_ENV_SECT_SIZE	0x4000
 #define CONFIG_ENV_IS_IN_FLASH	1
-/*
-#define CONFIG_ENV_IS_EMBEDDED	1
-#define CONFIG_ENV_ADDR_REDUND		0xF0018000
-#define CONFIG_ENV_SECT_SIZE_REDUND	0x4000
-*/
 #else
-#define CONFIG_ENV_ADDR		0xFFE04000
+#define CONFIG_ENV_ADDR			0xFFE04000
 #define CONFIG_ENV_SECT_SIZE	0x2000
 #define CONFIG_ENV_IS_IN_FLASH	1
 #endif
 
-
 /*
  * BOOTP options
  */
@@ -74,7 +77,6 @@
 #define CONFIG_BOOTP_GATEWAY
 #define CONFIG_BOOTP_HOSTNAME
 
-
 /*
  * Command line configuration.
  */
@@ -86,50 +88,20 @@
 
 #define CONFIG_MCFTMR
 
-#define CONFIG_MCFFEC
-#ifdef CONFIG_MCFFEC
-#	define CONFIG_NET_MULTI		1
-#	define CONFIG_MII		1
-#	define CONFIG_MII_INIT		1
-#	define CONFIG_SYS_DISCOVER_PHY
-#	define CONFIG_SYS_RX_ETH_BUFFER	8
-#	define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-
-#	define CONFIG_SYS_FEC0_PINMUX		0
-#	define CONFIG_SYS_FEC0_MIIBASE		CONFIG_SYS_FEC0_IOBASE
-#	define MCFFEC_TOUT_LOOP		50000
-/* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
-#	ifndef CONFIG_SYS_DISCOVER_PHY
-#		define FECDUPLEX	FULL
-#		define FECSPEED		_100BASET
-#	else
-#		ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#			define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
-#		endif
-#	endif			/* CONFIG_SYS_DISCOVER_PHY */
-#endif
 
-#ifdef CONFIG_MCFFEC
-#	define CONFIG_ETHADDR	00:CF:52:82:EB:01
-#	define CONFIG_IPADDR	192.162.1.2
-#	define CONFIG_NETMASK	255.255.255.0
-#	define CONFIG_SERVERIP	192.162.1.1
-#	define CONFIG_GATEWAYIP	192.162.1.1
-#	define CONFIG_OVERWRITE_ETHADDR_ONCE
-#endif				/* CONFIG_MCFFEC */
-
-#define CONFIG_BOOTDELAY	5
+#define CONFIG_BOOTDELAY		5
+#define CONFIG_HUSH_PARSER
 #define CONFIG_SYS_PROMPT		"\nEV123 U-Boot> "
-#define	CONFIG_SYS_LONGHELP				/* undef to save memory		*/
+#define	CONFIG_SYS_LONGHELP		1
 
 #if defined(CONFIG_CMD_KGDB)
-#define	CONFIG_SYS_CBSIZE		1024		/* Console I/O Buffer Size	*/
+#define	CONFIG_SYS_CBSIZE		1024	/* Console I/O Buffer Size	*/
 #else
 #define	CONFIG_SYS_CBSIZE		256		/* Console I/O Buffer Size	*/
 #endif
-#define	CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
+#define	CONFIG_SYS_PBSIZE 		(CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) 
 #define	CONFIG_SYS_MAXARGS		16		/* max number of command args	*/
-#define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE	/* Boot Argument Buffer Size	*/
+#define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE	
 
 #define CONFIG_SYS_LOAD_ADDR		0x20000
 
@@ -138,7 +110,9 @@
 /*#define CONFIG_SYS_DRAM_TEST		1 */
 #undef CONFIG_SYS_DRAM_TEST
 
-/* Clock and PLL Configuration */
+/*-----------------------------------------------------------------------*/
+/* Clock and PLL Configuration                                           */
+/*-----------------------------------------------------------------------*/
 #define CONFIG_SYS_HZ			10000000
 #define	CONFIG_SYS_CLK			58982400       /* 9,8304MHz * 6 */
 
@@ -147,20 +121,42 @@
 #define CONFIG_SYS_MFD			0x01	/* PLL Multiplication Factor Devider */
 #define CONFIG_SYS_RFD			0x00	/* PLL Reduce Frecuency Devider */
 
-/*
+/*----------------------------------------------------------------------*/
+/* Network																*/
+/*----------------------------------------------------------------------*/
+
+#define CONFIG_MCFFEC
+#define CONFIG_NET_MULTI			1
+#define CONFIG_MII					1
+#define CONFIG_MII_INIT				1
+#define CONFIG_SYS_DISCOVER_PHY
+#define CONFIG_SYS_RX_ETH_BUFFER	8
+#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
+
+#define CONFIG_SYS_FEC0_PINMUX		0
+#define CONFIG_SYS_FEC0_MIIBASE		CONFIG_SYS_FEC0_IOBASE
+#define MCFFEC_TOUT_LOOP			50000
+
+#define CONFIG_ETHADDR				00:CF:52:82:EB:01
+#define CONFIG_OVERWRITE_ETHADDR_ONCE
+
+/*-------------------------------------------------------------------------
  * Low Level Configuration Settings
  * (address mappings, register initial values, etc.)
  * You should know what you are doing if you make changes here.
- */
-#define	CONFIG_SYS_MBAR		0x40000000
+ *-----------------------------------------------------------------------*/
+
+#define	CONFIG_SYS_MBAR				0x40000000
 
 /*-----------------------------------------------------------------------
  * Definitions for initial stack pointer and data area (in DPRAM)
- */
-#define CONFIG_SYS_INIT_RAM_ADDR       0x20000000
-#define CONFIG_SYS_INIT_RAM_END	0x10000		/* End of used area in internal SRAM	*/
-#define CONFIG_SYS_GBL_DATA_SIZE	64		/* size in bytes reserved for initial data */
-#define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_INIT_RAM_END - CONFIG_SYS_GBL_DATA_SIZE)
+ *-----------------------------------------------------------------------*/
+
+#define CONFIG_SYS_INIT_RAM_ADDR	0x20000000
+#define CONFIG_SYS_INIT_RAM_END		0x10000
+#define CONFIG_SYS_GBL_DATA_SIZE	64
+#define CONFIG_SYS_GBL_DATA_OFFSET	\
+	(CONFIG_SYS_INIT_RAM_END - CONFIG_SYS_GBL_DATA_SIZE)
 #define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET
 
 /*-----------------------------------------------------------------------
@@ -171,16 +167,9 @@
 #define CONFIG_SYS_SDRAM_BASE1		0x00000000
 #define	CONFIG_SYS_SDRAM_SIZE1		16		/* SDRAM size in MB */
 
-/*
-#define CONFIG_SYS_SDRAM_BASE0		CONFIG_SYS_SDRAM_BASE1+CONFIG_SYS_SDRAM_SIZE1*1024*1024
-#define	CONFIG_SYS_SDRAM_SIZE0		16	*/	/* SDRAM size in MB */
-
 #define CONFIG_SYS_SDRAM_BASE		CONFIG_SYS_SDRAM_BASE1
 #define	CONFIG_SYS_SDRAM_SIZE		CONFIG_SYS_SDRAM_SIZE1
 
-#define CONFIG_SYS_FLASH_BASE		CONFIG_SYS_CS0_BASE
-#define	CONFIG_SYS_INT_FLASH_BASE	0xF0000000
-#define CONFIG_SYS_INT_FLASH_ENABLE	0x21
 
 /* If M5282 port is fully implemented the monitor base will be behind
  * the vector table. */
@@ -204,6 +193,11 @@
 /*-----------------------------------------------------------------------
  * FLASH organization
  */
+
+#define CONFIG_SYS_FLASH_BASE		CONFIG_SYS_CS0_BASE
+#define	CONFIG_SYS_INT_FLASH_BASE	0xF0000000
+#define CONFIG_SYS_INT_FLASH_ENABLE	0x21
+
 #define	CONFIG_SYS_MAX_FLASH_SECT	35
 #define	CONFIG_SYS_MAX_FLASH_BANKS	2
 #define	CONFIG_SYS_FLASH_ERASE_TOUT	10000000
@@ -251,11 +245,66 @@
 #define CONFIG_SYS_PJPAR		0xFF
 
 /*-----------------------------------------------------------------------
- * CCM configuration
+ * VIDEO configuration
  */
 
-#define	CONFIG_SYS_CCM_SIZ		0
+#define CONFIG_VIDEO
 
-/*---------------------------------------------------------------------*/
+#ifdef CONFIG_VIDEO
+#define	CONFIG_VIDEO_VCXK			1
+
+#define CONFIG_SYS_VCXK_DEFAULT_LINEALIGN	2
+#define	CONFIG_SYS_VCXK_DOUBLEBUFFERED		1
+#define CONFIG_SYS_VCXK_BASE				CONFIG_SYS_CS3_BASE
+#define CONFIG_SYS_VCXK_AUTODETECT			1
+
+#define VIDEO_ACKNOWLEDGE_PORT	MCFGPTB_GPTPORT
+#define VIDEO_ACKNOWLEDGE_DDR 	MCFGPTB_GPTDDR
+#define VIDEO_ACKNOWLEDGE_PIN	0x0001
+
+#define VIDEO_ENABLE_PORT    	MCFGPTB_GPTPORT
+#define VIDEO_ENABLE_DDR 		MCFGPTB_GPTDDR
+#define VIDEO_ENABLE_PIN		0x0002
+
+#define VIDEO_REQUEST_PORT   	MCFGPTB_GPTPORT
+#define VIDEO_REQUEST_DDR 		MCFGPTB_GPTDDR
+#define VIDEO_REQUEST_PIN		0x0004
+
+#define VIDEO_Invert_CFG		MCFGPIO_PEPAR
+#define VIDEO_Invert_IO			MCFGPIO_PEPAR_PEPA2
+#define VIDEO_INVERT_PORT   	MCFGPIO_PORTE
+#define VIDEO_INVERT_DDR 		MCFGPIO_DDRE
+#define VIDEO_INVERT_PIN		MCFGPIO_PORT2
+
+#define	CONFIG_SYS_VCXK_RESET_INIT
+
+#define CONFIG_SYS_VCXK_INVERT_INIT		\
+	MCFCCM_CCR &= ~MCFCCM_CCR_SZEN;			\
+	VIDEO_Invert_CFG &= ~VIDEO_Invert_IO; 	\
+	VIDEO_INVERT_PORT |= VIDEO_INVERT_PIN;	\
+	VIDEO_INVERT_DDR  |= VIDEO_INVERT_PIN;
+
+#define	CONFIG_SYS_VCXK_REQUEST					\
+	VIDEO_REQUEST_PORT &= ~VIDEO_REQUEST_PIN;	\
+	VIDEO_REQUEST_PORT |= VIDEO_REQUEST_PIN;
+
+#define CONFIG_SYS_VCXK_REQUEST_INIT			\
+	VIDEO_REQUEST_PORT |= VIDEO_REQUEST_PIN;	\
+	VIDEO_REQUEST_DDR |= VIDEO_REQUEST_PIN;
+
+#define	CONFIG_SYS_VCXK_ACKNOWLEDGE_INIT		\
+	VIDEO_ACKNOWLEDGE_DDR &= ~VIDEO_ACKNOWLEDGE_PIN;
+#define CONFIG_SYS_VCXK_ACKNOWLEDGE \
+	(!(VIDEO_ACKNOWLEDGE_PORT & VIDEO_ACKNOWLEDGE_PIN))
+
+#define	CONFIG_SYS_VCXK_DISABLE	\
+	VIDEO_ENABLE_PORT |= VIDEO_ENABLE_PIN;
+#define	CONFIG_SYS_VCXK_ENABLE	\
+	VIDEO_ENABLE_PORT &= ~VIDEO_ENABLE_PIN;
+#define	CONFIG_SYS_VCXK_ENABLE_INIT	\
+	VIDEO_ENABLE_PORT |= VIDEO_ENABLE_PIN; \
+	VIDEO_ENABLE_DDR |= VIDEO_ENABLE_PIN;
+
+#endif /* CONFIG_VIDEO */
 #endif	/* _CONFIG_M5282EVB_H */
 /*---------------------------------------------------------------------*/






More information about the U-Boot mailing list