From 863a594d188f53390c16448a1516b1b9634697e7 Mon Sep 17 00:00:00 2001 From: Mikhail Zhilkin Date: Wed, 13 Aug 2025 22:46:54 +0300 Subject: [PATCH] arm-trusted-firmware-mediatek: add FudanMicro manufacturer Add FudanMicro manufacturer. Signed-off-by: Mikhail Zhilkin Link: https://github.com/openwrt/openwrt/pull/19760 Signed-off-by: Hauke Mehrtens --- ...tek-snfi-add-FudanMicro-manufacturer.patch | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 package/boot/arm-trusted-firmware-mediatek/patches/0004-mediatek-snfi-add-FudanMicro-manufacturer.patch 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 +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 +--- + +--- 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; -- 2.30.2