Hi igor,
Thank you for your answer!
I tried it but it didn't work, and the slave did not receive the data. The following is my modification, please help analyze the error.
Linux kernel version: Linux version 4.14.78
:1) dts modification
/***********************************************/
pinctrl_spi1: spi1 {
fsl,pins = <
MX8MM_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK 0x1d0
MX8MM_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI 0x1d0
MX8MM_IOMUXC_ECSPI1_MISO_ECSPI1_MISO 0x1d0
MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x1d0
/*
MX8MM_IOMUXC_SPDIF_TX_GPIO5_IO3 0x159
*/
>;
&ecspi1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi1>;
spi-slave;
/*
* Unique slave node. Property 'compatible' must be set to the
* slave driver that will be registered by default.
*/
slave@0 {
reg = <0>; /* must match the used CS line */
compatible = "spidev";
spi-max-frequency = <1000000>;
};
};
/***********************************************/
2) echo spidev > /sys/class/spi_slave/spi0/slave, the device of /dev/spidev0.0 can be found.
3)Run the spidev_test test program
root@okmx8mm:/usr/bin/cmd# spidev_test /dev/spidev0.0
spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)
transfer size 1
4)The master starts to send data, but the slave does not receive any data.
The attachment is the dts file.
Thanks,
Joshua