Просмотр исходного кода

arm-trusted-firmware-mediatek: add FudanMicro manufacturer

Add FudanMicro manufacturer.

Signed-off-by: Mikhail Zhilkin <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19760
Signed-off-by: Hauke Mehrtens <[email protected]>
Mikhail Zhilkin 4 месяцев назад
Родитель
Сommit
863a594d18

+ 41 - 0
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 <[email protected]>
+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 <[email protected]>
+---
+
+--- 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;