Page 1 of 1

MOD54415, EFFS, DSPI, and QSPI

Posted: Tue Jun 25, 2019 8:22 pm
by Watzlavick
The documentation for the EFFS says it requires exclusive use of the QSPI lines. The MCF54415 has DSPI which I assume is emulated in the Netburner libraries as QSPI for the EFFS library. If so, how does that affect use of the other SPI channels? If I want to use the onboard microSD card at SPIO, can I still use SPI1-3? It appears from a brief reading of MCF54415RM that the 4 DSPI channels are independent from each other. I'm stuck on an older version of the NNDK, 2.7.5, if that matters.
Thanks,
-Bob

Re: MOD54415, EFFS, DSPI, and QSPI

Posted: Wed Jul 10, 2019 8:51 am
by ephogy
I can't speak for 2.7.5 as I'm using 2.8.7, but yes? SPI0 is not brought out to J1/J2 other than CS3.

I'm not sure whether you need to enable the interrupt driver for it if you want to use SPI1-3.
Uncomment #define SD_IRQ_QSPI in MOD5441X\system\mmc_mcf.cpp if you do?
In porting my MOD5272 code to MOD5441X, I uncommented this line and I've never tried NOT using it...

Having done the above, though, I use the onboard MicroSD card and use SPI1 with all the CS lines + SPI0_CS3 going into a quad demux so I can drive up to 16 devices from SPI1_PCS0..2 + SPI0_PCS3

SPI2 and SPI3 are UART0 and UART1 so becareful using them as you'll have no console outputs.

Re: MOD54415, EFFS, DSPI, and QSPI

Posted: Wed Jul 10, 2019 9:42 am
by ephogy
So.. Looks like I don't need to use the IRQ code, but the interrupt driven code is about 15% faster, at least how I'm using it, than the non-interrupt driven code, which should (?) be faster. MicroSD card access has fairly low priority in my application so this might be why the interrupt driven driver is faster.