This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM5728: SPI CS toggling between bytes

Part Number: AM5728

Tool/software: Linux

Hello,

our AM5728 is configured as SPI master and it is communication with an SPI slave device.

The AM5728 is configured to use the spidev driver.

&mcspi1 {
	spidev1_0: spidev1@0 {
		compatible = "linux,spidev";

		reg = <0>;
		spi-max-frequency = <48000000>;
	};
};

The AM5728 should read data from the SPI slave device is a burst way.

On the userspace we are able to send the clock in a burst way

struct spi_ioc_transfer tr =
    {
        .tx_buf = (unsigned long)tx,
        .rx_buf = (unsigned long)rx,
        .len = 32,
        .delay_usecs = 0,
        .speed_hz = 1000000,
        .bits_per_word = 8,
        .cs_change = 0,                        //.cs_change = 1,
.pad = 0, }; ioctl(fd, SPI_IOC_MESSAGE(1), &tr);

The problem is, the slave device need the chip select of the SPI master to toggle(asserted and deasserted) the chip select between byte.

we do not want to read single byte in a loop because it is killing our SPI bandwidth.

therefore how to make the SPI driver toggle the chip select between byte?