aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips
diff options
context:
space:
mode:
authorBaptiste Jonglez <git@bitsofnetworks.org>2018-10-18 11:07:26 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2018-10-20 16:13:39 +0200
commitb2c68ceea76a41a484d24a12d20c6988dd59e83f (patch)
tree7688664133ddcd375bf922713889f8cee47eab8d /target/linux/ramips
parentd27d87c9109e12485bc3a709c8dea1ce05f9f81c (diff)
downloadupstream-b2c68ceea76a41a484d24a12d20c6988dd59e83f.tar.gz
upstream-b2c68ceea76a41a484d24a12d20c6988dd59e83f.tar.bz2
upstream-b2c68ceea76a41a484d24a12d20c6988dd59e83f.zip
kernel: Add support for Winbond w25q128jv SPI NOR flash
Newer batches of several Mikrotik boards contain this yet-unsupported flash chip, for instance: - rb941-2nd (hAP lite) - rb952ui-5ac2nd (hAP ac lite) - RBM33G and probably other Mikrotik boards need this patch as well. The patch was submitted upstream by Robert Marko: https://patchwork.ozlabs.org/patch/934181/ Closes: FS#1715 Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org> Cc: Robert Marko <robimarko@gmail.com>
Diffstat (limited to 'target/linux/ramips')
-rw-r--r--target/linux/ramips/patches-4.14/0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch12
-rw-r--r--target/linux/ramips/patches-4.14/0054-mtd-spi-nor-w25q256-respect-default-mode.patch2
2 files changed, 7 insertions, 7 deletions
diff --git a/target/linux/ramips/patches-4.14/0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch b/target/linux/ramips/patches-4.14/0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch
index 6ae9226d39..e7161af959 100644
--- a/target/linux/ramips/patches-4.14/0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch
+++ b/target/linux/ramips/patches-4.14/0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch
@@ -116,7 +116,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_LOCK);
return ret;
-@@ -1165,7 +1217,7 @@ static const struct flash_info spi_nor_i
+@@ -1170,7 +1222,7 @@ static const struct flash_info spi_nor_i
{ "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) },
@@ -125,7 +125,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
{ "w25m512jv", INFO(0xef7119, 0, 64 * 1024, 1024,
SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_DUAL_READ) },
-@@ -1225,6 +1277,9 @@ static int spi_nor_read(struct mtd_info
+@@ -1230,6 +1282,9 @@ static int spi_nor_read(struct mtd_info
if (ret)
return ret;
@@ -135,7 +135,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
while (len) {
loff_t addr = from;
-@@ -1249,6 +1304,18 @@ static int spi_nor_read(struct mtd_info
+@@ -1254,6 +1309,18 @@ static int spi_nor_read(struct mtd_info
ret = 0;
read_err:
@@ -154,7 +154,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_READ);
return ret;
}
-@@ -1350,6 +1417,10 @@ static int spi_nor_write(struct mtd_info
+@@ -1355,6 +1422,10 @@ static int spi_nor_write(struct mtd_info
if (ret)
return ret;
@@ -165,7 +165,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
for (i = 0; i < len; ) {
ssize_t written;
loff_t addr = to + i;
-@@ -1390,6 +1461,7 @@ static int spi_nor_write(struct mtd_info
+@@ -1395,6 +1466,7 @@ static int spi_nor_write(struct mtd_info
}
write_err:
@@ -173,7 +173,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_WRITE);
return ret;
}
-@@ -2806,8 +2878,10 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -2811,8 +2883,10 @@ int spi_nor_scan(struct spi_nor *nor, co
} else if (mtd->size > 0x1000000) {
/* enable 4-byte addressing if the device exceeds 16MiB */
nor->addr_width = 4;
diff --git a/target/linux/ramips/patches-4.14/0054-mtd-spi-nor-w25q256-respect-default-mode.patch b/target/linux/ramips/patches-4.14/0054-mtd-spi-nor-w25q256-respect-default-mode.patch
index 568d61db91..99a9c2e53f 100644
--- a/target/linux/ramips/patches-4.14/0054-mtd-spi-nor-w25q256-respect-default-mode.patch
+++ b/target/linux/ramips/patches-4.14/0054-mtd-spi-nor-w25q256-respect-default-mode.patch
@@ -33,7 +33,7 @@
/*
* Write status register 1 byte
* Returns negative if error occurred.
-@@ -2878,9 +2887,16 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -2883,9 +2892,16 @@ int spi_nor_scan(struct spi_nor *nor, co
} else if (mtd->size > 0x1000000) {
/* enable 4-byte addressing if the device exceeds 16MiB */
nor->addr_width = 4;