summaryrefslogtreecommitdiff
path: root/src/flash/nor/non_cfi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/flash/nor/non_cfi.c')
-rw-r--r--src/flash/nor/non_cfi.c8
1 files changed, 7 insertions, 1 deletions
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;
}