Hi, Troels,
I see your problem that you want to use GPIO as chip select instead of SPI_PCSx.
When the SPI module is designed, the SPI_PCSx had been thought as the chip select to access slave spi in default. Anyway, I think the timing features defined in CTARx is always valid, and the CPHA,CPOL features are also valid.
I think it is okay to use GPIO as chip select to access slave spi module, but you can NOT use FIFO mode, you have to disable FIFO. the SPI0 has 4 deepth FIFO for both receiver and transmitter, the SPI1 does not support FIFO mode itself.
Because FIFO mode is disabled, the SPI master generates the timing only after you write the SPIx_PUSHR register.
This is the sequence of firmware.
1)configure the SPI module and disable FIFO by setting the DIS_TXF in SPIx_MCR register.
2)configure GPIO pin
3)clear GPIO
4)after a programmable delay, write the SPIx_PUSHR, the SPI will generate timing based on your predefined features in CTARx.
5)use interrupt or polling modes, check TCF or RFDF bits in the SPIx_SR to check if the transmitter has finished, if the flag is set, read data, set GPIO, delay some time.
6)repeat (3) operation.
This is my opinion, pls have a try
Hope it can help you.
BR
Xiangjun Rong