Go to the documentation of this file.
53 #define NO_OS_SPI_CPHA 0x01
54 #define NO_OS_SPI_CPOL 0x02
55 #define SPI_MAX_BUS_NUMBER 8
220 uint32_t, void (*)(
void *),
void *);
239 uint16_t bytes_number);
257 void (*callback)(
void *),
267 #endif // _NO_OS_SPI_H_
@ NO_OS_SPI_MODE_1
Definition: no_os_spi.h:69
void * mutex
Definition: no_os_spi.h:156
no_os_spi_mode
SPI configuration for clock phase and polarity.
Definition: no_os_spi.h:65
uint32_t device_id
Definition: no_os_spi.h:181
#define NO_OS_SPI_CPOL
Definition: no_os_spi.h:54
enum no_os_spi_bit_order bit_order
Definition: no_os_spi.h:141
int32_t no_os_spi_write_and_read(struct no_os_spi_desc *desc, uint8_t *data, uint16_t bytes_number)
Write and read data to/from SPI.
Definition: no_os_spi.c:165
enum no_os_spi_mode mode
Definition: no_os_spi.h:164
enum no_os_spi_bit_order bit_order
Definition: no_os_spi.h:166
Definition: no_os_spi.h:91
uint32_t cs_delay_last
Definition: no_os_spi.h:108
enum no_os_spi_mode mode
Definition: no_os_spi.h:139
uint8_t slave_number
Definition: no_os_spi.h:158
@ NO_OS_SPI_MODE_2
Definition: no_os_spi.h:71
no_os_spi_bit_order
SPI configuration for bit order (MSB/LSB).
Definition: no_os_spi.h:80
int32_t no_os_spi_transfer_dma_sync(struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len)
Transfer a list of messages using DMA and busy wait for the completion.
Definition: no_os_spi.c:230
uint32_t device_id
Definition: no_os_spi.h:160
const struct no_os_spi_platform_ops * platform_ops
Definition: no_os_spi.h:168
const struct no_os_spi_platform_ops * platform_ops
Definition: no_os_spi.h:142
@ NO_OS_SPI_MODE_3
Definition: no_os_spi.h:73
uint8_t * tx_buff
Definition: no_os_spi.h:93
uint32_t device_id
Definition: no_os_spi.h:133
uint8_t chip_select
Definition: no_os_spi.h:137
uint8_t chip_select
Definition: no_os_spi.h:185
struct no_os_platform_spi_delays platform_delays
Definition: no_os_spi.h:143
struct no_os_spi_desc * parent
Definition: no_os_spi.h:195
uint8_t * rx_buff
Definition: no_os_spi.h:95
uint32_t cs_delay_first
Definition: no_os_spi.h:106
uint8_t cs_change
Definition: no_os_spi.h:99
struct no_os_spi_desc * parent
Definition: no_os_spi.h:147
enum no_os_spi_bit_order bit_order
Definition: no_os_spi.h:189
Structure holding SPI descriptor.
Definition: no_os_spi.h:177
uint32_t max_speed_hz
Definition: no_os_spi.h:162
int32_t no_os_spi_transfer(struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len)
Iterate over head list and send all spi messages.
Definition: no_os_spi.c:191
uint32_t bytes_number
Definition: no_os_spi.h:97
void * extra
Definition: no_os_spi.h:193
uint32_t cs_change_delay
Definition: no_os_spi.h:104
uint32_t max_speed_hz
Definition: no_os_spi.h:135
struct no_os_spibus_desc * bus
Definition: no_os_spi.h:179
int32_t no_os_spi_transfer_dma_async(struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len, void(*callback)(void *), void *ctx)
Transfer a list of messages using DMA. The function will return after the first transfer is started....
Definition: no_os_spi.c:254
@ NO_OS_SPI_BIT_ORDER_LSB_FIRST
Definition: no_os_spi.h:84
@ NO_OS_SPI_BIT_ORDER_MSB_FIRST
Definition: no_os_spi.h:82
void * extra
Definition: no_os_spi.h:170
int32_t no_os_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition: no_os_spi.c:122
const struct no_os_spi_platform_ops * platform_ops
Definition: no_os_spi.h:190
struct no_os_platform_spi_delays platform_delays
Definition: no_os_spi.h:191
uint32_t max_speed_hz
Definition: no_os_spi.h:183
int32_t no_os_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition: no_os_spi.c:58
SPI bus descriptor.
Definition: no_os_spi.h:154
#define NO_OS_SPI_CPHA
Definition: no_os_spi.h:53
void no_os_spibus_remove(uint32_t bus_number)
Removes SPI bus instance.
Definition: no_os_spi.c:139
void * extra
Definition: no_os_spi.h:145
@ NO_OS_SPI_MODE_0
Definition: no_os_spi.h:67
enum no_os_spi_mode mode
Definition: no_os_spi.h:187
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:131
int32_t no_os_spibus_init(const struct no_os_spi_init_param *param)
Initialize the SPI bus communication peripheral.
Definition: no_os_spi.c:94