diff options
| author | wdenk <wdenk> | 2004-08-28 21:09:14 +0000 | 
|---|---|---|
| committer | wdenk <wdenk> | 2004-08-28 21:09:14 +0000 | 
| commit | 31a649234ee4051e96cf45285cdf2dbfa668d30c (patch) | |
| tree | b5f30d8b26974d60fee1ab69f2edb9876d7a0622 | |
| parent | 89394047ba438f70f40ebc89b812824b01fec663 (diff) | |
| download | olio-uboot-2014.01-31a649234ee4051e96cf45285cdf2dbfa668d30c.tar.xz olio-uboot-2014.01-31a649234ee4051e96cf45285cdf2dbfa668d30c.zip | |
* Add automatic update support for LWMON boardLABEL_2004_08_28_2355
* Enable MSDOS/VFAT filesystem support for LWMON board
* Clear Block Lock-Bits when erasing flash on LWMON board.
* Fix return code of "fatload" command
* Disable debugging for TQM5200 board
| -rw-r--r-- | CHANGELOG | 8 | ||||
| -rw-r--r-- | Makefile | 4 | ||||
| -rw-r--r-- | board/lwmon/flash.c | 21 | ||||
| -rw-r--r-- | common/cmd_fat.c | 15 | ||||
| -rw-r--r-- | include/configs/TQM5200.h | 4 | ||||
| -rw-r--r-- | include/configs/lwmon.h | 27 | 
6 files changed, 58 insertions, 21 deletions
| @@ -2,6 +2,14 @@  Changes since U-Boot 1.1.1:  ====================================================================== +* Add automatic update support for LWMON board + +* Clear Block Lock-Bits when erasing flash on LWMON board. + +* Fix return code of "fatload" command + +* Enable MSDOS/VFAT filesystem support for LWMON board +  * Patch by Martin Krause, 03 Aug 2004:    change timing for SM501 graphics controller on TQM5200 module @@ -315,12 +315,12 @@ MiniFAP_config:	unconfig  	@[ -z "$(findstring AB,$@)" ] || \  		{ echo "#define CONFIG_TQM5200_AB"	>>include/config.h ; \  		  echo "... with 64 MB Flash, 64 MB SDRAM, 32 kB EEPROM, 512 kB SRAM" ; \ -		  echo "... with Grafic Controller"; \ +		  echo "... with Graphics Controller"; \  		}  	@[ -z "$(findstring AC,$@)" ] || \  		{ echo "#define CONFIG_TQM5200_AC"	>>include/config.h ; \  		  echo "... with 4 MB Flash, 128 MB SDRAM" ; \ -		  echo "... with Grafic Controller"; \ +		  echo "... with Graphics Controller"; \  		}  	@./mkconfig -a TQM5200 ppc mpc5xxx tqm5200 diff --git a/board/lwmon/flash.c b/board/lwmon/flash.c index 4004865c3..b894887c9 100644 --- a/board/lwmon/flash.c +++ b/board/lwmon/flash.c @@ -403,6 +403,26 @@ int	flash_erase (flash_info_t *info, int s_first, int s_last)  			/* Disable interrupts which might cause a timeout here */  			flag = disable_interrupts(); +			*addr = 0x00600060;	/* clear lock bit setup */ +			*addr = 0x00D000D0;	/* clear lock bit confirm */ + +			udelay (1000); +			/* This takes awfully long - up to 50 ms and more */ +			while (((status = *addr) & 0x00800080) != 0x00800080) { +				if ((now=get_timer(start)) > CFG_FLASH_ERASE_TOUT) { +					printf ("Timeout\n"); +					*addr = 0x00FF00FF; /* reset to read mode */ +					return 1; +				} + +				/* show that we're waiting */ +				if ((now - last) > 1000) {	/* every second */ +					putc ('.'); +					last = now; +				} +				udelay (1000);	/* to trigger the watchdog */ +			} +  			*addr = 0x00500050;	/* clear status register */  			*addr = 0x00200020;	/* erase setup */  			*addr = 0x00D000D0;	/* erase confirm */ @@ -427,6 +447,7 @@ int	flash_erase (flash_info_t *info, int s_first, int s_last)  					putc ('.');  					last = now;  				} +				udelay (1000);	/* to trigger the watchdog */  			}  			*addr = 0x00FF00FF;	/* reset to read mode */ diff --git a/common/cmd_fat.c b/common/cmd_fat.c index 150a2ea67..6844c103f 100644 --- a/common/cmd_fat.c +++ b/common/cmd_fat.c @@ -86,7 +86,7 @@ int do_fat_fsload (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  	if (argc < 5) {  		printf ("usage: fatload <interface> <dev[:part]> <addr> <filename> [bytes]\n"); -		return (0); +		return 1;  	}  	dev = (int)simple_strtoul (argv[2], &ep, 16);  	dev_desc=get_dev(argv[1],dev); @@ -114,14 +114,15 @@ int do_fat_fsload (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  	if(size==-1) {  		printf("\n** Unable to read \"%s\" from %s %d:%d **\n",argv[4],argv[1],dev,part); -	} else { -		printf ("\n%ld bytes read\n", size); - -		sprintf(buf, "%lX", size); -		setenv("filesize", buf); +		return 1;  	} -	return size; +	printf ("\n%ld bytes read\n", size); + +	sprintf(buf, "%lX", size); +	setenv("filesize", buf); + +	return 0;  } diff --git a/include/configs/TQM5200.h b/include/configs/TQM5200.h index 1f83aa53d..7d39f2299 100644 --- a/include/configs/TQM5200.h +++ b/include/configs/TQM5200.h @@ -27,8 +27,6 @@  #ifndef __CONFIG_H  #define __CONFIG_H -#define DEBUG 1 -  /*   * High Level Configuration Options   * (easy to change) @@ -64,7 +62,7 @@   */  #define CONFIG_PCI		0  #define CONFIG_PCI_PNP		1 -#define CONFIG_PCI_SCAN_SHOW	1 +/* #define CONFIG_PCI_SCAN_SHOW	1 */  #define CONFIG_PCI_MEM_BUS	0x40000000  #define CONFIG_PCI_MEM_PHYS	CONFIG_PCI_MEM_BUS diff --git a/include/configs/lwmon.h b/include/configs/lwmon.h index a76ec2365..74186a86e 100644 --- a/include/configs/lwmon.h +++ b/include/configs/lwmon.h @@ -78,12 +78,24 @@  #define CONFIG_BOOTCOMMAND	"run flash_self" +/* + * Keyboard commands: + * # = 0x28 = ENTER :		enable bootmessages on LCD + * 2 = 0x3A+0x3C = F1 + F3 :	enable update mode + * 3 = 0x3C+0x3F = F3 + F6 :	enable test mode + */  #define	CONFIG_EXTRA_ENV_SETTINGS					\  	"kernel_addr=40080000\0"					\  	"ramdisk_addr=40280000\0"					\ -	"magic_keys=#3\0"						\ +	"magic_keys=#23\0"						\  	"key_magic#=28\0"						\  	"key_cmd#=setenv addfb setenv 'bootargs $bootargs console=tty0'\0" \ +	"key_magic2=3A+3C\0"						\ +	"key_cmd2=echo *** Entering Update Mode ***;"			\ +		"if fatload ide 0:3 10000 update.scr;"			\ +			"then autoscr 10000;"				\ +			"else echo *** UPDATE FAILED ***;"		\ +		"fi\0"							\  	"key_magic3=3C+3F\0"						\  	"key_cmd3=echo *** Entering Test Mode ***;"			\  		"setenv add_misc 'setenv bootargs $bootargs testmode'\0" \ @@ -153,6 +165,7 @@  				CFG_CMD_ASKENV	| \  				CFG_CMD_DHCP	| \  				CFG_CMD_DATE	| \ +				CFG_CMD_FAT	| \  				CFG_CMD_I2C	| \  				CFG_CMD_EEPROM	| \  				CFG_CMD_IDE	| \ @@ -276,18 +289,12 @@   */  #define CFG_FLASH_BUFFER_SIZE	(2*32) -#if 1 -/* Put environment in flash which is much faster to boot */ +/* Put environment in flash which is much faster to boot than using the EEPROM	*/  #define CFG_ENV_IS_IN_FLASH	1  #define CFG_ENV_ADDR	    0x40040000	/* Address    of Environment Sector	*/  #define CFG_ENV_SIZE		0x2000	/* Total Size of Environment		*/  #define CFG_ENV_SECT_SIZE	0x40000 /* we have BIG sectors only :-(		*/ -#else -/* Environment in EEPROM */ -#define CFG_ENV_IS_IN_EEPROM	1 -#define CFG_ENV_OFFSET		0 -#define CFG_ENV_SIZE		2048 -#endif +  /*-----------------------------------------------------------------------   * I2C/EEPROM Configuration   */ @@ -488,6 +495,8 @@  /* Offset for alternate registers	*/  #define CFG_ATA_ALT_OFFSET	0x0100 +#define CONFIG_SUPPORT_VFAT		/* enable VFAT support */ +  /*-----------------------------------------------------------------------   *   *----------------------------------------------------------------------- |