Hello @PS_115,
The Winbond W25Q512JV is suitable for use as a QSPI NOR Flash on your STM32MP157FAC1 based custom board.
It meets the core electrical and functional requirements of the STM32MP157 QUADSPI interface (3.3 V supply, 133 MHz max clock, Quad SPI mode, JEDEC SFDP auto-detection, 3-byte addressing at power-on reset).
However, please take note of the following important design and firmware considerations before finalizing the layout and software:
⚠️ Attention Points
1. ADP Bit (S17) – Address Mode at Power-Up
The W25Q512JV features a non-volatile ADP bit (Status Register bit S17) that controls whether the device powers up in 3-byte or 4-byte address mode. By default, ADP = 0, meaning the device starts in 3-byte address mode — which is required for the STM32MP157 BootROM to correctly read the FSBL (TF-A BL2). Ensure this bit is never programmed to 1 in your production flow, as it would prevent the device from booting.
2. BootROM Accessible Address Range
The STM32MP157 BootROM accesses the NOR Flash using 3-byte addressing only, limiting the accessible range to the first 16 MB. Your boot images (TF-A + FIP/U-Boot) must be programmed and located within this range.
3. No Official ST BSP Driver
Unlike the Macronix MX25L51245G (used on the STM32MP157F-EV1 board), the W25Q512JV does not have an official STM32Cube BSP driver.
The Linux spi-nor framework and U-Boot will detect it via SFDP auto-detection, but you must verify that your OpenSTLinux BSP version correctly enumerates the part.
It is recommended to explicitly declare the flash in the device tree using the jedec,spi-nor compatible string.
If supply chain constraints allow, the Macronix MX25L51245G remains the preferred and lower-risk choice, given its official ST validation and native BSP driver support. The W25Q512JV is a viable alternative provided the above points are carefully addressed.
Best Regards,
Zakaria