I have a custom iMX6Q board currently booting from MMC. It's an image built from Fido and in Linux user space I have no trouble seeing the flash parts sat on the SPI bus. From inside of u-boot I can probe these devices and can read and write to them. I have taken the u-boot.imx that comes from my Fido image build and programmed it into the flash at offset 0x400, as described in the i.MX Linux Users Guide. The flash probes correctly and reports its product code however reading the data back shows only zeroes. I flashed the efuses in the iMX6 to boot from SPI2 (on the CSI pads) where the flash is currently attached (along with 24bit addressing, as the part is large). I've verified that those pads are not configured for anything other than SPI2. Using an oscilloscope I can see the iMX6 clocking data from the flash at power on, but the device does not boot. I get no output on my serial console.
Is there any way I can investigate what's going on that's causing the iMX6 to fail to boot or the flash to fail to read but still give its part number?