From 8d3e6ebe024e35b9d48a5797d1efdd02225ebb37 Mon Sep 17 00:00:00 2001 From: "C.S.M" Date: Tue, 11 Aug 2026 19:18:51 +0800 Subject: [PATCH] fix(bootloader): skip XMC startup for vendor ID 0x46 Chips with RDID vendor 0x46 are not XMC and should not enter the XMC startup flow via the RDID fast path. Co-authored-by: Cursor --- .../bootloader_flash/src/bootloader_flash.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/components/bootloader_support/bootloader_flash/src/bootloader_flash.c b/components/bootloader_support/bootloader_flash/src/bootloader_flash.c index d85ebcec856..b9c24ea354d 100644 --- a/components/bootloader_support/bootloader_flash/src/bootloader_flash.c +++ b/components/bootloader_support/bootloader_flash/src/bootloader_flash.c @@ -912,6 +912,12 @@ static IRAM_ATTR bool is_xmc_chip_strict(uint32_t rdid) uint32_t mfid = BYTESHIFT(rdid, 1); uint32_t cpid = BYTESHIFT(rdid, 0); + // xmc vendor id begin with 0x46 means that it's a D-series chip + // which did not need the startup flow + if (vendor_id == 0x46) { + return true; + } + if (vendor_id != XMC_VENDOR_ID_1) { return false; }