Message ID | 1111011589.117630.1525106107675.JavaMail.zimbra@xes-inc.com |
---|---|
State | Accepted |
Delegated to: | Boris Brezillon |
Headers | show |
Series | [v2,1/2] mtd: cfi: Support early CFI fixups | expand |
On Mon, 30 Apr 2018 11:35:07 -0500 (CDT) Aaron Sierra <asierra@xes-inc.com> wrote: > S70GL02GS flash reports a single 256 MiB chip, but is really made up > of two 128 MiB chips with 1024 sectors each. > > Without early fixups (top half of device cannot be written or erased): > ff0000000.nor-boot: Found 1 x16 devices at 0x0 in 16-bit bank. <snip> > Amd/Fujitsu Extended Query Table at 0x0040 > Amd/Fujitsu Extended Query version 1.5. > number of CFI chips: 1 > > With early fixups (entire device can be written and erased): > Bad S70GL02GS CFI data; adjust to detect 2 chips > ff0000000.nor-boot: Found 1 x16 devices at 0x0 in 16-bit bank. <snip> > ff0000000.nor-boot: Found 1 x16 devices at 0x8000000 in 16-bit bank > Amd/Fujitsu Extended Query Table at 0x0040 > Amd/Fujitsu Extended Query version 1.5. > number of CFI chips: 2 > > Signed-off-by: Aaron Sierra <asierra@xes-inc.com> Just one comment for your future contributions: can you make sure you send patch series as a thread (patch X should be 'In-Reply-To' the cover letter or the first patch in the series if you don't have a cover letter). Usually, developers use git send-email which takes care of that for you.
----- Original Message ----- > From: "Boris Brezillon" <boris.brezillon@bootlin.com> > To: "Aaron Sierra" <asierra@xes-inc.com> > Sent: Thursday, May 3, 2018 4:35:57 AM > Subject: Re: [PATCH v2 2/2] mtd: cfi: Add early fixup for S70GL02GS > On Mon, 30 Apr 2018 11:35:07 -0500 (CDT) > Aaron Sierra <asierra@xes-inc.com> wrote: > [ snip ] > > Just one comment for your future contributions: can you make sure you > send patch series as a thread (patch X should be 'In-Reply-To' the > cover letter or the first patch in the series if you don't have a cover > letter). > > Usually, developers use git send-email which takes care of that for you. Yes, I will. Thanks for pointing this out to me. -Aaron
diff --git a/drivers/mtd/chips/cfi_probe.c b/drivers/mtd/chips/cfi_probe.c index c05deac..65f3ab0 100644 --- a/drivers/mtd/chips/cfi_probe.c +++ b/drivers/mtd/chips/cfi_probe.c @@ -174,7 +174,19 @@ static int __xipram cfi_probe_chip(struct map_info *map, __u32 base, return 1; } +static void fixup_s70gl02gs_chips(struct cfi_private *cfi) +{ + /* + * S70GL02GS flash reports a single 256 MiB chip, but is really made up + * of two 128 MiB chips with 1024 sectors each. + */ + cfi->cfiq->DevSize = 27; + cfi->cfiq->EraseRegionInfo[0] = 0x20003ff; + pr_warn("Bad S70GL02GS CFI data; adjust to detect 2 chips\n"); +} + static struct cfi_early_fixup cfi_early_fixup_table[] = { + { CFI_MFR_AMD, 0x4801, fixup_s70gl02gs_chips }, { 0, 0, NULL }, };
S70GL02GS flash reports a single 256 MiB chip, but is really made up of two 128 MiB chips with 1024 sectors each. Without early fixups (top half of device cannot be written or erased): ff0000000.nor-boot: Found 1 x16 devices at 0x0 in 16-bit bank. <snip> Amd/Fujitsu Extended Query Table at 0x0040 Amd/Fujitsu Extended Query version 1.5. number of CFI chips: 1 With early fixups (entire device can be written and erased): Bad S70GL02GS CFI data; adjust to detect 2 chips ff0000000.nor-boot: Found 1 x16 devices at 0x0 in 16-bit bank. <snip> ff0000000.nor-boot: Found 1 x16 devices at 0x8000000 in 16-bit bank Amd/Fujitsu Extended Query Table at 0x0040 Amd/Fujitsu Extended Query version 1.5. number of CFI chips: 2 Signed-off-by: Aaron Sierra <asierra@xes-inc.com> --- drivers/mtd/chips/cfi_probe.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)