SPI Device Drivers
include/nuttx/spi/spi.h
. All structures and APIs needed to work with SPI drivers are provided in this header file.struct spi_ops_s
. Each SPI device driver must implement an instance ofstruct spi_ops_s
. That structure defines a call table with the following methods:Binding SPI Drivers. SPI drivers are not normally directly accessed by user code, but are usually bound to another, higher level device driver. See for example,
int mmcsd_spislotinitialize(int minor, int slotno, FAR struct spi_dev_s *spi)
indrivers/mmcsd/mmcsd_spi.c
. In general, the binding sequence is:Get an instance of
struct spi_dev_s
from the hardware-specific SPI device driver, andProvide that instance to the initialization method of the higher level device driver.
Examples:
drivers/loop.c
,drivers/mmcsd/mmcsd_spi.c
,drivers/ramdisk.c
, etc.