SPRAD26 April   2022 TDA4VM

 

  1.   Trademarks
  2. 1SPI: Serial Peripheral Interface
  3. 2J7200/J721e MCSPI Support
    1. 2.1 MCSPI Features
  4. 3SPI: Master Mode Enabling and Validation on Linux
    1. 3.1 Enable SPI Instances of J721e/TDA4VM
    2. 3.2 Enable SPIDEV on TD4VM SDK
    3. 3.3 Exercise SPI From User Space on TI J7/TDA4x Using Standard Linux spidev_test Tool
  5. 4SPI: Slave Mode Enabling and Validation on Linux
    1. 4.1 Enable SPI Instances of J7200
    2. 4.2 Enable DMA for MCSPI4 Slave Node
    3. 4.3 Enable SPIDEV and SPI_SLAVE Configs
    4. 4.4 Test SPI Slave Functionality From User Space on TI J7200 Using Standard Linux spidev_test Tool
    5. 4.5 SPI Slave Testing Using spi-slave-time
    6. 4.6 Linux SPI Slave Challenges
    7. 4.7 Linux SPI Slave Mode General Limitations
    8. 4.8 McSPI SPI Slave Mode Limitations
  6. 5References

SPI Slave Testing Using spi-slave-time

echo spi-slave-time > /sys/class/spi_slave/spi2/slave
modprobe spi-slave-time
./spidev_test -v -D /dev/spidev0.0 -p "dummy-8B"

Logs:

root@j7200-evm:~# ./spidev_test -v -D /dev/spidev0.0 -p "dummy-8B"
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 kHz)
TX | 64 75 6D 6D 79 2D 38 42 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ |dummy-8B|
RX | 00 00 00 65 00 07 82 B3 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ |...e....|
root@j7200-evm:~# ./spidev_test -v -D /dev/spidev0.0 -p "dummy-8B"
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 kHz)
TX | 64 75 6D 6D 79 2D 38 42 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ |dummy-8B|
RX | 00 00 00 66 00 04 44 F4 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ |...f..D.|
root@j7200-evm:~# ./spidev_test -v -D /dev/spidev0.0 -p "dummy-8B"
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 kHz)
TX | 64 75 6D 6D 79 2D 38 42 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ |dummy-8B|
RX | 00 00 00 67 00 00 DB 4A __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ |...g...J|

In the above test case, the MCSPI4 slave node sends the time in 64 bits format to MCU_MCSPI2 master node.