diff options
author | Baptiste Jonglez <git@bitsofnetworks.org> | 2018-10-18 11:08:20 +0200 |
---|---|---|
committer | Koen Vandeputte <koen.vandeputte@ncentric.com> | 2018-11-07 11:41:59 +0100 |
commit | aa0aa47aa176133ff302c4a5cea785d971bc26b3 (patch) | |
tree | 61e30f9737eaafdba507a32a6beb32ceaea33c4e /target/linux/layerscape | |
parent | 44084d89f2b0f60ba6d0d480ebf4d944c1ebe57d (diff) | |
download | upstream-aa0aa47aa176133ff302c4a5cea785d971bc26b3.tar.gz upstream-aa0aa47aa176133ff302c4a5cea785d971bc26b3.tar.bz2 upstream-aa0aa47aa176133ff302c4a5cea785d971bc26b3.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>
[Rebased + refreshed on current kernels]
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Diffstat (limited to 'target/linux/layerscape')
-rw-r--r-- | target/linux/layerscape/patches-4.9/401-mtd-spi-nor-support-layerscape.patch | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/target/linux/layerscape/patches-4.9/401-mtd-spi-nor-support-layerscape.patch b/target/linux/layerscape/patches-4.9/401-mtd-spi-nor-support-layerscape.patch index b6b6b92c3d..45f1bfce47 100644 --- a/target/linux/layerscape/patches-4.9/401-mtd-spi-nor-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/401-mtd-spi-nor-support-layerscape.patch @@ -768,7 +768,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> { "w25q32", INFO(0xef4016, 0, 64 * 1024, 64, SECT_4K) }, { "w25q32dw", INFO(0xef6016, 0, 64 * 1024, 64, -@@ -1196,6 +1220,53 @@ static const struct flash_info *spi_nor_ +@@ -1201,6 +1225,53 @@ static const struct flash_info *spi_nor_ id[0], id[1], id[2]); return ERR_PTR(-ENODEV); } @@ -822,7 +822,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> static int spi_nor_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, u_char *buf) -@@ -1415,7 +1486,7 @@ static int macronix_quad_enable(struct s +@@ -1420,7 +1491,7 @@ static int macronix_quad_enable(struct s * Write status Register and configuration register with 2 bytes * The first byte will be written to the status register, while the * second byte will be written to the configuration register. @@ -831,7 +831,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> */ static int write_sr_cr(struct spi_nor *nor, u16 val) { -@@ -1463,6 +1534,24 @@ static int spansion_quad_enable(struct s +@@ -1468,6 +1539,24 @@ static int spansion_quad_enable(struct s return 0; } @@ -856,7 +856,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> static int set_quad_mode(struct spi_nor *nor, const struct flash_info *info) { int status; -@@ -1609,9 +1698,25 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -1614,9 +1703,25 @@ int spi_nor_scan(struct spi_nor *nor, co write_sr(nor, 0); spi_nor_wait_till_ready(nor); } @@ -882,7 +882,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> mtd->priv = nor; mtd->type = MTD_NORFLASH; mtd->writesize = 1; -@@ -1645,6 +1750,8 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -1650,6 +1755,8 @@ int spi_nor_scan(struct spi_nor *nor, co nor->flags |= SNOR_F_USE_FSR; if (info->flags & SPI_NOR_HAS_TB) nor->flags |= SNOR_F_HAS_SR_TB; @@ -891,7 +891,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> #ifdef CONFIG_MTD_SPI_NOR_USE_4K_SECTORS /* prefer "small sector" erase if possible */ -@@ -1684,9 +1791,15 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -1689,9 +1796,15 @@ int spi_nor_scan(struct spi_nor *nor, co /* Some devices cannot do fast-read, no matter what DT tells us */ if (info->flags & SPI_NOR_NO_FR) nor->flash_read = SPI_NOR_NORMAL; @@ -910,7 +910,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> ret = set_quad_mode(nor, info); if (ret) { dev_err(dev, "quad mode not supported\n"); -@@ -1699,6 +1812,9 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -1704,6 +1817,9 @@ int spi_nor_scan(struct spi_nor *nor, co /* Default commands */ switch (nor->flash_read) { |