Implementation of SPI driver.
More...
#include <stdlib.h>
#include <errno.h>
#include "spi.h"
#include "mxc_errors.h"
#include "mxc_pins.h"
#include "maxim_spi.h"
#include "maxim_dma.h"
#include "no_os_delay.h"
#include "no_os_print_log.h"
#include "no_os_util.h"
#include "no_os_alloc.h"
#include "no_os_units.h"
#include "no_os_dma.h"
Implementation of SPI driver.
- Author
- Ciprian Regus (cipri.nosp@m.an.r.nosp@m.egus@.nosp@m.anal.nosp@m.og.co.nosp@m.m)
Copyright 2022(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
◆ MAX_DELAY_SCLK
| #define MAX_DELAY_SCLK 255 |
◆ NS_PER_US
◆ SPI_MASTER_MODE
| #define SPI_MASTER_MODE 1 |
◆ SPI_SINGLE_MODE
| #define SPI_SINGLE_MODE 0 |
◆ max_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, errno codes otherwise.
◆ max_spi_remove()
Free the resources allocated by no_os_spi_init().
- Parameters
-
| desc | - The SPI descriptor. |
- Returns
- 0 in case of success, errno codes otherwise.
◆ max_spi_transfer()
Write/read multiple messages to/from SPI.
- Parameters
-
| desc | - The SPI descriptor. |
| msgs | - The messages array. |
| len | - Number of messages. |
- Returns
- 0 in case of success, errno codes otherwise.
◆ max_spi_write_and_read()
| int32_t max_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, errno codes otherwise.
◆ max_spi_ops
Initial value:= {
.transfer_dma = &max_spi_transfer_dma,
.transfer_dma_async = &max_spi_transfer_dma_async,
}
int32_t max_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 maxim_spi.c:747
int32_t max_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition maxim_spi.c:349
int32_t max_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition maxim_spi.c:423
int32_t max_spi_transfer(struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len)
Write/read multiple messages to/from SPI.
Definition maxim_spi.c:642
maxim platform specific SPI platform ops structure
maxim specific SPI platform ops structure