[PATCH 1/2] mtd/chips: add SST39WF160x NOR-flashes
David Woodhouse
dwmw2 at infradead.org
Thu May 13 20:44:48 EDT 2010
On Tue, 2010-04-27 at 04:19 +0200, Wolfram Sang wrote:
> Due to a broken CFI, they have to be added to jedec_probe.
>
> Signed-off-by: Wolfram Sang <w.sang at pengutronix.de>
> Cc: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
> Cc: David Woodhouse <David.Woodhouse at intel.com>
> ---
>
> Sadly, those two cannot be detected using Guillaume's SST-patchset.
Why not? Guillaume has patches which add quirks for specific SST chips;
what is fundamentally different about these chips that means you can't
take the same approach?
> drivers/mtd/chips/jedec_probe.c | 30 ++++++++++++++++++++++++++++++
> 1 files changed, 30 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mtd/chips/jedec_probe.c b/drivers/mtd/chips/jedec_probe.c
> index 8db1148..6850b23 100644
> --- a/drivers/mtd/chips/jedec_probe.c
> +++ b/drivers/mtd/chips/jedec_probe.c
> @@ -166,6 +166,8 @@
> #define SST39LF160 0x2782
> #define SST39VF1601 0x234b
> #define SST39VF3201 0x235b
> +#define SST39WF1601 0x274b
> +#define SST39WF1602 0x274a
> #define SST39LF512 0x00D4
> #define SST39LF010 0x00D5
> #define SST39LF020 0x00D6
> @@ -1529,6 +1531,34 @@ static const struct amd_flash_info jedec_table[] = {
> ERASEINFO(0x1000,256)
> }
> }, {
> + /* CFI is broken: reports AMD_STD, but needs custom uaddr */
> + .mfr_id = MANUFACTURER_SST,
> + .dev_id = SST39WF1601,
> + .name = "SST 39WF1601",
> + .devtypes = CFI_DEVICETYPE_X16,
> + .uaddr = MTD_UADDR_0xAAAA_0x5555,
> + .dev_size = SIZE_2MiB,
> + .cmd_set = P_ID_AMD_STD,
> + .nr_regions = 2,
> + .regions = {
> + ERASEINFO(0x1000,256),
> + ERASEINFO(0x1000,256)
> + }
> + }, {
> + /* CFI is broken: reports AMD_STD, but needs custom uaddr */
> + .mfr_id = MANUFACTURER_SST,
> + .dev_id = SST39WF1602,
> + .name = "SST 39WF1602",
> + .devtypes = CFI_DEVICETYPE_X16,
> + .uaddr = MTD_UADDR_0xAAAA_0x5555,
> + .dev_size = SIZE_2MiB,
> + .cmd_set = P_ID_AMD_STD,
> + .nr_regions = 2,
> + .regions = {
> + ERASEINFO(0x1000,256),
> + ERASEINFO(0x1000,256)
> + }
> + }, {
> .mfr_id = MANUFACTURER_SST, /* should be CFI */
> .dev_id = SST39VF3201,
> .name = "SST 39VF3201",
--
David Woodhouse Open Source Technology Centre
David.Woodhouse at intel.com Intel Corporation
More information about the linux-mtd
mailing list