XK-EVK-XU316 → Custom board: What code changes for sw_usb_audio when switching AT25FF321A to W25Q32JV (QSPI)?

Technical discussions around xCORE processors (e.g. xcore-200 & xcore.ai).
gunesgrkn
Junior Member
Posts: 6
Joined: Wed Jul 23, 2025 8:01 am

XK-EVK-XU316 → Custom board: What code changes for sw_usb_audio when switching AT25FF321A to W25Q32JV (QSPI)?

Post by gunesgrkn »

Hi,

I’m using XK-EVK-XU316 and have sw_usb_audio running successfully. I’m now designing my own board with the same XU316 MCU and will run sw_usb_audio on it. The EVK uses AT25FF321A (32 Mbit) QSPI NOR; I plan to replace it with Winbond W25Q32JV (32 Mbit). I’d like to confirm what needs to change on the code/DFU side:

DFU/flash driver
If I do not define DFU_FLASH_DEVICE, does quadflashlib’s default device table already recognize W25Q32JV by JEDEC ID?
If I should add an explicit device entry, I’m planning to use:
JEDEC ID: 0xEF4016 (some lots report 0xEF7016)
Page/Sector: 256 B / 4 KB
Fast read: 0xEB (Quad I/O Fast Read) with 1 dummy byte (8 clocks) to start
QE (Quad Enable): SR2.bit1 (Winbond)
Usage: #define DFU_FLASH_DEVICE FL_QUADDEVICE_W25Q32JV (or include both AT25FF321A and W25Q32JV in the list)

Build config
Keeping XUA_QUAD_SPI_FLASH = 1 (same as on the EVK) should be sufficient, correct?
In short, for the AT25FF321A → W25Q32JV swap, what are the exact code/DFU items I must change (device table, JEDEC ID, QE, dummy cycles, etc.)? If the default table already covers W25Q32JV, can you confirm; if not, could you share a known-good FL_QUADDEVICE_W25Q32JV entry?

Thanks!