From 32ede8fa21fecb68d404b25251ec29ce5e8e6505 Mon Sep 17 00:00:00 2001 From: Alexandre Pereira da Silva Date: Tue, 12 Apr 2011 12:56:28 -0300 Subject: Fix non cfi x16 nor flash connected to x8 bus. The ids in the table should be masked before comparison. --- src/flash/nor/non_cfi.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/flash/nor/non_cfi.c b/src/flash/nor/non_cfi.c index b6739043..795f60da 100644 --- a/src/flash/nor/non_cfi.c +++ b/src/flash/nor/non_cfi.c @@ -454,13 +454,19 @@ static struct non_cfi non_cfi_flashes[] = { void cfi_fixup_non_cfi(struct flash_bank *bank) { + unsigned int mask; struct cfi_flash_bank *cfi_info = bank->driver_priv; struct non_cfi *non_cfi = non_cfi_flashes; + if(cfi_info->x16_as_x8) + mask = 0xFF; + else + mask = 0xFFFF; + for (non_cfi = non_cfi_flashes; non_cfi->mfr; non_cfi++) { if ((cfi_info->manufacturer == non_cfi->mfr) - && (cfi_info->device_id == non_cfi->id)) + && (cfi_info->device_id == (non_cfi->id & mask))) { break; } -- cgit v1.2.3