Hello,
So I have added a feature to allow the user to change the boot sequence by holding a button during power up. This works as long as they power the device off then power it on. However, i have found that when a software reset is performed it does not re-read the sysboot pins and therefore uses the same boot sequence as the last boot.
Is there any way to cause it to re-read the sysboot pins on reset? Or maybe a way to modify the register that contains these settings?
I am basically using this method to provide a means of restoring the unit to factory so that if the U-Boot in NAND (default boot method) gets corrupt somehow we can restore from uSD. Since the ROM loader does not perform any sort of verification on the U-Boot image if it sees any data in NAND it will try to boot from it and just hang if its bad. So using a button to change the sequence so that MMC0 is first allows them to boot from the uSD which then reflashes itself to NAND and restarts. But since the sysboot pins are not reread on software reset it just continually boots from uSD and restores until the user powers off then back on : /. If there was either a way to reread the sysboot pins or to modify the value in the register from U-boot this method would then work.
Any advice?
Thanks,
Jarrod