Hey all, my QSPI woes continue. I'm trying write 4 bytes (0xDEADBEEF) of data to a flash chip, equivalent to the NRF52840 DK. I'm using PP4IO and 24 bit addressing mode but for some reason it looks like the data lines are trying to transmit 32 bits of address data, or a dummy data byte, but the clock and CS are behaving normally. This results in my data being shifted two clock cycles, which means my first byte of data gets written as a 0, and my last byte doesn't get written at all.
Here's from the 52840 Data sheet what's supposed to happen:
Here's the data sheet of the flash, what it wants to happen:
And here's what's actually happening. You can see the bottom four lines only become active on the last 6 clock cycles, not the last 8. There are 0's written on 8 clock cycles in the middle, instead of 6 clock cycles.
I have confirmed that the IFCONFIG0.ADDRMODE is correctly set to 0
I also found ADDRCONF.OPCODE that says it sets the 32-bit mode. This is set to 0xB7... I'm not sure if that means it's set to 32 bit mode or what.
Any ideas at all what's going on here?