@ -63,54 +63,51 @@ static int write_word (flash_info_t *info, ulong dest, ulong data);
/* functions */
/* functions */
/*********************************************************************/
/*********************************************************************/
/*********************************************************************/
/*
/* NAME: flash_init() - initializes flash banks */
* NAME : flash_init ( ) - initializes flash banks
/* */
*
/* DESCRIPTION: */
* DESCRIPTION :
/* This function initializes the flash bank(s). */
* This function initializes the flash bank ( s ) .
/* */
*
/* RETURNS: */
* RETURNS :
/* The size in bytes of the flash */
* The size in bytes of the flash
/* */
*
/* RESTRICTIONS/LIMITATIONS: */
* RESTRICTIONS / LIMITATIONS :
/* */
*
/* */
*
/******************************************************************** */
*/
unsigned long flash_init ( void )
unsigned long flash_init ( void )
{
{
unsigned long size ;
unsigned long size ;
int i ;
int i ;
/* Init: no FLASHes known */
/* Init: no FLASHes known */
for ( i = 0 ; i < CONFIG_SYS_MAX_FLASH_BANKS ; + + i ) {
for ( i = 0 ; i < CONFIG_SYS_MAX_FLASH_BANKS ; + + i )
flash_info [ i ] . flash_id = FLASH_UNKNOWN ;
flash_info [ i ] . flash_id = FLASH_UNKNOWN ;
}
/* for now, only support the 4 MB Flash SIMM */
/* for now, only support the 4 MB Flash SIMM */
size = flash_get_size ( ( vu_long * ) CONFIG_SYS_FLASH0_BASE ,
size = flash_get_size ( ( vu_long * ) CONFIG_SYS_FLASH0_BASE , & flash_info [ 0 ] ) ;
& flash_info [ 0 ] ) ;
/*
/*
* protect monitor and environment sectors
* protect monitor and environment sectors
*/
*/
# if CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH0_BASE
# if CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH0_BASE
flash_protect ( FLAG_PROTECT_SET ,
flash_protect ( FLAG_PROTECT_SET ,
CONFIG_SYS_MONITOR_BASE ,
CONFIG_SYS_MONITOR_BASE ,
CONFIG_SYS_MONITOR_BASE + monitor_flash_len - 1 ,
CONFIG_SYS_MONITOR_BASE + monitor_flash_len - 1 ,
& flash_info [ 0 ] ) ;
& flash_info [ 0 ] ) ;
# endif
# endif
# if defined(CONFIG_ENV_IS_IN_FLASH) && defined(CONFIG_ENV_ADDR)
# if defined(CONFIG_ENV_IS_IN_FLASH) && defined(CONFIG_ENV_ADDR)
# ifndef CONFIG_ENV_SIZE
# ifndef CONFIG_ENV_SIZE
# define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE
# define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE
# endif
# endif
flash_protect ( FLAG_PROTECT_SET ,
flash_protect ( FLAG_PROTECT_SET ,
CONFIG_ENV_ADDR ,
CONFIG_ENV_ADDR ,
CONFIG_ENV_ADDR + CONFIG_ENV_SIZE - 1 ,
CONFIG_ENV_ADDR + CONFIG_ENV_SIZE - 1 , & flash_info [ 0 ] ) ;
& flash_info [ 0 ] ) ;
# endif
# endif
return ( CONFIG_SYS_FLASH0_SIZE * 1024 * 1024 ) ; /*size */
return CONFIG_SYS_FLASH0_SIZE * 1024 * 1024 ; /*size */
}
}
/*********************************************************************/
/*********************************************************************/