I am working with SPI Flash (N25Q256) connected to BBB to simulate operation of our target hardware which will contain N25Q256 connected to AM3352 on SPI0. To achieve this I have a N25Q256 chip on a small board with its SPI pins (CLK, CS, MOSI and MISO) connected to the respective SPI0 pins of BBB. As described in my earlier questions Booting Beaglebone Black from SPI Flash (N25Q256) and MTD on Beaglebone Black to access SPI Flash (N25Q256) we have got everything going except one problem which I cannot resolve.
If SPL and booloader are read from SPI flash, and subsequently m25p80 driver starts (either as built-in driver or loaded module), I cannot reboot using a reset button or init 6. It appears that the SPI controller has trouble restarting as I do not even see the very first signature of U-boot SPL on the console. For this problem to happen, I can load the kernel and rootFS from SPI flash or the network.
If I disconnect the power and then power up BBB again, I can boot from SPI flash with no problems.
If I load the same kernel (from the network) but do not load m25p80 driver, I can reboot and read SPL and booloader from SPI flash with no problems.
If I boot from any other source rather than SPI flash (SD card, EMMC or the network) reboot from that source can proceed with no problems with or without m25p80 driver working.
Regards
Eugene