summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikhail Zhilkin2025-08-13 19:46:54 +0000
committerHauke Mehrtens2025-09-08 12:02:52 +0000
commit863a594d188f53390c16448a1516b1b9634697e7 (patch)
treee07ed64948349fd4ff44855b5b52c22d48f720a4
parentbf55d2fbec85599c79e7f063ae59c36926241329 (diff)
downloadopenwrt-863a594d188f53390c16448a1516b1b9634697e7.tar.gz
arm-trusted-firmware-mediatek: add FudanMicro manufacturer
Add FudanMicro manufacturer. Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19760 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--package/boot/arm-trusted-firmware-mediatek/patches/0004-mediatek-snfi-add-FudanMicro-manufacturer.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/package/boot/arm-trusted-firmware-mediatek/patches/0004-mediatek-snfi-add-FudanMicro-manufacturer.patch b/package/boot/arm-trusted-firmware-mediatek/patches/0004-mediatek-snfi-add-FudanMicro-manufacturer.patch
new file mode 100644
index 0000000000..7900cfe44d
--- /dev/null
+++ b/package/boot/arm-trusted-firmware-mediatek/patches/0004-mediatek-snfi-add-FudanMicro-manufacturer.patch
@@ -0,0 +1,41 @@
+From fd057aba83aea8458986e11c81dbb75a69468b84 Mon Sep 17 00:00:00 2001
+From: Mikhail Zhilkin <csharper2005@gmail.com>
+Date: Wed, 13 Aug 2025 22:46:54 +0300
+Subject: arm-trusted-firmware-mediatek: add FudanMicro manufacturer
+
+Add FudanMicro manufacturer.
+
+Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
+---
+
+--- a/plat/mediatek/apsoc_common/drivers/spi_nand/mtk_spi_nand.c
++++ b/plat/mediatek/apsoc_common/drivers/spi_nand/mtk_spi_nand.c
+@@ -21,6 +21,7 @@
+ #define SPI_NAND_MAX_ID_LEN 4U
+ #define DELAY_US_400MS 400000U
+ #define ETRON_ID 0xD5U
++#define FUDAN_ID 0xA1U
+ #define GIGADEVICE_ID 0xC8U
+ #define MACRONIX_ID 0xC2U
+ #define MICRON_ID 0x2CU
+@@ -146,7 +147,8 @@ static int spi_nand_quad_enable(uint8_t
+ if (manufacturer_id != MACRONIX_ID &&
+ manufacturer_id != GIGADEVICE_ID &&
+ manufacturer_id != ETRON_ID &&
+- manufacturer_id != FORESEE_ID) {
++ manufacturer_id != FORESEE_ID &&
++ manufacturer_id != FUDAN_ID) {
+ return 0;
+ }
+
+@@ -543,6 +545,10 @@ static int spi_nand_check_pp(struct para
+ INFO("PP COPY %d CRC read: 0x%x, compute: 0x%x\n",
+ i, crc, crc_compute);
+
++ // FUDAN integrity CRC (bytes 254-255) is reversed
++ if (crc != crc_compute)
++ crc = htobe16(pp->integrity_crc);
++
+ if (crc != crc_compute) {
+ ret = -EBADMSG;
+ continue;