no-OS
maxim_spi.h
Go to the documentation of this file.
1 /***************************************************************************/
40 #ifndef MAXIM_SPI_H_
41 #define MAXIM_SPI_H_
42 
43 #include <stdint.h>
44 #include "max32650.h"
45 #include "gpio.h"
46 
50 extern const struct no_os_spi_platform_ops max_spi_ops;
51 
55 };
56 
58  uint32_t num_slaves;
60  mxc_gpio_vssel_t vssel;
61 };
62 
63 struct max_spi_state {
65  uint32_t cs_delay_first;
66  uint32_t cs_delay_last;
67 };
68 
69 #endif
NO_OS_SPI_MODE_1
@ NO_OS_SPI_MODE_1
Definition: no_os_spi.h:68
no_os_alloc.h
MAX_DELAY_SCLK
#define MAX_DELAY_SCLK
Definition: maxim_spi.c:60
no_os_spi_desc::device_id
uint32_t device_id
Definition: no_os_spi.h:145
no_os_spi_init_param::bit_order
enum no_os_spi_bit_order bit_order
Definition: no_os_spi.h:131
max_spi_state
Definition: maxim_spi.h:63
MAX_DELAY_SCLK
#define MAX_DELAY_SCLK
Definition: maxim_spi.c:60
MAX_DELAY_SCLK
#define MAX_DELAY_SCLK
Definition: maxim_spi.c:60
maxim_spi.h
maxim specific header for SPI driver
max_spi_state::cs_delay_last
uint32_t cs_delay_last
Definition: maxim_spi.h:66
no_os_spi.h
Header file of SPI Interface.
SPI_MASTER_MODE
#define SPI_MASTER_MODE
Definition: maxim_spi.c:57
SPI_MASTER_MODE
#define SPI_MASTER_MODE
Definition: maxim_spi.c:57
SPI_MASTER_MODE
#define SPI_MASTER_MODE
Definition: maxim_spi.c:54
SPI_MASTER_MODE
#define SPI_MASTER_MODE
Definition: maxim_spi.c:57
no_os_units.h
Header file of Units.
SPI_SINGLE_MODE
#define SPI_SINGLE_MODE
Definition: maxim_spi.c:58
SPI_SINGLE_MODE
#define SPI_SINGLE_MODE
Definition: maxim_spi.c:58
no_os_spi_msg
Definition: no_os_spi.h:90
no_os_spi_platform_ops
Structure holding SPI function pointers that point to the platform specific function.
Definition: no_os_spi.h:166
SPI_SS_POL_LOW
@ SPI_SS_POL_LOW
Definition: maxim_spi.h:53
no_os_delay.h
Header file of Delay functions.
NS_PER_US
#define NS_PER_US
Definition: maxim_spi.c:61
NS_PER_US
#define NS_PER_US
Definition: maxim_spi.c:61
no_os_spi_msg::cs_delay_last
uint32_t cs_delay_last
Definition: no_os_spi.h:107
no_os_spi_init_param::mode
enum no_os_spi_mode mode
Definition: no_os_spi.h:129
NO_OS_SPI_MODE_2
@ NO_OS_SPI_MODE_2
Definition: no_os_spi.h:70
no_os_print_log.h
Print messages helpers.
SPI_SS_POL_HIGH
@ SPI_SS_POL_HIGH
Definition: maxim_spi.h:54
max_spi_init
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:309
no_os_calloc
void * no_os_calloc(size_t nitems, size_t size)
SPI_MASTER_MODE
#define SPI_MASTER_MODE
Definition: maxim_spi.c:57
SPI_MASTER_MODE
#define SPI_MASTER_MODE
Definition: maxim_spi.c:57
NO_OS_SPI_MODE_3
@ NO_OS_SPI_MODE_3
Definition: no_os_spi.h:72
no_os_spi_msg::tx_buff
uint8_t * tx_buff
Definition: no_os_spi.h:92
no_os_spi_init_param::device_id
uint32_t device_id
Definition: no_os_spi.h:123
SPI_SINGLE_MODE
#define SPI_SINGLE_MODE
Definition: maxim_spi.c:58
maxim_spi.h
maxim specific header for SPI driver
max_spi_state::init_param
struct max_spi_init_param * init_param
Definition: maxim_spi.h:64
no_os_spi_init_param::chip_select
uint8_t chip_select
Definition: no_os_spi.h:127
no_os_spi_desc::chip_select
uint8_t chip_select
Definition: no_os_spi.h:149
no_os_field_prep
uint32_t no_os_field_prep(uint32_t mask, uint32_t val)
max_spi_init_param
Maxim specific SPI initialization parameters.
Definition: maxim_spi.h:57
no_os_spi_msg::rx_buff
uint8_t * rx_buff
Definition: no_os_spi.h:94
no_os_spi_msg::cs_delay_first
uint32_t cs_delay_first
Definition: no_os_spi.h:105
no_os_spi_msg::cs_change
uint8_t cs_change
Definition: no_os_spi.h:98
maxim_spi.h
maxim specific header for SPI driver
max_spi_ops
const struct no_os_spi_platform_ops max_spi_ops
maxim platform specific SPI platform ops structure
Definition: maxim_spi.c:454
no_os_spi_desc::bit_order
enum no_os_spi_bit_order bit_order
Definition: no_os_spi.h:153
no_os_spi_desc
Structure holding SPI descriptor.
Definition: no_os_spi.h:143
max_spi_init_param::polarity
enum spi_ss_polarity polarity
Definition: maxim_spi.h:59
SPI_SINGLE_MODE
#define SPI_SINGLE_MODE
Definition: maxim_spi.c:55
SPI_SINGLE_MODE
#define SPI_SINGLE_MODE
Definition: maxim_spi.c:58
no_os_spi_msg::bytes_number
uint32_t bytes_number
Definition: no_os_spi.h:96
SPI_SINGLE_MODE
#define SPI_SINGLE_MODE
Definition: maxim_spi.c:58
no_os_spi_desc::extra
void * extra
Definition: no_os_spi.h:156
MAX_DELAY_SCLK
#define MAX_DELAY_SCLK
Definition: maxim_spi.c:60
MAX_DELAY_SCLK
#define MAX_DELAY_SCLK
Definition: maxim_spi.c:60
max_spi_init_param::num_slaves
uint32_t num_slaves
Definition: maxim_spi.h:58
no_os_spi_init_param::max_speed_hz
uint32_t max_speed_hz
Definition: no_os_spi.h:125
maxim_spi.h
maxim specific header for SPI driver
spi_ss_polarity
spi_ss_polarity
Definition: maxim_spi.h:52
no_os_free
void no_os_free(void *ptr)
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.
Definition: maxim_spi.c:437
no_os_udelay
void no_os_udelay(uint32_t usecs)
Wait until usecs microseconds passed.
Definition: aducm3029_delay.c:120
NS_PER_US
#define NS_PER_US
Definition: maxim_spi.c:61
NS_PER_US
#define NS_PER_US
Definition: maxim_spi.c:61
maxim_spi.h
maxim specific header for SPI driver
max_spi_transfer
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:385
max_spi_ops
const struct no_os_spi_platform_ops max_spi_ops
maxim specific SPI platform ops structure
Definition: maxim_spi.c:454
NS_PER_US
#define NS_PER_US
Definition: maxim_spi.c:61
true
@ true
Definition: ad5446.h:65
max_spi_init_param::vssel
mxc_gpio_vssel_t vssel
Definition: maxim_spi.h:60
no_os_spi_desc::max_speed_hz
uint32_t max_speed_hz
Definition: no_os_spi.h:147
NANO
#define NANO
Definition: no_os_units.h:56
spi
struct no_os_spi_desc * spi
Definition: main.c:78
no_os_util.h
Header file of utility functions.
no_os_spi_platform_ops::init
int32_t(* init)(struct no_os_spi_desc **, const struct no_os_spi_init_param *)
Definition: no_os_spi.h:168
no_os_spi_init_param::extra
void * extra
Definition: no_os_spi.h:134
NO_OS_SPI_MODE_0
@ NO_OS_SPI_MODE_0
Definition: no_os_spi.h:66
pr_warning
#define pr_warning(fmt, args...)
Definition: no_os_print_log.h:103
no_os_spi_desc::mode
enum no_os_spi_mode mode
Definition: no_os_spi.h:151
max_spi_state::cs_delay_first
uint32_t cs_delay_first
Definition: maxim_spi.h:65
maxim_spi.h
maxim specific header for SPI driver
errno.h
Error macro definition for ARM Compiler.
NO_OS_DIV_ROUND_CLOSEST
#define NO_OS_DIV_ROUND_CLOSEST(x, y)
Definition: no_os_util.h:58
no_os_spi_init_param
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:121
max_spi_remove
int32_t max_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition: maxim_spi.c:366