diff options
| author | wdenk <wdenk> | 2004-01-02 16:05:07 +0000 | 
|---|---|---|
| committer | wdenk <wdenk> | 2004-01-02 16:05:07 +0000 | 
| commit | b6e4c4033c4f889c452c511d38c77808c67f9cf7 (patch) | |
| tree | 73a39833805f4cf47588dd1616a1b479ab58a418 /board/mpl/common/flash.c | |
| parent | 63f3491242df8e6bd1b5df7296f28959989e2eaf (diff) | |
| download | olio-uboot-2014.01-b6e4c4033c4f889c452c511d38c77808c67f9cf7.tar.xz olio-uboot-2014.01-b6e4c4033c4f889c452c511d38c77808c67f9cf7.zip | |
* Patch by Denis Peter, 8 Dec 2003
  - add support for the PATI board (MPC555)
  - add SPI support for the MPC5xx
* Patch by Anders Larsen, 08 Dec 2003:
  add configuration options CONFIG_SERIAL_TAG and CONFIG_REVISION_TAG
  to pass ATAG_SERIAL and ATAG_REVISION, resp., to the ARM target;
  cleanup some redundand #defines
Diffstat (limited to 'board/mpl/common/flash.c')
| -rw-r--r-- | board/mpl/common/flash.c | 38 | 
1 files changed, 26 insertions, 12 deletions
| diff --git a/board/mpl/common/flash.c b/board/mpl/common/flash.c index 5f50200b2..fd430083e 100644 --- a/board/mpl/common/flash.c +++ b/board/mpl/common/flash.c @@ -36,6 +36,8 @@   */  #include <common.h> + +#if !defined(CONFIG_PATI)  #include <ppc4xx.h>  #include <asm/processor.h>  #include "common_util.h" @@ -46,6 +48,9 @@  #include "../pip405/pip405.h"  #endif  #include <405gp_pci.h> +#else /* defined(CONFIG_PATI) */ +#include <mpc5xx.h> +#endif  flash_info_t	flash_info[CFG_MAX_FLASH_BANKS]; /* info for FLASH chips	*/  /*----------------------------------------------------------------------- @@ -56,22 +61,15 @@ static int write_word (flash_info_t *info, ulong dest, ulong data);  void unlock_intel_sectors(flash_info_t *info,ulong addr,ulong cnt); - -#ifdef CONFIG_PIP405  #define ADDR0           0x5555  #define ADDR1           0x2aaa  #define FLASH_WORD_SIZE unsigned short -#endif - -#ifdef CONFIG_MIP405 -#define ADDR0           0x5555 -#define ADDR1           0x2aaa -#define FLASH_WORD_SIZE unsigned short -#endif  #define FALSE           0  #define TRUE            1 +#if !defined(CONFIG_PATI) +  /*-----------------------------------------------------------------------   * Some CS switching routines:   * @@ -151,11 +149,16 @@ void setup_cs_reloc(void)  	}  } +#endif /* #if !defined(CONFIG_PATI) */  unsigned long flash_init (void)  { -	unsigned long size_b0, size_b1,flashcr, size_reg; -	int mode, i; +	unsigned long size_b0; +	int i; + +#if !defined(CONFIG_PATI) +	unsigned long size_b1,flashcr,size_reg; +	int mode;  	extern char version_string;  	char *p=&version_string; @@ -169,6 +172,7 @@ unsigned long flash_init (void)  	else  		printf("(%s Boot) ",(mode & BOOT_MPS) ?  			"MPS" : "Flash"); +#endif /* #if !defined(CONFIG_PATI) */  	/* Init: no FLASHes known */  	for (i=0; i<CFG_MAX_FLASH_BANKS; ++i) {  		flash_info[i].flash_id = FLASH_UNKNOWN; @@ -190,6 +194,7 @@ unsigned long flash_init (void)  			CFG_MONITOR_BASE+monitor_flash_len-1,  			&flash_info[0]);  #endif +#if !defined(CONFIG_PATI)  	/* protect reset vector */  	flash_info[0].protect[flash_info[0].sector_count-1] = 1;  	size_b1 = 0 ; @@ -233,7 +238,7 @@ unsigned long flash_init (void)  		mtdcr(ebccfgd, flashcr);  	}  #if 0 -	/* enable this if you want to test if +	/* enable this (PIP405/MIP405 only) if you want to test if  	   the relocation has be done ok.  	   This will disable both Chipselects */  	mtdcr (ebccfga, pb0cr); @@ -250,6 +255,15 @@ unsigned long flash_init (void)  		}  		p++;  	} +#else /* #if !defined(CONFIG_PATI) */ +#ifdef	CFG_ENV_IS_IN_FLASH +	/* ENV protection ON by default */ +	flash_protect(FLAG_PROTECT_SET, +		      CFG_ENV_ADDR, +		      CFG_ENV_ADDR+CFG_ENV_SECT_SIZE-1, +		      &flash_info[0]); +#endif +#endif /* #if !defined(CONFIG_PATI) */  	return (size_b0);  } |