Hi,
We are using a custom board based on the SC572 with a W25Q512JVEIM 512-Mbit NOR Flash. We have added support for this flash memory in our U-Boot source code.
Specifically, we added the following entry to drivers/mtd/spi/spi-nor-ids.c:
{
INFO("w25q512jveim", 0xef7020, 0, 64 * 1024, 1024,
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
},
U-Boot correctly detects the flash memory during initial boot:
SF: Detected w25q512jveim with page size 256 Bytes, erase size 4 KiB, total 64 MiB
Problem Description
The system does not reboot when we issue a software reset from the U-Boot CLI. It freezes after printing the following output:
=> reset
▒esetting ...
Observations and Workaround
We have identified that if we change the number of sectors from 1024 to 256 in the spi-nor-ids.c entry, the reset command works as expected and the board reboots. However, this change limits the addressable flash memory to 16 MiB, as shown below:
SF: Detected w25q512jveim with page size 256 Bytes, erase size 4 KiB, total 16 MiB
Request for Assistance
Could you please explain why the U-Boot software reset fails when the full 64 MiB of flash memory is configured? What might be the cause of this behavior, and do you have a recommended solution or workaround that allows us to use the entire 64 MiB while maintaining reset functionality?
Please let me know if you need any further information.
Thanks.