Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 504a3e72 authored by Darius Augulis's avatar Darius Augulis Committed by David Woodhouse
Browse files

[MTD] [NOR] Fixup for Numonyx M29W128 chips



Prevent NUMONYX M29W128G memories from using write buffer,
because it doesn't work properly.

Signed-off-by: default avatarDarius Augulis <augulis.darius@gmail.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent d8877f19
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -282,6 +282,16 @@ static void fixup_s29gl032n_sectors(struct mtd_info *mtd, void *param)
	}
}

static void fixup_M29W128G_write_buffer(struct mtd_info *mtd, void *param)
{
	struct map_info *map = mtd->priv;
	struct cfi_private *cfi = map->fldrv_priv;
	if (cfi->cfiq->BufWriteTimeoutTyp) {
		pr_warning("Don't use write buffer on ST flash M29W128G\n");
		cfi->cfiq->BufWriteTimeoutTyp = 0;
	}
}

static struct cfi_fixup cfi_fixup_table[] = {
	{ CFI_MFR_ATMEL, CFI_ID_ANY, fixup_convert_atmel_pri, NULL },
#ifdef AMD_BOOTLOC_BUG
@@ -298,6 +308,7 @@ static struct cfi_fixup cfi_fixup_table[] = {
	{ CFI_MFR_AMD, 0x1301, fixup_s29gl064n_sectors, NULL, },
	{ CFI_MFR_AMD, 0x1a00, fixup_s29gl032n_sectors, NULL, },
	{ CFI_MFR_AMD, 0x1a01, fixup_s29gl032n_sectors, NULL, },
	{ CFI_MFR_ST,  0x227E, fixup_M29W128G_write_buffer, NULL, },
#if !FORCE_WORD_WRITE
	{ CFI_MFR_ANY, CFI_ID_ANY, fixup_use_write_buffers, NULL, },
#endif