From 522103685c751c5a8277812eb21cf5ac0b959d5e Mon Sep 17 00:00:00 2001 From: "Igor Zalatov (from Citadel PC)" <flyrouter@gmail.com> Date: Tue, 19 Apr 2022 21:47:15 +0300 Subject: [PATCH] Add disable-quad-and-downclock patch --- ...6-spi-nor-disable-quad-and-downclock.patch | 312 ++++++++++++++++++ .../patches/16-xtx-spi-nor-bpnum4.patch | 28 -- 2 files changed, 312 insertions(+), 28 deletions(-) create mode 100644 br-ext-chip-goke/board/gk7205v200/kernel/patches/16-spi-nor-disable-quad-and-downclock.patch delete mode 100644 br-ext-chip-goke/board/gk7205v200/kernel/patches/16-xtx-spi-nor-bpnum4.patch diff --git a/br-ext-chip-goke/board/gk7205v200/kernel/patches/16-spi-nor-disable-quad-and-downclock.patch b/br-ext-chip-goke/board/gk7205v200/kernel/patches/16-spi-nor-disable-quad-and-downclock.patch new file mode 100644 index 00000000..f64fa7d9 --- /dev/null +++ b/br-ext-chip-goke/board/gk7205v200/kernel/patches/16-spi-nor-disable-quad-and-downclock.patch @@ -0,0 +1,312 @@ +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -1266,26 +1266,26 @@ + { "en25f32", INFO(0x1c3116, 0, 64 * 1024, 64, SECT_4K) }, + { "en25p32", INFO(0x1c2016, 0, 64 * 1024, 64, 0) }, + { "en25q32b", INFO(0x1c3016, 0, 64 * 1024, 64, +- SPI_NOR_QUAD_READ), PARAMS(eon), CLK_MHZ_2X(104) }, ++ SPI_NOR_DUAL_READ), PARAMS(eon), CLK_MHZ_2X(80) }, + { "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) }, + { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(eon), CLK_MHZ_2X(104) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(eon), CLK_MHZ_2X(80) }, + { "en25qh32b-104hip2b", INFO(0x1c7016, 0, 64 * 1024, 64, +- SPI_NOR_QUAD_READ), PARAMS(eon), CLK_MHZ_2X(133) }, ++ SPI_NOR_DUAL_READ), PARAMS(eon), CLK_MHZ_2X(80) }, + { "en25qh64a", INFO(0x1c7017, 0, 64 * 1024, 128, +- SPI_NOR_QUAD_READ), PARAMS(eon), CLK_MHZ_2X(104) }, ++ SPI_NOR_DUAL_READ), PARAMS(eon), CLK_MHZ_2X(80) }, + { "en25q128", INFO(0x1c3018, 0, 64 * 1024, 256, +- SPI_NOR_QUAD_READ), PARAMS(eon), CLK_MHZ_2X(104) }, ++ SPI_NOR_DUAL_READ), PARAMS(eon), CLK_MHZ_2X(80) }, + { "en25qh128", INFO(0x1c7018, 0, 64 * 1024, 256, 0) }, + { "en25qh128a", INFO(0x1c7018, 0, 64 * 1024, 256, +- SPI_NOR_QUAD_READ), PARAMS(eon), CLK_MHZ_2X(104) }, ++ SPI_NOR_DUAL_READ), PARAMS(eon), CLK_MHZ_2X(80) }, + { "en25qh256", INFO(0x1c7019, 0, 64 * 1024, 512, 0) }, + { "en25s64", INFO(0x1c3817, 0, 64 * 1024, 128, SECT_4K) }, + + /* ESMT */ + { "f25l32pa", INFO(0x8c2016, 0, 64 * 1024, 64, SECT_4K) }, + { "f25l64qa", INFO(0x8c4117, 0, 64 * 1024, 128, +- SPI_NOR_QUAD_READ), PARAMS(esmt), CLK_MHZ_2X(84) }, ++ SPI_NOR_DUAL_READ), PARAMS(esmt), CLK_MHZ_2X(84) }, + + /* Everspin */ + { "mr25h256", CAT25_INFO(32 * 1024, 1, 256, 2, SPI_NOR_NO_ERASE +@@ -1298,22 +1298,22 @@ + + /* GigaDevice 3.3V */ + { "gd25q16c", INFO(0xc84015, 0, 64 * 1024, 32, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(gd), CLK_MHZ_2X(120) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(gd), CLK_MHZ_2X(80) }, + { "gd25q32", INFO(0xc84016, 0, 64 * 1024, 64, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(gd), CLK_MHZ_2X(120) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(gd), CLK_MHZ_2X(80) }, + { "gd25q64", INFO(0xc84017, 0, 64 * 1024, 128, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(gd), CLK_MHZ_2X(120) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(gd), CLK_MHZ_2X(80) }, + { "gd25q128/gd25q127", INFO(0xc84018, 0, 64 * 1024, 256, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(gd), CLK_MHZ_2X(80) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(gd), CLK_MHZ_2X(80) }, + { "gd25q256", INFO(0xc84019, 0, 64 * 1024, 512, + SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES), PARAMS(gd), CLK_MHZ_2X(80) }, + /* GigaDevice 1.8V */ + { "gd25lq16c", INFO(0xc86015, 0, 64 * 1024, 32, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(gd), CLK_MHZ_2X(104) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(gd), CLK_MHZ_2X(80) }, + { "gd25lq64", INFO(0xc86017, 0, 64 * 1024, 128, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(gd), CLK_MHZ_2X(133) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(gd), CLK_MHZ_2X(80) }, + { "gd25lq128", INFO(0xc86018, 0, 64 * 1024, 256, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(gd), CLK_MHZ_2X(133) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(gd), CLK_MHZ_2X(80) }, + + /* Intel/Numonyx -- xxxs33b */ + { "160s33b", INFO(0x898911, 0, 64 * 1024, 32, 0) }, +@@ -1324,7 +1324,7 @@ + { "is25cd512", INFO(0x7f9d20, 0, 32 * 1024, 2, SECT_4K) }, + + { "IS25WP512M-RMLA3", INFO(0x9d701a, 0, 64 * 1024, 1024, +- SPI_NOR_QUAD_READ), PARAMS(issi), CLK_MHZ_2X(80) }, ++ SPI_NOR_DUAL_READ), PARAMS(issi), CLK_MHZ_2X(80) }, + + /* Macronix/MXIC 3.3V */ + { "mx25l512e", INFO(0xc22010, 0, 64 * 1024, 1, SECT_4K) }, +@@ -1336,9 +1336,9 @@ + { "mx25l3205d", INFO(0xc22016, 0, 64 * 1024, 64, 0) }, + { "mx25l3255e", INFO(0xc29e16, 0, 64 * 1024, 64, SECT_4K) }, + { "mx25l6436f", INFO(0xc22017, 0, 64 * 1024, 128, +- SPI_NOR_QUAD_READ), PARAMS(mxic), CLK_MHZ_2X(133) }, ++ SPI_NOR_DUAL_READ), PARAMS(mxic), CLK_MHZ_2X(80) }, + { "mx25l12835f", INFO(0xc22018, 0, 64 * 1024, 256, +- SPI_NOR_QUAD_READ), PARAMS(mxic), CLK_MHZ_2X(84) }, ++ SPI_NOR_DUAL_READ), PARAMS(mxic), CLK_MHZ_2X(84) }, + { "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) }, + { "mx25l25635f", INFO(0xc22019, 0, 64 * 1024, 512, + SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES), PARAMS(mxic), CLK_MHZ_2X(84) }, +@@ -1346,61 +1346,61 @@ + | SPI_NOR_4B_OPCODES) }, + { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) }, + { "mx66l51235l/mx25l51245g", INFO(0xc2201a, 0, 64 * 1024, 1024, +- SPI_NOR_QUAD_READ), PARAMS(mxic), CLK_MHZ_2X(133)}, ++ SPI_NOR_DUAL_READ), PARAMS(mxic), CLK_MHZ_2X(80)}, + { "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ)}, + { "mx25v1635f", INFO(0xc22315, 0, 64 * 1024, 32 , +- SPI_NOR_QUAD_READ), PARAMS(mxic), CLK_MHZ_2X(80) }, ++ SPI_NOR_DUAL_READ), PARAMS(mxic), CLK_MHZ_2X(80) }, + /* Macronix/MXIC Wide Voltage Range 1.65~3.6V */ + { "mx25r6435f", INFO(0xc22817, 0, 64 * 1024, 128, + SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ), CLK_MHZ_2X(80) }, + /* Macronix/MXIC 1.8V */ + { "mx25u1633f", INFO(0xc22535, 0, 64 * 1024, 32, +- SPI_NOR_QUAD_READ), PARAMS(mxic), CLK_MHZ_2X(80) }, ++ SPI_NOR_DUAL_READ), PARAMS(mxic), CLK_MHZ_2X(80) }, + { "mx25u6435f", INFO(0xc22537, 0, 64 * 1024, 128, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(mxic), CLK_MHZ_2X(84) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(mxic), CLK_MHZ_2X(84) }, + { "mx25u12835f/mx25u12832f", INFO(0xc22538, 0, 64 * 1024, 256, +- SPI_NOR_QUAD_READ), PARAMS(mxic), CLK_MHZ_2X(84) }, ++ SPI_NOR_DUAL_READ), PARAMS(mxic), CLK_MHZ_2X(84) }, + { "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, + SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES), PARAMS(mxic), CLK_MHZ_2X(84) }, + { "mx25u51245g", INFO(0xc2253a, 0, 64 * 1024, 1024, + SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES), PARAMS(mxic), CLK_MHZ_2X(166) }, + { "mx66u1g45gm", INFO(0xc2253b, 0, 64 * 1024, 2048, +- SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES), PARAMS(mxic), CLK_MHZ_2X(133) }, ++ SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES), PARAMS(mxic), CLK_MHZ_2X(80) }, + + /* Micron 3.3V */ +- { "n25q032", INFO(0x20ba16, 0, 64 * 1024, 64, SPI_NOR_QUAD_READ), ++ { "n25q032", INFO(0x20ba16, 0, 64 * 1024, 64, SPI_NOR_DUAL_READ), + PARAMS(micron), CLK_MHZ_2X(84) }, +- { "n25q064", INFO(0x20ba17, 0, 64 * 1024, 128, SPI_NOR_QUAD_READ), ++ { "n25q064", INFO(0x20ba17, 0, 64 * 1024, 128, SPI_NOR_DUAL_READ), + PARAMS(micron_4k), CLK_MHZ_2X(108) }, +- { "n25q128a13", INFO(0x20ba18, 0, 64 * 1024, 256, SPI_NOR_QUAD_READ), ++ { "n25q128a13", INFO(0x20ba18, 0, 64 * 1024, 256, SPI_NOR_DUAL_READ), + PARAMS(micron), CLK_MHZ_2X(108) }, +- { "mt25ql256a", INFO(0x20ba19, 0x1044, 64 * 1024, 512, SPI_NOR_QUAD_READ), ++ { "mt25ql256a", INFO(0x20ba19, 0x1044, 64 * 1024, 512, SPI_NOR_DUAL_READ), + PARAMS(micron), CLK_MHZ_2X(108) }, + { "n25q512ax3", INFO(0x20ba20, 0, 64 * 1024, 1024, USE_FSR), + PARAMS(micron_4k) }, +- { "n25q00", INFO(0x20ba21, 0, 64 * 1024, 2048, USE_FSR | SPI_NOR_QUAD_READ), ++ { "n25q00", INFO(0x20ba21, 0, 64 * 1024, 2048, USE_FSR | SPI_NOR_DUAL_READ), + PARAMS(micron_4k), CLK_MHZ_2X(80) }, + /* Micron 1.8V */ +- { "n25q032a", INFO(0x20bb16, 0, 64 * 1024, 64, SPI_NOR_QUAD_READ), ++ { "n25q032a", INFO(0x20bb16, 0, 64 * 1024, 64, SPI_NOR_DUAL_READ), + PARAMS(micron), CLK_MHZ_2X(108) }, +- { "n25q064a", INFO(0x20bb17, 0, 64 * 1024, 128, SPI_NOR_QUAD_READ), ++ { "n25q064a", INFO(0x20bb17, 0, 64 * 1024, 128, SPI_NOR_DUAL_READ), + PARAMS(micron), CLK_MHZ_2X(108) }, +- { "mt25qu128a/n25q128a11", INFO(0x20bb18, 0, 64 * 1024, 256, SPI_NOR_QUAD_READ), ++ { "mt25qu128a/n25q128a11", INFO(0x20bb18, 0, 64 * 1024, 256, SPI_NOR_DUAL_READ), + PARAMS(micron), CLK_MHZ_2X(108) }, + { "mt25qu256a", INFO(0x20bb19, 0, 64 * 1024, 512, +- SPI_NOR_4B_OPCODES | SPI_NOR_QUAD_READ), PARAMS(micron), CLK_MHZ_2X(108) }, +- { "n25q512a", INFO(0x20bb20, 0, 64 * 1024, 1024, USE_FSR | SPI_NOR_QUAD_READ), ++ SPI_NOR_4B_OPCODES | SPI_NOR_DUAL_READ), PARAMS(micron), CLK_MHZ_2X(108) }, ++ { "n25q512a", INFO(0x20bb20, 0, 64 * 1024, 1024, USE_FSR | SPI_NOR_DUAL_READ), + PARAMS(micron_4k), CLK_MHZ_2X(80) }, + + /* XMC */ +- { "xm25qh64a", INFO(0x207017, 0, 64 * 1024, 128, SPI_NOR_QUAD_READ), +- PARAMS(xmc), CLK_MHZ_2X(104) }, +- { "xm25qh64b", INFO(0x206017, 0, 64 * 1024, 128, SPI_NOR_QUAD_READ), +- PARAMS(xmc), CLK_MHZ_2X(104) }, +- { "xm25qh128a", INFO(0x207018, 0, 64 * 1024, 256, SPI_NOR_QUAD_READ), +- PARAMS(xmc), CLK_MHZ_2X(104) }, +- { "xm25qh128b", INFO(0x206018, 0, 64 * 1024, 256, SPI_NOR_QUAD_READ), +- PARAMS(xmc), CLK_MHZ_2X(104) }, ++ { "xm25qh64a", INFO(0x207017, 0, 64 * 1024, 128, SPI_NOR_DUAL_READ), ++ PARAMS(xmc), CLK_MHZ_2X(80) }, ++ { "xm25qh64b", INFO(0x206017, 0, 64 * 1024, 128, SPI_NOR_DUAL_READ), ++ PARAMS(xmc), CLK_MHZ_2X(80) }, ++ { "xm25qh128a", INFO(0x207018, 0, 64 * 1024, 256, SPI_NOR_DUAL_READ), ++ PARAMS(xmc), CLK_MHZ_2X(80) }, ++ { "xm25qh128b", INFO(0x206018, 0, 64 * 1024, 256, SPI_NOR_DUAL_READ), ++ PARAMS(xmc), CLK_MHZ_2X(80) }, + + /* PMC */ + { "pm25lv512", INFO(0, 0, 32 * 1024, 2, SECT_4K_PMC) }, +@@ -1416,12 +1416,12 @@ + SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + { "s25fl256s0", INFO(0x010219, 0x4d00, 256 * 1024, 128, 0) }, + { "s25fl256s1", INFO(0x010219, 0x4d01, 64 * 1024, 512, +- SPI_NOR_4B_OPCODES | SPI_NOR_QUAD_READ), PARAMS(spansion), CLK_MHZ_2X(104) }, ++ SPI_NOR_4B_OPCODES | SPI_NOR_DUAL_READ), PARAMS(spansion), CLK_MHZ_2X(80) }, + { "s25fl512s", INFO(0x010220, 0x4d00, 256 * 1024, 256, + SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + { "s70fl01gs", INFO(0x010221, 0x4d00, 256 * 1024, 256, 0) }, + { "s25fl127s/129p1", INFO(0x012018, 0x4d01, 64 * 1024, 256, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(spansion), CLK_MHZ_2X(108) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(spansion), CLK_MHZ_2X(108) }, + { "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 +@@ -1442,7 +1442,7 @@ + { "s25fl008k", INFO(0xef4014, 0, 64 * 1024, 16, SECT_4K + | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + { "w25Q16jv-iq/s25fl016k", INFO(0xef4015, 0, 64 * 1024, 32, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(winbond), CLK_MHZ_2X(84) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(winbond), CLK_MHZ_2X(84) }, + /* { "s25fl064k", INFO(0xef4017, 0, 64 * 1024, 128, SECT_4K + | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, */ + { "s25fl132k", INFO(0x014016, 0, 64 * 1024, 64, SECT_4K) }, +@@ -1510,19 +1510,19 @@ + | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + { "w25x32", INFO(0xef3016, 0, 64 * 1024, 64, SECT_4K) }, + { "w25q32", INFO(0xef4016, 0, 64 * 1024, 64, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(winbond), CLK_MHZ_2X(80) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(winbond), CLK_MHZ_2X(80) }, + { "w25x64", INFO(0xef3017, 0, 64 * 1024, 128, SECT_4K) }, + { "w25q64fv(spi)/w25q64jv_iq", INFO(0xef4017, 0, 64 * 1024, 128, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(winbond), CLK_MHZ_2X(80) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(winbond), CLK_MHZ_2X(80) }, + { "w25q80", INFO(0xef5014, 0, 64 * 1024, 16, SECT_4K) }, + { "w25q80bl", INFO(0xef4014, 0, 64 * 1024, 16, SECT_4K) }, + { "w25q128(b/f)v", INFO(0xef4018, 0, 64 * 1024, 256, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(winbond), CLK_MHZ_2X(104) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(winbond), CLK_MHZ_2X(80) }, + { "w25q128jv_im", INFO(0xef7018, 0, 64 * 1024, 256, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(winbond), CLK_MHZ_2X(80) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(winbond), CLK_MHZ_2X(80) }, + #ifdef CONFIG_AUTOMOTIVE_GRADE + { "w25q256(f/j)v", INFO(0xef4019, 0, 64 * 1024, 512, +- SECT_4K | SPI_NOR_QUAD_READ), PARAMS(winbond), CLK_MHZ_2X(80) }, ++ SECT_4K | SPI_NOR_DUAL_READ), PARAMS(winbond), CLK_MHZ_2X(80) }, + #else + { "w25q256(f/j)v", INFO(0xef4019, 0, 64 * 1024, 512, + SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES), PARAMS(winbond), CLK_MHZ_2X(80) }, +@@ -1544,7 +1544,7 @@ + { "w25q256jw-iq", INFO(0xef6019, 0, 64 * 1024, 512, + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | + SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB | SPI_NOR_4B_OPCODES), +- PARAMS(winbond), CLK_MHZ_2X(133) }, ++ PARAMS(winbond), CLK_MHZ_2X(80) }, + + /* Catalyst / On Semiconductor -- non-JEDEC */ + { "cat25c11", CAT25_INFO(16, 8, 16, 1, SPI_NOR_NO_ERASE +@@ -1559,42 +1559,42 @@ + | SPI_NOR_NO_FR) }, + /* Paragon 3.3V */ + { "pn25f16s", INFO(0xe04015, 0, 64 * 1024, 32, +- SPI_NOR_QUAD_READ), PARAMS(paragon), CLK_MHZ_2X(80) }, ++ SPI_NOR_DUAL_READ), PARAMS(paragon), CLK_MHZ_2X(80) }, + { "pn25f32s", INFO(0xe04016, 0, 64 * 1024, 64, +- SPI_NOR_QUAD_READ), PARAMS(paragon), CLK_MHZ_2X(80) }, ++ SPI_NOR_DUAL_READ), PARAMS(paragon), CLK_MHZ_2X(80) }, + + /* XTX */ + { "xt25f16bssigu", INFO(0x0b4015, 0, 64 * 1024, 32, +- SPI_NOR_QUAD_READ), PARAMS(xtx), CLK_MHZ_2X(120) }, ++ SPI_NOR_DUAL_READ), PARAMS(xtx), CLK_MHZ_2X(80) }, + + { "xt25f32bssigu-s", INFO(0x0b4016, 0, 64 * 1024, 64, +- SPI_NOR_QUAD_READ), PARAMS(xtx), CLK_MHZ_2X(120) }, ++ SPI_NOR_DUAL_READ), PARAMS(xtx), CLK_MHZ_2X(80) }, + + { "xt25f128b", INFO(0x0b4018, 0, 64 * 1024, 256, +- SPI_NOR_QUAD_READ), PARAMS(xtx), CLK_MHZ_2X(70) }, ++ SPI_NOR_DUAL_READ), PARAMS(xtx), CLK_MHZ_2X(70) }, + + { "xt25f64b", INFO(0x0b4017, 0, 64 * 1024, 128, +- SPI_NOR_QUAD_READ), PARAMS(xtx), CLK_MHZ_2X(70) }, ++ SPI_NOR_DUAL_READ), PARAMS(xtx), CLK_MHZ_2X(70) }, + + /*puya 3.3V */ + {"p25q128h", INFO(0x856018, 0, 64 * 1024, 256, +- SPI_NOR_QUAD_READ), PARAMS(puya), CLK_MHZ_2X(104) }, ++ SPI_NOR_DUAL_READ), PARAMS(puya), CLK_MHZ_2X(80) }, + + /* FM 3.3v */ + { "FM25Q64-SOB-T-G",INFO(0xa14017, 0, 64 * 1024, 128, +- SPI_NOR_QUAD_READ), PARAMS(spansion), CLK_MHZ_2X(80) }, ++ SPI_NOR_DUAL_READ), PARAMS(spansion), CLK_MHZ_2X(80) }, + { "FM25Q128-SOB-T-G",INFO(0xa14018, 0, 64 * 1024, 256, +- SPI_NOR_QUAD_READ), PARAMS(spansion), CLK_MHZ_2X(80) }, ++ SPI_NOR_DUAL_READ), PARAMS(spansion), CLK_MHZ_2X(80) }, + + /* HUAHONG 3.3v */ + { "H25S64",INFO(0x684017, 0, 64 * 1024, 128, +- SPI_NOR_QUAD_READ), PARAMS(spansion), CLK_MHZ_2X(80) }, ++ SPI_NOR_DUAL_READ), PARAMS(spansion), CLK_MHZ_2X(80) }, + + { "H25S128",INFO(0x684018, 0, 64 * 1024, 256, +- SPI_NOR_QUAD_READ), PARAMS(spansion), CLK_MHZ_2X(80) }, ++ SPI_NOR_DUAL_READ), PARAMS(spansion), CLK_MHZ_2X(80) }, + + { "ZB25VQ64A",INFO(0x5e4017, 0, 64 * 1024, 128, +- SPI_NOR_QUAD_READ), PARAMS(spansion), CLK_MHZ_2X(104) }, ++ SPI_NOR_DUAL_READ), PARAMS(spansion), CLK_MHZ_2X(80) }, + + /* SiliconKaiser 3.3v */ + { "sk25p128", INFO(0x256018, 0, 64 * 1024, 256), PARAMS(xtx), CLK_MHZ_2X(70) }, +@@ -2258,7 +2258,6 @@ + switch (JEDEC_MFR(info)) { + case SNOR_MFR_GD: + case SNOR_MFR_FM: +- case SNOR_MFR_XTX: + case SNOR_MFR_ESMT: + case SNOR_MFR_EON: + case SNOR_MFR_SPANSION: +@@ -2273,12 +2272,17 @@ + nor->level = bsp_bp_to_level(nor, info, BP_NUM_4); + break; + case SNOR_MFR_MACRONIX: ++ + /* BP bit convert to lock level */ + if (chipsize <= _8M) + nor->level = bsp_bp_to_level(nor, info, BP_NUM_3); + else + nor->level = bsp_bp_to_level(nor, info, BP_NUM_4); + break; ++ case SNOR_MFR_XTX: ++ /* BP bit convert to lock level */ ++ nor->level = bsp_bp_to_level(nor, info, BP_NUM_4); ++ break; + default: + goto usage; + } diff --git a/br-ext-chip-goke/board/gk7205v200/kernel/patches/16-xtx-spi-nor-bpnum4.patch b/br-ext-chip-goke/board/gk7205v200/kernel/patches/16-xtx-spi-nor-bpnum4.patch deleted file mode 100644 index 5adb998b..00000000 --- a/br-ext-chip-goke/board/gk7205v200/kernel/patches/16-xtx-spi-nor-bpnum4.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/drivers/mtd/spi-nor/spi-nor.c -+++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -2258,7 +2258,6 @@ - switch (JEDEC_MFR(info)) { - case SNOR_MFR_GD: - case SNOR_MFR_FM: -- case SNOR_MFR_XTX: - case SNOR_MFR_ESMT: - case SNOR_MFR_EON: - case SNOR_MFR_SPANSION: -@@ -2273,12 +2272,17 @@ - nor->level = bsp_bp_to_level(nor, info, BP_NUM_4); - break; - case SNOR_MFR_MACRONIX: -+ - /* BP bit convert to lock level */ - if (chipsize <= _8M) - nor->level = bsp_bp_to_level(nor, info, BP_NUM_3); - else - nor->level = bsp_bp_to_level(nor, info, BP_NUM_4); - break; -+ case SNOR_MFR_XTX: -+ /* BP bit convert to lock level */ -+ nor->level = bsp_bp_to_level(nor, info, BP_NUM_4); -+ break; - default: - goto usage; - }