Hi,
I am using the imx8 in my project, with two spi controllers i.e ECSPI1 & ECSPI2. After checking imx6 spi controller source code i came to know that spi controller can be configured in slave mode,now i want implement same feature in imx8 also i.e ECSPI1 as master , ECSPI2 as a slave device and vice versa. Then i added the patch file provided in the below link [v2,8/8] spi: imx: Add support for SPI Slave mode for imx53 and imx6 chips - Patchwork for spi slave support in imx8. Compiled the source code successfully.
For transmitting the data from master and slave side i am using spidev_test application but facing problem while receiving the data.some time slave receiving it's own transmitting data instead of master transmitted data, other cases it' getting junk data.
Kernel_version:4.14.98
Spi connections:
ECSPI1 ECSP2
MOSI ------------------> MOSI
MISO ------------------>MISO
SS ------------------>SS
SCLK ------------------->SCLK
can you confirm my hardware connections and provide me the correct test procedure and commands to be applied in master and salve side.provide me the slave controller clock settings and other configurations to be done for salve mode.
NOTE: If it's not validated in imx8 then consider for imx6.i am not sure about the master and slave testing procedure, followed below test procedure Serial peripheral interface (SPI)
Regards,
Devendra
Hi DEVENDRA,
1. You connections are no problem.
2. Issues on SPI Slave mode
On slave mode, it has been described in spi driver, drives/spi/spi-imx.c
...
/* ecspi has a HW issue when works in Slave mode,
* after 64 words writtern to TXFIFO, even TXFIFO becomes empty,
* ECSPI_TXDATA keeps shift out the last word data,
* so we have to disable ECSPI when in slave mode after the
* transfer completes
*/
if (spi_imx->devtype_data->disable)
spi_imx->devtype_data->disable(spi_imx);
...
Therefore, please use other methods to test your eCSPI interface and configure eCSPI to work in Master mode.
Hope above information is helpful for you.
Have a nice day!
B.R,
Weidong
Hi Weidong,
Thank you for your Response,i applied the NXP patch in that slave
disable after 64 words transfer support is there.As you mentioned please
use other methods to test your eCSPI interface and configure eCSPI to
work in Master mode , can you provide the test procedure for SPI master
and slave mode testing.
Thanks & Regards,
Devendra