TX2 dynamic change to spi x2 Mode didn't work

Hi:

We want to dynamicly chang spi1 spi@3210000 to x2 mode to increase data rate. In x2 mode, data is transmitted or received on both miso and mosi lines.

Spi1 is initialized as normal x1 mode and it works fine. After x1 mode transfer, i use the code below to initiate one x2 mode transmit, mosi line transmitted the even bits correctly, but miso line generated no waveform.

I want to known if this kind of operation is workable? or what else parameters i need to config?
platform:TX2 JP32.6.1 custom board

pSpiDev->max_speed_hz = 25 * 1000 * 1000;
pSpiDev->mode |= SPI_TX_DUAL;
ec = spi_setup(pSpiDev);

struct spi_transfer tansfer[1];            
memset(tansfer, 0, sizeof(tansfer));
tansfer[0].tx_buf = pTxBuf;
tansfer[0].rx_buf = NULL;
tansfer[0].len = 16;
tansfer[0].cs_change = 0;
tansfer[0].tx_nbits = SPI_NBITS_DUAL;
ec =  spi_sync_transfer(pSpiDev, tansfer, ARRAY_SIZE(tansfer));

Hi cary4,

Dynamic switching spi@3210000 on Jetson TX2 to x2 (dual) mode via spidev is not supported. The SPI controller and driver on TX2 only officially support standard 1-bit (x1) transfers. While the Linux SPI API lets you set SPI_TX_DUAL / SPI_NBITS_DUAL, the underlying TX2 SPI driver does not implement dual I/O on this controller, so MISO will remain input-only and you will not get valid x2 waveforms. In short, this operation is currently unsupported on TX2; you should stay with x1 mode (possibly at a higher clock) or move to a different interface if you need more bandwidth.