|
@@ -467,6 +467,23 @@ err:
|
|
|
.flags = (_flags), \
|
|
|
})
|
|
|
|
|
|
+#define INFO6(_jedec_id, _ext_id, _sector_size, _n_sectors, _flags) \
|
|
|
+ ((kernel_ulong_t)&(struct flash_info) { \
|
|
|
+ .id = { \
|
|
|
+ ((_jedec_id) >> 16) & 0xff, \
|
|
|
+ ((_jedec_id) >> 8) & 0xff, \
|
|
|
+ (_jedec_id) & 0xff, \
|
|
|
+ ((_ext_id) >> 16) & 0xff, \
|
|
|
+ ((_ext_id) >> 8) & 0xff, \
|
|
|
+ (_ext_id) & 0xff, \
|
|
|
+ }, \
|
|
|
+ .id_len = 6, \
|
|
|
+ .sector_size = (_sector_size), \
|
|
|
+ .n_sectors = (_n_sectors), \
|
|
|
+ .page_size = 256, \
|
|
|
+ .flags = (_flags), \
|
|
|
+ })
|
|
|
+
|
|
|
#define CAT25_INFO(_sector_size, _n_sectors, _page_size, _addr_width, _flags) \
|
|
|
((kernel_ulong_t)&(struct flash_info) { \
|
|
|
.sector_size = (_sector_size), \
|
|
@@ -565,6 +582,7 @@ static const struct spi_device_id spi_nor_ids[] = {
|
|
|
{ "s70fl01gs", INFO(0x010221, 0x4d00, 256 * 1024, 256, 0) },
|
|
|
{ "s25sl12800", INFO(0x012018, 0x0300, 256 * 1024, 64, 0) },
|
|
|
{ "s25sl12801", INFO(0x012018, 0x0301, 64 * 1024, 256, 0) },
|
|
|
+ { "s25fl128s", INFO6(0x012018, 0x4d0180, 64 * 1024, 256, SPI_NOR_QUAD_READ) },
|
|
|
{ "s25fl129p0", INFO(0x012018, 0x4d00, 256 * 1024, 64, 0) },
|
|
|
{ "s25fl129p1", INFO(0x012018, 0x4d01, 64 * 1024, 256, 0) },
|
|
|
{ "s25sl004a", INFO(0x010212, 0, 64 * 1024, 8, 0) },
|