@ -4296,7 +4296,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
}
/*
@@ -73 5,8 +868 ,8 @@ static const struct flash_info spi_nor_i
@@ -73 6,8 +869 ,8 @@ static const struct flash_info spi_nor_i
{ "n25q032a", INFO(0x20bb16, 0, 64 * 1024, 64, SPI_NOR_QUAD_READ) },
{ "n25q064", INFO(0x20ba17, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_QUAD_READ) },
{ "n25q064a", INFO(0x20bb17, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_QUAD_READ) },
@ -4307,7 +4307,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
{ "n25q256a", INFO(0x20ba19, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_QUAD_READ) },
{ "n25q512a", INFO(0x20bb20, 0, 64 * 1024, 1024, SECT_4K | USE_FSR | SPI_NOR_QUAD_READ) },
{ "n25q512ax3", INFO(0x20ba20, 0, 64 * 1024, 1024, SECT_4K | USE_FSR | SPI_NOR_QUAD_READ) },
@@ -77 0,6 +903 ,7 @@ static const struct flash_info spi_nor_i
@@ -77 1,6 +904 ,7 @@ static const struct flash_info spi_nor_i
{ "s25fl008k", INFO(0xef4014, 0, 64 * 1024, 16, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ "s25fl016k", INFO(0xef4015, 0, 64 * 1024, 32, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ "s25fl064k", INFO(0xef4017, 0, 64 * 1024, 128, SECT_4K) },
@ -4315,7 +4315,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
{ "s25fl132k", INFO(0x014016, 0, 64 * 1024, 64, SECT_4K) },
{ "s25fl164k", INFO(0x014017, 0, 64 * 1024, 128, SECT_4K) },
{ "s25fl204k", INFO(0x014013, 0, 64 * 1024, 8, SECT_4K | SPI_NOR_DUAL_READ) },
@@ -83 3,11 +967 ,23 @@ static const struct flash_info spi_nor_i
@@ -83 4,11 +968 ,23 @@ static const struct flash_info spi_nor_i
{ "w25x16", INFO(0xef3015, 0, 64 * 1024, 32, SECT_4K) },
{ "w25x32", INFO(0xef3016, 0, 64 * 1024, 64, SECT_4K) },
{ "w25q32", INFO(0xef4016, 0, 64 * 1024, 64, SECT_4K) },
@ -4342,7 +4342,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
{ "w25q80", INFO(0xef5014, 0, 64 * 1024, 16, SECT_4K) },
{ "w25q80bl", INFO(0xef4014, 0, 64 * 1024, 16, SECT_4K) },
{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },
@@ -86 0,7 +1006 ,7 @@ static const struct flash_info *spi_nor_
@@ -86 1,7 +1007 ,7 @@ static const struct flash_info *spi_nor_
tmp = nor->read_reg(nor, SPINOR_OP_RDID, id, SPI_NOR_MAX_ID_LEN);
if (tmp < 0) {
@ -4351,7 +4351,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
return ERR_PTR(tmp);
}
@@ -87 1,7 +1017 ,7 @@ static const struct flash_info *spi_nor_
@@ -87 2,7 +1018 ,7 @@ static const struct flash_info *spi_nor_
return &spi_nor_ids[tmp];
}
}
@ -4360,7 +4360,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
id[0], id[1], id[2]);
return ERR_PTR(-ENODEV);
}
@@ -101 7,6 +1163 ,8 @@ static int macronix_quad_enable(struct s
@@ -101 8,6 +1164 ,8 @@ static int macronix_quad_enable(struct s
int ret, val;
val = read_sr(nor);
@ -4369,7 +4369,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
write_enable(nor);
write_sr(nor, val | SR_QUAD_EN_MX);
@@ -109 8,7 +1246 ,7 @@ static int set_quad_mode(struct spi_nor
@@ -109 9,7 +1247 ,7 @@ static int set_quad_mode(struct spi_nor
static int spi_nor_check(struct spi_nor *nor)
{
if (!nor->dev || !nor->read || !nor->write ||
@ -4378,7 +4378,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
pr_err("spi-nor: please fill all the necessary fields!\n");
return -EINVAL;
}
@@ -111 1,7 +1259 ,7 @@ int spi_nor_scan(struct spi_nor *nor, co
@@ -111 2,7 +1260 ,7 @@ int spi_nor_scan(struct spi_nor *nor, co
const struct flash_info *info = NULL;
struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd;
@ -4387,7 +4387,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
int ret;
int i;
@@ -116 1,9 +1309 ,11 @@ int spi_nor_scan(struct spi_nor *nor, co
@@ -116 2,9 +1310 ,11 @@ int spi_nor_scan(struct spi_nor *nor, co
if (JEDEC_MFR(info) == SNOR_MFR_ATMEL ||
JEDEC_MFR(info) == SNOR_MFR_INTEL ||
JEDEC_MFR(info) == SNOR_MFR_MACRONIX ||
@ -4400,7 +4400,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
}
if (!mtd->name)
@@ -117 7,7 +1327 ,8 @@ int spi_nor_scan(struct spi_nor *nor, co
@@ -117 8,7 +1328 ,8 @@ int spi_nor_scan(struct spi_nor *nor, co
mtd->_read = spi_nor_read;
/* NOR protection support for STmicro/Micron chips and similar */
@ -4410,7 +4410,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
nor->flash_lock = stm_lock;
nor->flash_unlock = stm_unlock;
nor->flash_is_locked = stm_is_locked;
@@ -119 7,6 +1348 ,8 @@ int spi_nor_scan(struct spi_nor *nor, co
@@ -119 8,6 +1349 ,8 @@ int spi_nor_scan(struct spi_nor *nor, co
if (info->flags & USE_FSR)
nor->flags |= SNOR_F_USE_FSR;
@ -4419,7 +4419,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#ifdef CONFIG_MTD_SPI_NOR_USE_4K_SECTORS
/* prefer "small sector" erase if possible */
@@ -1 299,6 +1452 ,12 @@ int spi_nor_scan(struct spi_nor *nor, co
@@ -1 300,6 +1453 ,12 @@ int spi_nor_scan(struct spi_nor *nor, co
nor->addr_width = 3;
}