Header file of SPI Interface.
More...
#include <stdint.h>
|
| 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.
|
| |
| int32_t | no_os_spi_remove (struct no_os_spi_desc *desc) |
| | Free the resources allocated by no_os_spi_init().
|
| |
| 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.
|
| |
| 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.
|
| |
| int32_t | no_os_spi_transfer_dma (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.
|
| |
| 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. Once all the transfers are complete, a callback will be called.
|
| |
| int32_t | no_os_spi_transfer_abort (struct no_os_spi_desc *desc) |
| | Abort SPI transfers.
|
| |
| int32_t | no_os_spibus_init (const struct no_os_spi_init_param *param) |
| | Initialize the SPI bus communication peripheral.
|
| |
| void | no_os_spibus_remove (uint32_t bus_number) |
| | Removes SPI bus instance.
|
| |
Header file of SPI Interface.
- Author
- DBogdan (drago.nosp@m.s.bo.nosp@m.gdan@.nosp@m.anal.nosp@m.og.co.nosp@m.m)
Copyright 2019(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
◆ NO_OS_SPI_CPHA
| #define NO_OS_SPI_CPHA 0x01 |
◆ NO_OS_SPI_CPOL
| #define NO_OS_SPI_CPOL 0x02 |
◆ SPI_MAX_BUS_NUMBER
| #define SPI_MAX_BUS_NUMBER 8 |
◆ no_os_spi_bit_order
SPI configuration for bit order (MSB/LSB).
| Enumerator |
|---|
| NO_OS_SPI_BIT_ORDER_MSB_FIRST | Most-significant bit (MSB) first
|
| NO_OS_SPI_BIT_ORDER_LSB_FIRST | Least-significant bit (LSB) first
|
◆ no_os_spi_lanes
SPI configuration for number of lanes.
| Enumerator |
|---|
| NO_OS_SPI_SINGLE_LANE | Single Lane
|
| NO_OS_SPI_DUAL_LANE | Dual Lane
|
| NO_OS_SPI_QUAD_LANE | Quad Lane
|
| NO_OS_SPI_OCTO_LANE | Octo Lane
|
◆ no_os_spi_mode
SPI configuration for clock phase and polarity.
| Enumerator |
|---|
| NO_OS_SPI_MODE_0 | Data on rising, shift out on falling
|
| NO_OS_SPI_MODE_1 | Data on falling, shift out on rising
|
| NO_OS_SPI_MODE_2 | Data on rising, shift out on falling
|
| NO_OS_SPI_MODE_3 | Data on falling, shift out on rising
|
◆ no_os_spi_init()
Initialize the SPI communication peripheral.
- Parameters
-
| desc | - The SPI descriptor. |
| param | - The structure that contains the SPI parameters. |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_spi_remove()
Free the resources allocated by no_os_spi_init().
- Parameters
-
| desc | - The SPI descriptor. |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_spi_transfer()
Iterate over head list and send all spi messages.
- Parameters
-
| desc | - The SPI descriptor. |
| msgs | - Array of messages. |
| len | - Number of messages in the array. |
- Returns
- 0 in case of success, negativ error code otherwise.
◆ no_os_spi_transfer_abort()
Abort SPI transfers.
- Parameters
-
| desc | - The SPI descriptor. |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_spi_transfer_dma()
Transfer a list of messages using DMA and busy wait for the completion.
- Parameters
-
| desc | - The SPI descriptor. |
| msgs | - Array of messages. |
| len | - Number of messages in the array. |
- Returns
- 0 in case of success, negativ error code otherwise.
◆ no_os_spi_transfer_dma_async()
| 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. Once all the transfers are complete, a callback will be called.
- Parameters
-
| desc | - The SPI descriptor. |
| msgs | - Array of messages. |
| len | - Number of messages in the array. |
| callback | - A function which will be called after all the transfers are done. |
| ctx | - User specific data which should be passed to the callback function. |
- Returns
- 0 in case of success, negativ error code otherwise.
◆ no_os_spi_write_and_read()
| 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.
- Parameters
-
| desc | - The SPI descriptor. |
| data | - The buffer with the transmitted/received data. |
| bytes_number | - Number of bytes to write/read. |
- Returns
- 0 in case of success, -1 otherwise.
◆ no_os_spibus_init()
Initialize the SPI bus communication peripheral.
- Parameters
-
| param | - The structure that containes the SPI bus parameters |
- Returns
- 0 in case of success, error code otherwise
◆ no_os_spibus_remove()
| void no_os_spibus_remove |
( |
uint32_t | bus_number | ) |
|
Removes SPI bus instance.
- Parameters
-
| bus_number | - SPI bus number |