diff options
Diffstat (limited to 'board/bubinga405ep/flash.c')
| -rw-r--r-- | board/bubinga405ep/flash.c | 95 | 
1 files changed, 47 insertions, 48 deletions
| diff --git a/board/bubinga405ep/flash.c b/board/bubinga405ep/flash.c index f93dcd4f9..6a9907c01 100644 --- a/board/bubinga405ep/flash.c +++ b/board/bubinga405ep/flash.c @@ -73,8 +73,8 @@ unsigned long flash_init (void)  {  	unsigned long size_b0, size_b1;  	int i; -        uint pbcr; -        unsigned long base_b0, base_b1; +	uint pbcr; +	unsigned long base_b0, base_b1;  	/* Init: no FLASHes known */  	for (i=0; i<CFG_MAX_FLASH_BANKS; ++i) { @@ -172,7 +172,6 @@ unsigned long flash_init (void)  } -  /*-----------------------------------------------------------------------   */  static void flash_get_offsets (ulong base, flash_info_t *info) @@ -180,11 +179,11 @@ static void flash_get_offsets (ulong base, flash_info_t *info)  	int i;  	/* set up sector start address table */ -        if (((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) || +	if (((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) ||  	    (info->flash_id  == FLASH_AM040)){  	    for (i = 0; i < info->sector_count; i++)  		info->start[i] = base + (i * 0x00010000); -        } else { +	} else {  	    if (info->flash_id & FLASH_BTYPE) {  		/* set sector offsets for bottom boot block type	*/  		info->start[0] = base + 0x00000000; @@ -212,10 +211,10 @@ static void flash_get_offsets (ulong base, flash_info_t *info)  void flash_print_info  (flash_info_t *info)  {  	int i; -        int k; -        int size; -        int erased; -        volatile unsigned long *flash; +	int k; +	int size; +	int erased; +	volatile unsigned long *flash;  	if (info->flash_id == FLASH_UNKNOWN) {  		printf ("missing or unknown FLASH type\n"); @@ -261,24 +260,24 @@ void flash_print_info  (flash_info_t *info)  	printf ("  Sector Start Addresses:");  	for (i=0; i<info->sector_count; ++i) { -                /* -                 * Check if whole sector is erased -                 */ -                if (i != (info->sector_count-1)) -                  size = info->start[i+1] - info->start[i]; -                else -                  size = info->start[0] + info->size - info->start[i]; -                erased = 1; -                flash = (volatile unsigned long *)info->start[i]; -                size = size >> 2;        /* divide by 4 for longword access */ -                for (k=0; k<size; k++) -                  { -                    if (*flash++ != 0xffffffff) -                      { -                        erased = 0; -                        break; -                      } -                  } +		/* +		 * Check if whole sector is erased +		 */ +		if (i != (info->sector_count-1)) +		  size = info->start[i+1] - info->start[i]; +		else +		  size = info->start[0] + info->size - info->start[i]; +		erased = 1; +		flash = (volatile unsigned long *)info->start[i]; +		size = size >> 2;        /* divide by 4 for longword access */ +		for (k=0; k<size; k++) +		  { +		    if (*flash++ != 0xffffffff) +		      { +			erased = 0; +			break; +		      } +		  }  		if ((i % 5) == 0)  			printf ("\n   "); @@ -313,7 +312,7 @@ static ulong flash_get_size (vu_long *addr, flash_info_t *info)  	short i;  	FLASH_WORD_SIZE value;  	ulong base = (ulong)addr; -        volatile FLASH_WORD_SIZE *addr2 = (FLASH_WORD_SIZE *)addr; +	volatile FLASH_WORD_SIZE *addr2 = (FLASH_WORD_SIZE *)addr;  	/* Write auto select command: read Manufacturer ID */  	addr2[ADDR0] = (FLASH_WORD_SIZE)0x00AA00AA; @@ -345,14 +344,14 @@ static ulong flash_get_size (vu_long *addr, flash_info_t *info)  #ifdef CONFIG_ADCIOP  	value = addr2[0];			/* device ID		*/ -        /*        printf("\ndev_code=%x\n", value); */ +	/*        printf("\ndev_code=%x\n", value); */  #else  	value = addr2[1];			/* device ID		*/  #endif  	switch (value) {  	case (FLASH_WORD_SIZE)AMD_ID_F040B: -	        info->flash_id += FLASH_AM040; +		info->flash_id += FLASH_AM040;  		info->sector_count = 8;  		info->size = 0x0080000; /* => 512 ko */  		break; @@ -423,11 +422,11 @@ static ulong flash_get_size (vu_long *addr, flash_info_t *info)  	}  	/* set up sector start address table */ -        if (((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) || +	if (((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) ||  	    (info->flash_id  == FLASH_AM040)){  	    for (i = 0; i < info->sector_count; i++)  		info->start[i] = base + (i * 0x00010000); -        } else { +	} else {  	    if (info->flash_id & FLASH_BTYPE) {  		/* set sector offsets for bottom boot block type	*/  		info->start[0] = base + 0x00000000; @@ -458,10 +457,10 @@ static ulong flash_get_size (vu_long *addr, flash_info_t *info)  		info->protect[i] = addr2[4] & 1;  #else  		addr2 = (volatile FLASH_WORD_SIZE *)(info->start[i]); -                if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) -                  info->protect[i] = 0; -                else -                  info->protect[i] = addr2[2] & 1; +		if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) +		  info->protect[i] = 0; +		else +		  info->protect[i] = addr2[2] & 1;  #endif  	} @@ -472,9 +471,9 @@ static ulong flash_get_size (vu_long *addr, flash_info_t *info)  #if 0 /* test-only */  #ifdef CONFIG_ADCIOP  		addr2 = (volatile unsigned char *)info->start[0]; -                addr2[ADDR0] = 0xAA; -                addr2[ADDR1] = 0x55; -                addr2[ADDR0] = 0xF0;  /* reset bank */ +		addr2[ADDR0] = 0xAA; +		addr2[ADDR1] = 0x55; +		addr2[ADDR0] = 0xF0;  /* reset bank */  #else  		addr2 = (FLASH_WORD_SIZE *)info->start[0];  		*addr2 = (FLASH_WORD_SIZE)0x00F000F0;	/* reset bank */ @@ -496,15 +495,15 @@ int wait_for_DQ7(flash_info_t *info, int sect)  	start = get_timer (0);      last  = start;      while ((addr[0] & (FLASH_WORD_SIZE)0x00800080) != (FLASH_WORD_SIZE)0x00800080) { -        if ((now = get_timer(start)) > CFG_FLASH_ERASE_TOUT) { -            printf ("Timeout\n"); -            return -1; -        } -        /* show that we're waiting */ -        if ((now - last) > 1000) {  /* every second */ -            putc ('.'); -            last = now; -        } +	if ((now = get_timer(start)) > CFG_FLASH_ERASE_TOUT) { +	    printf ("Timeout\n"); +	    return -1; +	} +	/* show that we're waiting */ +	if ((now - last) > 1000) {  /* every second */ +	    putc ('.'); +	    last = now; +	}      }  	return 0;  } |