![]() |
no-OS
|
Implementation of stm32 spi driver. More...
#include <stdlib.h>#include <errno.h>#include "no_os_util.h"#include "no_os_gpio.h"#include "stm32_gpio.h"#include "no_os_spi.h"#include "stm32_spi.h"#include "no_os_delay.h"#include "no_os_alloc.h"#include "stm32_dma.h"Functions | |
| int32_t | stm32_spi_init (struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param) |
| Initialize the SPI communication peripheral. | |
| int32_t | stm32_spi_remove (struct no_os_spi_desc *desc) |
| Free the resources allocated by no_os_spi_init(). | |
| int32_t | stm32_spi_altrnate_cs_enable (struct no_os_spi_desc *desc, bool enable) |
| enable CS gpio alternate function | |
| int32_t | stm32_spi_transfer (struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len) |
| Write/read multiple messages to/from SPI. | |
| int32_t | stm32_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 | stm32_config_dma_and_start (struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len, void(*callback)(struct no_os_dma_xfer_desc *old_xfer, struct no_os_dma_xfer_desc *next_xfer, void *ctx), void *ctx) |
| Configure and start a series of transfers using DMA. | |
| void | stm32_spi_dma_callback (struct no_os_dma_xfer_desc *old_xfer, struct no_os_dma_xfer_desc *next_xfer, void *ctx) |
| int32_t | stm32_spi_transfer_dma_async (struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len, void(*callback)(void *), void *ctx) |
| Configure and start a series of transfers using DMA. Don't Wait for the completion before returning. | |
| int32_t | stm32_spi_transfer_dma (struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len) |
| Configure and start a series of transfers using DMA. Wait for the completion before returning. | |
| int32_t | stm32_spi_transfer_abort (struct no_os_spi_desc *desc) |
| Abort SPI transfers. | |
Variables | |
| const struct no_os_spi_platform_ops | stm32_spi_ops |
| stm32 platform specific SPI platform ops structure | |
Implementation of stm32 spi driver.
Copyright 2020(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
| int32_t stm32_config_dma_and_start | ( | struct no_os_spi_desc * | desc, |
| struct no_os_spi_msg * | msgs, | ||
| uint32_t | len, | ||
| void(* | callback )(struct no_os_dma_xfer_desc *old_xfer, struct no_os_dma_xfer_desc *next_xfer, void *ctx), | ||
| void * | ctx ) |
Configure and start a series of transfers using DMA.
| desc | - The SPI descriptor. |
| msgs | - The messages array. |
| len | - Number of messages. |
| callback | - Function to be invoked after transfers |
| ctx | - User defined parameter for the callback function. |
| int32_t stm32_spi_altrnate_cs_enable | ( | struct no_os_spi_desc * | desc, |
| bool | enable ) |
enable CS gpio alternate function
| desc | - The SPI descriptor |
| enable | - enable = alternate function active, disable = gpio mode |
| void stm32_spi_dma_callback | ( | struct no_os_dma_xfer_desc * | old_xfer, |
| struct no_os_dma_xfer_desc * | next_xfer, | ||
| void * | ctx ) |
| int32_t stm32_spi_init | ( | struct no_os_spi_desc ** | desc, |
| const struct no_os_spi_init_param * | param ) |
Initialize the SPI communication peripheral.
| desc | - The SPI descriptor. |
| param | - The structure that contains the SPI parameters. |
| int32_t stm32_spi_remove | ( | struct no_os_spi_desc * | desc | ) |
Free the resources allocated by no_os_spi_init().
| desc | - The SPI descriptor. |
| int32_t stm32_spi_transfer | ( | struct no_os_spi_desc * | desc, |
| struct no_os_spi_msg * | msgs, | ||
| uint32_t | len ) |
Write/read multiple messages to/from SPI.
| desc | - The SPI descriptor. |
| msgs | - The messages array. |
| len | - Number of messages. |
| int32_t stm32_spi_transfer_abort | ( | struct no_os_spi_desc * | desc | ) |
Abort SPI transfers.
| desc | - The SPI descriptor. |
| int32_t stm32_spi_transfer_dma | ( | struct no_os_spi_desc * | desc, |
| struct no_os_spi_msg * | msgs, | ||
| uint32_t | len ) |
Configure and start a series of transfers using DMA. Wait for the completion before returning.
| desc | - The SPI descriptor. |
| msgs | - The messages array. |
| len | - Number of messages. |
| int32_t stm32_spi_transfer_dma_async | ( | struct no_os_spi_desc * | desc, |
| struct no_os_spi_msg * | msgs, | ||
| uint32_t | len, | ||
| void(* | callback )(void *), | ||
| void * | ctx ) |
Configure and start a series of transfers using DMA. Don't Wait for the completion before returning.
| desc | - The SPI descriptor. |
| msgs | - The messages array. |
| len | - Number of messages. |
| callback | - Function to be invoked once the transfers are done. |
| ctx | - User defined parameter for the callback function. |
| int32_t stm32_spi_write_and_read | ( | struct no_os_spi_desc * | desc, |
| uint8_t * | data, | ||
| uint16_t | bytes_number ) |
Write and read data to/from SPI.
| desc | - The SPI descriptor. |
| data | - The buffer with the transmitted/received data. |
| bytes_number | - Number of bytes to write/read. |
| const struct no_os_spi_platform_ops stm32_spi_ops |
stm32 platform specific SPI platform ops structure
stm32 specific SPI platform ops structure