SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
To select the McSPI slave mode, set the MCSPI_MODULCTRL[2] MS bit.
A McSPI slave device can be connected to up to four external SPI master devices but handles transactions with one SPI master device at a time.
In slave mode, the McSPI initiates data transfer on the data lines (SPIDAT[0] and SPIDAT[1]) when it is selected by an active control signal (SPIEN[x]) and receives an SPI clock (SPICLK) from the external SPI master device. Only channel 0 can be configured as a slave but through the MCSPI_CH0CONF[22:21] SPIENSLV bit field any of the SPIEN[x] signals can be used to select the McSPI module. In slave mode and when the MCSPI_MODULCTRL[1] PIN34 is set to 0x0 (default behavior), the McSPI uses the edge of SPIEN[x] to detect word length. For this reason, SPIEN[x] must become inactive between each word.
When the MCSPI_MODULCTRL[1] PIN34 is set to 0x0, the McSPI does not support SPIEN[x] active between SPI words. In this case, the McSPI uses the edge to detect word length.
When the MCSPI_MODULCTRL[1] PIN34 is set to 0x1, a multiword transfer can be performed without needing the external SPI master to deactivate SPIEN[x] between each word as in this case the McSPI module works in 3-pin slave mode and SPIEN[x] is not needed.