Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mtd: chips: add SST39WF160x NOR-flashes

Due to a broken CFI, they have to be added to jedec_probe.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

authored by

Wolfram Sang and committed by
David Woodhouse
087acaf1 b60b08b0

+30
+30
drivers/mtd/chips/jedec_probe.c
··· 148 148 #define SST39LF160 0x2782 149 149 #define SST39VF1601 0x234b 150 150 #define SST39VF3201 0x235b 151 + #define SST39WF1601 0x274b 152 + #define SST39WF1602 0x274a 151 153 #define SST39LF512 0x00D4 152 154 #define SST39LF010 0x00D5 153 155 #define SST39LF020 0x00D6 ··· 1503 1501 .mfr_id = CFI_MFR_SST, /* should be CFI */ 1504 1502 .dev_id = SST39VF1601, 1505 1503 .name = "SST 39VF1601", 1504 + .devtypes = CFI_DEVICETYPE_X16, 1505 + .uaddr = MTD_UADDR_0xAAAA_0x5555, 1506 + .dev_size = SIZE_2MiB, 1507 + .cmd_set = P_ID_AMD_STD, 1508 + .nr_regions = 2, 1509 + .regions = { 1510 + ERASEINFO(0x1000,256), 1511 + ERASEINFO(0x1000,256) 1512 + } 1513 + }, { 1514 + /* CFI is broken: reports AMD_STD, but needs custom uaddr */ 1515 + .mfr_id = CFI_MFR_SST, 1516 + .dev_id = SST39WF1601, 1517 + .name = "SST 39WF1601", 1518 + .devtypes = CFI_DEVICETYPE_X16, 1519 + .uaddr = MTD_UADDR_0xAAAA_0x5555, 1520 + .dev_size = SIZE_2MiB, 1521 + .cmd_set = P_ID_AMD_STD, 1522 + .nr_regions = 2, 1523 + .regions = { 1524 + ERASEINFO(0x1000,256), 1525 + ERASEINFO(0x1000,256) 1526 + } 1527 + }, { 1528 + /* CFI is broken: reports AMD_STD, but needs custom uaddr */ 1529 + .mfr_id = CFI_MFR_SST, 1530 + .dev_id = SST39WF1602, 1531 + .name = "SST 39WF1602", 1506 1532 .devtypes = CFI_DEVICETYPE_X16, 1507 1533 .uaddr = MTD_UADDR_0xAAAA_0x5555, 1508 1534 .dev_size = SIZE_2MiB,