Unable to boot from parallel NAND
- April 23, 2021
- 2 replies
- 4196 views
Hello,
I'm trying the NAND boot on our STM32MP157AAB3 custom board but until today I could't make the ROM code load the tf-a image from this memory.
I'm yet able to boot from uSD (SDMMC1), eMMC (SDMMC2) and serial NOR (QUADSPI). For uSD I partitioned the device as described in wiki, for eMMC the only way I found to make the ROM code able to load the image is programming it via STM32CubeProgrammer (same procedure of uSD won't work), for NOR I wrote it from u-boot with sf commands.
Our board is equipped with Winbond W29N08GVSIAA parallel NAND, connected to the FMC default pins as stated in wiki. The NAND datasheet report all the ONFI parameters requested by the ROM code, none of the OTP is blown. I'm building tf-a, u-boot and linux kernel from the ST repos aligned to STM32MP15-ecosystem-v2.1.0 release, the dts are created starting from STM32CubeMX output with USER CODE added according to wiki.
When I boot from another device, in u-boot I'm able to detect, write and read the NAND device. Writing the tf-a image into the NAND at offset 0 does't seems to be accepted by the ROM code, trying to flash the NAND with the STM32CubeProgrammer make the tool endlessy loop (logs attached).
I also tried to download the ROM logs as explained in wiki but all the lines contain NAND tranfer errors (log attached), I make another test booting with the NAND diconnected from the board.
Can you help me pinpoint the problem here?
I'm available for any further detail.
Best regards,
Rosario
