From: Rafał Miłecki Date: Tue, 7 Feb 2017 11:32:35 +0000 (+0100) Subject: kernel: update spi-nor in 4.9 to version from Linus's tree (4.10) X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=6d5419d96ad7d6f2b6de112e8f8ba1f74ceb33d3;p=openwrt%2Fstaging%2Frobimarko.git kernel: update spi-nor in 4.9 to version from Linus's tree (4.10) This adds support for more devices. Signed-off-by: Rafał Miłecki --- diff --git a/target/linux/generic/patches-4.9/061-v4.10-0001-mtd-spi-nor-add-Macronix-mx25u25635f-to-list-of-know.patch b/target/linux/generic/patches-4.9/061-v4.10-0001-mtd-spi-nor-add-Macronix-mx25u25635f-to-list-of-know.patch new file mode 100644 index 0000000000..54f950036b --- /dev/null +++ b/target/linux/generic/patches-4.9/061-v4.10-0001-mtd-spi-nor-add-Macronix-mx25u25635f-to-list-of-know.patch @@ -0,0 +1,22 @@ +From 355445b86f0f61125409e1217be4f0a8ee362116 Mon Sep 17 00:00:00 2001 +From: Ash Benz +Date: Sat, 19 Nov 2016 07:51:49 +0800 +Subject: [PATCH] mtd: spi-nor: add Macronix mx25u25635f to list of known + devices. + +Signed-off-by: Ash Benz +Signed-off-by: Cyrille Pitchen +--- + drivers/mtd/spi-nor/spi-nor.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -872,6 +872,7 @@ static const struct flash_info spi_nor_i + { "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) }, + { "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) }, + { "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) }, ++ { "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, SECT_4K) }, + { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) }, + { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_QUAD_READ) }, + { "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) }, diff --git a/target/linux/generic/patches-4.9/061-v4.10-0002-mtd-spi-nor-fix-spansion-quad-enable.patch b/target/linux/generic/patches-4.9/061-v4.10-0002-mtd-spi-nor-fix-spansion-quad-enable.patch new file mode 100644 index 0000000000..cd0aa4660a --- /dev/null +++ b/target/linux/generic/patches-4.9/061-v4.10-0002-mtd-spi-nor-fix-spansion-quad-enable.patch @@ -0,0 +1,42 @@ +From 807c16253319ee6ccf8873ae64f070f7eb532cd5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jo=C3=ABl=20Esponde?= +Date: Wed, 23 Nov 2016 12:47:40 +0100 +Subject: [PATCH] mtd: spi-nor: fix spansion quad enable +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +With the S25FL127S nor flash part, each writing to the configuration +register takes hundreds of ms. During that time, no more accesses to +the flash should be done (even reads). + +This commit adds a wait loop after the register writing until the flash +finishes its work. + +This issue could make rootfs mounting fail when the latter was done too +much closely to this quad enable bit setting step. And in this case, a +driver as UBIFS may try to recover the filesystem and may broke it +completely. + +Signed-off-by: Joël Esponde +Signed-off-by: Cyrille Pitchen +--- + drivers/mtd/spi-nor/spi-nor.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -1256,6 +1256,13 @@ static int spansion_quad_enable(struct s + return -EINVAL; + } + ++ ret = spi_nor_wait_till_ready(nor); ++ if (ret) { ++ dev_err(nor->dev, ++ "timeout while writing configuration register\n"); ++ return ret; ++ } ++ + /* read back and check it */ + ret = read_cr(nor); + if (!(ret > 0 && (ret & CR_QUAD_EN_SPAN))) { diff --git a/target/linux/generic/patches-4.9/061-v4.10-0003-mtd-spi-nor-fix-flags-for-s25fl128s.patch b/target/linux/generic/patches-4.9/061-v4.10-0003-mtd-spi-nor-fix-flags-for-s25fl128s.patch new file mode 100644 index 0000000000..9c4e10d022 --- /dev/null +++ b/target/linux/generic/patches-4.9/061-v4.10-0003-mtd-spi-nor-fix-flags-for-s25fl128s.patch @@ -0,0 +1,28 @@ +From 4287916d7bab2806305d3296b4cf261fa49d959b Mon Sep 17 00:00:00 2001 +From: Heiner Kallweit +Date: Thu, 27 Oct 2016 23:13:26 +0200 +Subject: [PATCH] mtd: spi-nor: fix flags for s25fl128s + +The Spansion S25FL128S also supports dual read mode. +In addition remove flag SECT_4K. 4K erases are supported, +but not uniformly. + +Signed-off-by: Heiner Kallweit +Reviewed-by: Jagan Teki +Acked-by: Marek Vasut +Signed-off-by: Cyrille Pitchen +--- + drivers/mtd/spi-nor/spi-nor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -906,7 +906,7 @@ static const struct flash_info spi_nor_i + { "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, SECT_4K | SPI_NOR_QUAD_READ) }, ++ { "s25fl128s", INFO6(0x012018, 0x4d0180, 64 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + { "s25fl129p0", INFO(0x012018, 0x4d00, 256 * 1024, 64, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + { "s25fl129p1", INFO(0x012018, 0x4d01, 64 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + { "s25sl004a", INFO(0x010212, 0, 64 * 1024, 8, 0) }, diff --git a/target/linux/generic/patches-4.9/061-v4.10-0004-mtd-spi-nor-add-support-for-s25fl208k.patch b/target/linux/generic/patches-4.9/061-v4.10-0004-mtd-spi-nor-add-support-for-s25fl208k.patch new file mode 100644 index 0000000000..955e5bb2d4 --- /dev/null +++ b/target/linux/generic/patches-4.9/061-v4.10-0004-mtd-spi-nor-add-support-for-s25fl208k.patch @@ -0,0 +1,23 @@ +From 022a400f90ceeb26405edd5e077d56e2f38c8123 Mon Sep 17 00:00:00 2001 +From: Sean Nyekjaer +Date: Wed, 5 Oct 2016 10:59:49 +0200 +Subject: [PATCH] mtd: spi-nor: add support for s25fl208k + +Signed-off-by: Sean Nyekjaer +Reviewed-by: Jagan Teki +Acked-by: Marek Vasut +Signed-off-by: Cyrille Pitchen +--- + drivers/mtd/spi-nor/spi-nor.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -922,6 +922,7 @@ static const struct flash_info spi_nor_i + { "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) }, ++ { "s25fl208k", INFO(0x014014, 0, 64 * 1024, 16, SECT_4K | SPI_NOR_DUAL_READ) }, + + /* SST -- large erase sizes are "overlays", "sectors" are 4K */ + { "sst25vf040b", INFO(0xbf258d, 0, 64 * 1024, 8, SECT_4K | SST_WRITE) }, diff --git a/target/linux/generic/patches-4.9/061-v4.10-0005-mtd-spi-nor-Add-at25df321-spi-nor-flash-support.patch b/target/linux/generic/patches-4.9/061-v4.10-0005-mtd-spi-nor-Add-at25df321-spi-nor-flash-support.patch new file mode 100644 index 0000000000..b97d8c7857 --- /dev/null +++ b/target/linux/generic/patches-4.9/061-v4.10-0005-mtd-spi-nor-Add-at25df321-spi-nor-flash-support.patch @@ -0,0 +1,26 @@ +From b08618c929b289699a496b8d45a4e1a014187e56 Mon Sep 17 00:00:00 2001 +From: Jagan Teki +Date: Tue, 26 Jul 2016 14:07:54 +0530 +Subject: [PATCH] mtd: spi-nor: Add at25df321 spi-nor flash support + +Add Atmel at25df321 spi-nor flash to the list of spi_nor_ids. + +Cc: Brian Norris +Cc: Wenyou Yang +Signed-off-by: Jagan Teki +Acked-by: Wenyou Yang +Signed-off-by: Cyrille Pitchen +--- + drivers/mtd/spi-nor/spi-nor.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -799,6 +799,7 @@ static const struct flash_info spi_nor_i + { "at25fs040", INFO(0x1f6604, 0, 64 * 1024, 8, SECT_4K) }, + + { "at25df041a", INFO(0x1f4401, 0, 64 * 1024, 8, SECT_4K) }, ++ { "at25df321", INFO(0x1f4700, 0, 64 * 1024, 64, SECT_4K) }, + { "at25df321a", INFO(0x1f4701, 0, 64 * 1024, 64, SECT_4K) }, + { "at25df641", INFO(0x1f4800, 0, 64 * 1024, 128, SECT_4K) }, + diff --git a/target/linux/generic/patches-4.9/061-v4.10-0006-mtd-spi-nor-Add-support-for-N25Q016A.patch b/target/linux/generic/patches-4.9/061-v4.10-0006-mtd-spi-nor-Add-support-for-N25Q016A.patch new file mode 100644 index 0000000000..b4e94543e5 --- /dev/null +++ b/target/linux/generic/patches-4.9/061-v4.10-0006-mtd-spi-nor-Add-support-for-N25Q016A.patch @@ -0,0 +1,29 @@ +From 61e4611864b396c7e9040b7335f25d3921bc87cd Mon Sep 17 00:00:00 2001 +From: Moritz Fischer +Date: Fri, 15 Jul 2016 10:03:48 -0700 +Subject: [PATCH] mtd: spi-nor: Add support for N25Q016A + +This commit adds support in the spi-nor driver for the +N25Q016A, a 16Mbit SPI NOR flash from Micron. + +Cc: David Woodhouse +Cc: Brian Norris +Cc: Jagan Teki + +Signed-off-by: Moritz Fischer +Reviewed-by: Jagan Teki +Signed-off-by: Cyrille Pitchen +--- + drivers/mtd/spi-nor/spi-nor.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -879,6 +879,7 @@ static const struct flash_info spi_nor_i + { "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) }, + + /* Micron */ ++ { "n25q016a", INFO(0x20bb15, 0, 64 * 1024, 32, SECT_4K | SPI_NOR_QUAD_READ) }, + { "n25q032", INFO(0x20ba16, 0, 64 * 1024, 64, SPI_NOR_QUAD_READ) }, + { "n25q032a", INFO(0x20bb16, 0, 64 * 1024, 64, SPI_NOR_QUAD_READ) }, + { "n25q064", INFO(0x20ba17, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_QUAD_READ) }, diff --git a/target/linux/generic/patches-4.9/061-v4.10-0007-mtd-spi-nor-Add-support-for-mr25h40.patch b/target/linux/generic/patches-4.9/061-v4.10-0007-mtd-spi-nor-Add-support-for-mr25h40.patch new file mode 100644 index 0000000000..3bae77db7c --- /dev/null +++ b/target/linux/generic/patches-4.9/061-v4.10-0007-mtd-spi-nor-Add-support-for-mr25h40.patch @@ -0,0 +1,25 @@ +From edd0c8f4932dbf3e21036cb443ba5bdf7449d02b Mon Sep 17 00:00:00 2001 +From: IWAMOTO Masahiko +Date: Wed, 5 Oct 2016 08:22:52 +0000 +Subject: [PATCH] mtd: spi-nor: Add support for mr25h40 + +Add Everspin mr25h40 512KB MRAM to the list of supported chips. + +Signed-off-by: Masahiko Iwamoto +Reviewed-by: Jagan Teki +Acked-by: Marek Vasut +Signed-off-by: Cyrille Pitchen +--- + drivers/mtd/spi-nor/spi-nor.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -826,6 +826,7 @@ static const struct flash_info spi_nor_i + /* Everspin */ + { "mr25h256", CAT25_INFO( 32 * 1024, 1, 256, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) }, + { "mr25h10", CAT25_INFO(128 * 1024, 1, 256, 3, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) }, ++ { "mr25h40", CAT25_INFO(512 * 1024, 1, 256, 3, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) }, + + /* Fujitsu */ + { "mb85rs1mt", INFO(0x047f27, 0, 128 * 1024, 1, SPI_NOR_NO_ERASE) }, diff --git a/target/linux/generic/patches-4.9/162-mtd-spi-nor-add-support-for-ESMT_f25l32qa-and-ESMT_f.patch b/target/linux/generic/patches-4.9/162-mtd-spi-nor-add-support-for-ESMT_f25l32qa-and-ESMT_f.patch index 8f48ab1370..2187136256 100644 --- a/target/linux/generic/patches-4.9/162-mtd-spi-nor-add-support-for-ESMT_f25l32qa-and-ESMT_f.patch +++ b/target/linux/generic/patches-4.9/162-mtd-spi-nor-add-support-for-ESMT_f25l32qa-and-ESMT_f.patch @@ -10,7 +10,7 @@ Signed-off-by: L. D. Pinney --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -821,6 +821,8 @@ static const struct flash_info spi_nor_i +@@ -822,6 +822,8 @@ static const struct flash_info spi_nor_i /* ESMT */ { "f25l32pa", INFO(0x8c2016, 0, 64 * 1024, 64, SECT_4K) }, diff --git a/target/linux/generic/patches-4.9/465-m25p80-mx-disable-software-protection.patch b/target/linux/generic/patches-4.9/465-m25p80-mx-disable-software-protection.patch index b0dd141cf6..0fe722487b 100644 --- a/target/linux/generic/patches-4.9/465-m25p80-mx-disable-software-protection.patch +++ b/target/linux/generic/patches-4.9/465-m25p80-mx-disable-software-protection.patch @@ -4,7 +4,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -1356,6 +1356,7 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -1368,6 +1368,7 @@ int spi_nor_scan(struct spi_nor *nor, co if (JEDEC_MFR(info) == SNOR_MFR_ATMEL || JEDEC_MFR(info) == SNOR_MFR_INTEL || diff --git a/target/linux/generic/patches-4.9/475-mtd-spi-nor-add-macronix-mx25u25635f.patch b/target/linux/generic/patches-4.9/475-mtd-spi-nor-add-macronix-mx25u25635f.patch deleted file mode 100644 index 150e467859..0000000000 --- a/target/linux/generic/patches-4.9/475-mtd-spi-nor-add-macronix-mx25u25635f.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/drivers/mtd/spi-nor/spi-nor.c -+++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -874,6 +874,7 @@ static const struct flash_info spi_nor_i - { "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) }, - { "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) }, - { "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) }, -+ { "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, 0) }, - { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) }, - { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_QUAD_READ) }, - { "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) }, diff --git a/target/linux/generic/patches-4.9/476-mtd-spi-nor-add-eon-en25q128.patch b/target/linux/generic/patches-4.9/476-mtd-spi-nor-add-eon-en25q128.patch index 6644de2495..6e3c65d461 100644 --- a/target/linux/generic/patches-4.9/476-mtd-spi-nor-add-eon-en25q128.patch +++ b/target/linux/generic/patches-4.9/476-mtd-spi-nor-add-eon-en25q128.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -815,6 +815,7 @@ static const struct flash_info spi_nor_i +@@ -816,6 +816,7 @@ static const struct flash_info spi_nor_i { "en25q32b", INFO(0x1c3016, 0, 64 * 1024, 64, 0) }, { "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) }, { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) }, diff --git a/target/linux/generic/patches-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch b/target/linux/generic/patches-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch index 5885d70eb7..bd39ba556e 100644 --- a/target/linux/generic/patches-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch +++ b/target/linux/generic/patches-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -871,6 +871,7 @@ static const struct flash_info spi_nor_i +@@ -873,6 +873,7 @@ static const struct flash_info spi_nor_i { "mx25l3205d", INFO(0xc22016, 0, 64 * 1024, 64, SECT_4K) }, { "mx25l3255e", INFO(0xc29e16, 0, 64 * 1024, 64, SECT_4K) }, { "mx25l6405d", INFO(0xc22017, 0, 64 * 1024, 128, SECT_4K) }, diff --git a/target/linux/generic/patches-4.9/479-enable_mtd_has_lock_for_f25l32pa.patch b/target/linux/generic/patches-4.9/479-enable_mtd_has_lock_for_f25l32pa.patch index 0bf20f3794..354eac0720 100644 --- a/target/linux/generic/patches-4.9/479-enable_mtd_has_lock_for_f25l32pa.patch +++ b/target/linux/generic/patches-4.9/479-enable_mtd_has_lock_for_f25l32pa.patch @@ -11,7 +11,7 @@ Acked-by: Marek Vasut --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -821,7 +821,7 @@ static const struct flash_info spi_nor_i +@@ -822,7 +822,7 @@ static const struct flash_info spi_nor_i { "en25s64", INFO(0x1c3817, 0, 64 * 1024, 128, SECT_4K) }, /* ESMT */