AnsweredAssumed Answered

IMX7D refuses to boot from qspi after loading mx25l512 module

Question asked by Peter Bruintjes on Feb 14, 2018
Latest reply on Feb 28, 2018 by Peter Bruintjes

Using an IMX7D sabre dev board (rev D) we can boot from QSPI, all works fine except the hard reset / reboot command once Linux has booted.

We use the boot switches configured to boot from QSPI but after Linux has been booted and a reset is requested (either via hard reset switch or reboot command) the system refuses to boot QSPI but tries to boot from SD instead (When inserting a bootable SD card it will boot, even with the boot switches configured as QSPI)

 

This problem can be resolved by disabling "macronix,mx25l51245g" in Linux DTS. When this module is disabled the hard reset and boot commands will cause the system to reboot and load uboot from QSPI

 

We have found that pushing the reset button quickly after starting the kernel the reset still works, only after the kernel has loaded "fsl-quadspi 30bb0000.qspi: mx25l51245g (65536 Kbytes)" the system refuses to reboot from QSPI

Also while in UBoot pressing the reset button the system will just reboot from QSPI

 

Any idea why the system refuses to boot QSPI after loading the mx25l512 module ?

The QSPI itself is working correctly from Linux, we are able to read and write to it as we expect it to work

 

We use the QSPI for other purposes besides booting uboot so we want access to it from the Kernel

How can we force the system to reboot from QSPI even with this module enabled ?

 

We have already tried removing all the DTS settings involving the SRC_BOOT_CFG iomux settings, disabling EPDC and LCD modules.

Outcomes