I'm trying to update my bare-metal S32K148 QSPI driver for the S32K396.
Clocks should be OK, MUX_0_DC_6 and MUX_10_DC_0 are enabled. LUTs are configured properly according to the new layout. MDAD/TGDAD are also configured, I can see that the IPCR register is written, the IP_ACC and BUSY bits are set in SR, and then... nothing happens! No other bits in SR/FR are set.
After quite some seconds the transaction times out. I can see the bits setting in FLSEQREQ.
The sequence I'm trying is only sending the command 0x9f on one line, reading back 8 bytes and then stop.Works on the S32K148. Did not check the signals with a scope yet.
What can be the issue that causes the timeout, what should I check? I believe, the code largely follows the flow of the "official" driver, but my hardware and the configuration can be slightly different.
Edit:
Measured with scope: signals are OK. Command goes out properly. As a test, added an address command to the LUT, that works too.
However, when I add a read command, SCK keeps running continuously, BUSY and IP_ACC remain set, and no TFF interrupt is generated. Any idea?