23 #ifndef _DEV_SPI_SPI_H 24 #define _DEV_SPI_SPI_H 30 #include <rtems/thread.h> 53 #define SPI_BUS_OBTAIN _IO(SPI_IOC_MAGIC, 13) 60 #define SPI_BUS_RELEASE _IO(SPI_IOC_MAGIC, 23) Data which Ease the Burden of Consistently Setting Errno.
uint32_t speed_hz
Indicates the speed of the current device message.
Definition: spi.h:110
rtems_recursive_mutex mutex
Mutex to protect the bus access.
Definition: spi.h:100
uint32_t max_speed_hz
Maximum Speed in Hz.
Definition: spi.h:105
SPI bus control.
Definition: spi.h:65
uint16_t delay_usecs
Indicates the delay between transfers on different chip select devices.
Definition: spi.h:141
int spi_bus_init(spi_bus *bus)
Initializes a bus control.
Definition: spi-bus.c:319
spi_bus * spi_bus_alloc_and_init(size_t size)
Allocates a bus control from the heap and initializes it.
Definition: spi-bus.c:326
void(* destroy)(spi_bus *bus)
Destroys the bus.
Definition: spi.h:95
SPI transfer message.
Definition: spidev.h:145
RTEMS Port of Linux SPI API.
void spi_bus_destroy_and_free(spi_bus *bus)
Destroys a bus control and frees its memory.
Definition: spi-bus.c:313
bool cs_change
Indicates if chip select must be set high after transfer.
Definition: spi.h:115
int(* transfer)(spi_bus *bus, const spi_ioc_transfer *msgs, uint32_t msg_count)
Transfers SPI messages.
Definition: spi.h:77
void spi_bus_destroy(spi_bus *bus)
Destroys a bus control.
Definition: spi-bus.c:308
int(* setup)(spi_bus *bus)
Checks if maximum speed and bits per word are in a valid range for the device.
Definition: spi.h:88
bool lsb_first
Indicates if LSB is supposed to be transmitted first.
Definition: spi.h:130
unsigned size
Definition: tte.h:74
int spi_bus_register(spi_bus *bus, const char *bus_path)
Registers a bus control.
Definition: spi-bus.c:252
uint32_t mode
Current mode.
Definition: spi.h:135
uint8_t bits_per_word
Indicates the bits per word used on the device.
Definition: spi.h:125
uint8_t cs
Indicates which device is selected by chip select.
Definition: spi.h:120