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>
This commit is contained in:
Stefan Roese 2010-10-25 18:31:39 +02:00
parent df4e813b72
commit 4d2ca9d6a0

View File

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