From d34438d8b1fd64b80d469e9caa02d1a9e088b3db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= Date: Wed, 16 Nov 2022 12:53:36 +0100 Subject: [PATCH] build_patches: Add support for EON EN25QX128A MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add support for a new SPI flash to the Linux kernel. It is required for recent versions of the Xiaomi Mi 4A Gigabit, which utilizes this SPI flash. Signed-off-by: Fabian Bläse Tested-by: Fabian Bläse --- ...ort-for-EON-EN25QX128A-spi-nor-flash.patch | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 build_patches/openwrt/0011-generic-add-support-for-EON-EN25QX128A-spi-nor-flash.patch diff --git a/build_patches/openwrt/0011-generic-add-support-for-EON-EN25QX128A-spi-nor-flash.patch b/build_patches/openwrt/0011-generic-add-support-for-EON-EN25QX128A-spi-nor-flash.patch new file mode 100644 index 00000000..530d40db --- /dev/null +++ b/build_patches/openwrt/0011-generic-add-support-for-EON-EN25QX128A-spi-nor-flash.patch @@ -0,0 +1,106 @@ +From 3b63209f03007e755c4a076d0a81a60fdf15dcd0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= +Date: Wed, 16 Nov 2022 11:41:32 +0100 +Subject: [PATCH] generic: add support for EON EN25QX128A spi nor flash +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Add support for EON EN25QX128A spi nor flash with no flags as it does +support SFDP parsing. + +Fixes: #9442 +Signed-off-by: Christian Marangi +Tested-by: Szabolcs Hubai [ramips/mt7621: xiaomi_mi-router-4a-gigabit] +[fabian@blaese.de: Backport to Kernel 5.4] +Signed-off-by: Fabian Bläse +--- + .../477-mtd-spi-nor-add-eon-en25qx128a.patch | 21 +++++++++++++++++++ + .../477-mtd-spi-nor-add-eon-en25qx128a.patch | 21 +++++++++++++++++++ + .../477-mtd-spi-nor-add-eon-en25qx128a.patch | 21 +++++++++++++++++++ + 3 files changed, 63 insertions(+) + create mode 100644 target/linux/generic/pending-5.10/477-mtd-spi-nor-add-eon-en25qx128a.patch + create mode 100644 target/linux/generic/pending-5.15/477-mtd-spi-nor-add-eon-en25qx128a.patch + create mode 100644 target/linux/generic/pending-5.4/477-mtd-spi-nor-add-eon-en25qx128a.patch + +diff --git a/target/linux/generic/pending-5.10/477-mtd-spi-nor-add-eon-en25qx128a.patch b/target/linux/generic/pending-5.10/477-mtd-spi-nor-add-eon-en25qx128a.patch +new file mode 100644 +index 0000000000..0a681d6753 +--- /dev/null ++++ b/target/linux/generic/pending-5.10/477-mtd-spi-nor-add-eon-en25qx128a.patch +@@ -0,0 +1,21 @@ ++From: Christian Marangi ++Subject: kernel/mtd: add support for EON EN25QX128A ++ ++Add support for EON EN25QX128A with no flags as it does ++support SFDP parsing. ++ ++Signed-off-by: Christian Marangi ++--- ++ drivers/mtd/spi-nor/spi-nor.c | 1 + ++ 1 file changed, 1 insertion(+) ++ ++--- a/drivers/mtd/spi-nor/eon.c +++++ b/drivers/mtd/spi-nor/eon.c ++@@ -15,6 +15,7 @@ static const struct flash_info eon_parts ++ { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) }, ++ { "en25q128", INFO(0x1c3018, 0, 64 * 1024, 256, ++ SECT_4K | SPI_NOR_DUAL_READ) }, +++ { "en25qx128a", INFO(0x1c7118, 0, 64 * 1024, 256, 0) }, ++ { "en25q80a", INFO(0x1c3014, 0, 64 * 1024, 16, ++ SECT_4K | SPI_NOR_DUAL_READ) }, ++ { "en25qh16", INFO(0x1c7015, 0, 64 * 1024, 32, +diff --git a/target/linux/generic/pending-5.15/477-mtd-spi-nor-add-eon-en25qx128a.patch b/target/linux/generic/pending-5.15/477-mtd-spi-nor-add-eon-en25qx128a.patch +new file mode 100644 +index 0000000000..0a681d6753 +--- /dev/null ++++ b/target/linux/generic/pending-5.15/477-mtd-spi-nor-add-eon-en25qx128a.patch +@@ -0,0 +1,21 @@ ++From: Christian Marangi ++Subject: kernel/mtd: add support for EON EN25QX128A ++ ++Add support for EON EN25QX128A with no flags as it does ++support SFDP parsing. ++ ++Signed-off-by: Christian Marangi ++--- ++ drivers/mtd/spi-nor/spi-nor.c | 1 + ++ 1 file changed, 1 insertion(+) ++ ++--- a/drivers/mtd/spi-nor/eon.c +++++ b/drivers/mtd/spi-nor/eon.c ++@@ -15,6 +15,7 @@ static const struct flash_info eon_parts ++ { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) }, ++ { "en25q128", INFO(0x1c3018, 0, 64 * 1024, 256, ++ SECT_4K | SPI_NOR_DUAL_READ) }, +++ { "en25qx128a", INFO(0x1c7118, 0, 64 * 1024, 256, 0) }, ++ { "en25q80a", INFO(0x1c3014, 0, 64 * 1024, 16, ++ SECT_4K | SPI_NOR_DUAL_READ) }, ++ { "en25qh16", INFO(0x1c7015, 0, 64 * 1024, 32, +diff --git a/target/linux/generic/pending-5.4/477-mtd-spi-nor-add-eon-en25qx128a.patch b/target/linux/generic/pending-5.4/477-mtd-spi-nor-add-eon-en25qx128a.patch +new file mode 100644 +index 0000000000..0a681d6753 +--- /dev/null ++++ b/target/linux/generic/pending-5.4/477-mtd-spi-nor-add-eon-en25qx128a.patch +@@ -0,0 +1,18 @@ ++From: Fabian Bläse ++Subject: kernel/mtd: add support for EON EN25QX128A ++ ++Signed-off-by: Fabian Bläse ++--- ++ 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 ++@@ -2240,8 +2240,9 @@ static const struct flash_info spi_nor_i ++ { "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) }, ++ { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) }, ++ { "en25q128", INFO(0x1c3018, 0, 64 * 1024, 256, SECT_4K) }, +++ { "en25qx128a", INFO(0x1c7118, 0, 64 * 1024, 256, 0) }, ++ { "en25q80a", INFO(0x1c3014, 0, 64 * 1024, 16, ++ SECT_4K | SPI_NOR_DUAL_READ) }, ++ { "en25qh32", INFO(0x1c7016, 0, 64 * 1024, 64, 0) }, +-- +2.38.1 +