Linux kernel provide standard driver and user source code, it can help to check the basic function and SPI path.
-
File path
The standard slave device driver path:
linux/drivers/spi/spidev.c
The user space source code path in v4.9:
linux/tools/spi/spidev_test.c
-
Build step
1. Rework PCB, link SPI bus MOSI and MISO pin together.
2. Linux kernel should enable:
CONFIG_SPI_SPIDEV=y
CONFIG_SPI_MT65XX=y
3. Add spidev node to spi bus node:
&spi0{
status = "okay";
spidev: spidev@0 {
compatible = "spidev";
spi-max-frequency = <1000000>;
reg = <0>;
};
};
4. Build linux/tools/spi/spidev_test.c to a binary file (an ELF file), and copy to board.
5. Run the command in linux shell:
./spidev_test –D /dev/spidevxxx
6. After type step5 command, it loopback pass if SPI bus get the same values that spidev_test.c
sent.