SPI user mode driver
There are two ways of using the user mode SPI device driver. To be able to do that, you need to enable your device with the spidev
driver. An example would be as follows:
spidev@0x00 { compatible = "spidev"; spi-max-frequency = <800000>; /* It depends on your device */ reg = <0>; /* correspond to chip select 0 */ };
You can call either the read/write functions or an ioctl()
. By calling read/write, you can only read or write at a time. If you need full-duplex read and write, you have to use the Input Output Control (ioctl) commands. Examples for both are provided. This is the read/write example. You can compile it either with the cross-compiler of the platform or with the native compiler on the board:
#include <stdio.h> #include <fcntl.h> #include <stdlib.h> int main(int argc, char **argv) { int i,fd; char wr_buf[]={0xff,0x00,0x1f,0x0f}; char rd_buf[10]; if (argc<2) { printf("Usage...