cfi_flash: Use flash_read32() in sector_erased()

The function sector_erased() is modified to not use pointer
access, but to use the correct accessor functions. This fixes a
problem on the t3corp board with the Xilinx DS617 flash chips. Here
a board specific accessor function is needed to read from flash
in 32bit mode. This patch enables such an operation mode.

Signed-off-by: Stefan Roese <sr@denx.de>
master
Stefan Roese 14 years ago
parent df4e813b72
commit 4d2ca9d6a0
  1. 6
      drivers/mtd/cfi_flash.c

@ -1112,18 +1112,18 @@ static int sector_erased(flash_info_t *info, int i)
{ {
int k; int k;
int size; int size;
volatile unsigned long *flash; u32 *flash;
/* /*
* Check if whole sector is erased * Check if whole sector is erased
*/ */
size = flash_sector_size(info, i); size = flash_sector_size(info, i);
flash = (volatile unsigned long *) info->start[i]; flash = (u32 *)info->start[i];
/* divide by 4 for longword access */ /* divide by 4 for longword access */
size = size >> 2; size = size >> 2;
for (k = 0; k < size; k++) { for (k = 0; k < size; k++) {
if (*flash++ != 0xffffffff) if (flash_read32(flash++) != 0xffffffff)
return 0; /* not erased */ return 0; /* not erased */
} }

Loading…
Cancel
Save