16#ifndef neorv32_slink_h
17#define neorv32_slink_h
27typedef volatile struct __attribute__((packed,aligned(4))) {
35#define NEORV32_SLINK ((neorv32_slink_t*) (NEORV32_SLINK_BASE))
uint32_t neorv32_slink_get_src(void)
Definition neorv32_slink.c:148
void neorv32_slink_put_last(uint32_t tx_data)
Definition neorv32_slink.c:171
uint32_t neorv32_slink_check_last(void)
Definition neorv32_slink.c:123
int neorv32_slink_get_rx_fifo_depth(void)
Definition neorv32_slink.c:85
NEORV32_SLINK_STATUS_enum
Definition neorv32_slink.h:73
@ SLINK_FIFO_FULL
Definition neorv32_slink.h:76
@ SLINK_FIFO_EMPTY
Definition neorv32_slink.h:74
@ SLINK_FIFO_HALF
Definition neorv32_slink.h:75
void neorv32_slink_setup(uint32_t rx_irq, uint32_t tx_irq)
Definition neorv32_slink.c:43
void neorv32_slink_put(uint32_t tx_data)
Definition neorv32_slink.c:159
int neorv32_slink_get_tx_fifo_depth(void)
Definition neorv32_slink.c:97
int neorv32_slink_available(void)
Definition neorv32_slink.c:26
NEORV32_SLINK_CTRL_enum
Definition neorv32_slink.h:38
@ SLINK_CTRL_RX_CLR
Definition neorv32_slink.h:40
@ SLINK_CTRL_TX_EMPTY
Definition neorv32_slink.h:48
@ SLINK_CTRL_TX_HALF
Definition neorv32_slink.h:49
@ SLINK_CTRL_IRQ_RX_NEMPTY
Definition neorv32_slink.h:52
@ SLINK_CTRL_RX_LAST
Definition neorv32_slink.h:43
@ SLINK_CTRL_EN
Definition neorv32_slink.h:39
@ SLINK_CTRL_IRQ_TX_NHALF
Definition neorv32_slink.h:56
@ SLINK_CTRL_IRQ_TX_NFULL
Definition neorv32_slink.h:57
@ SLINK_CTRL_RX_FIFO_MSB
Definition neorv32_slink.h:60
@ SLINK_CTRL_RX_FIFO_LSB
Definition neorv32_slink.h:59
@ SLINK_CTRL_RX_FULL
Definition neorv32_slink.h:47
@ SLINK_CTRL_TX_FIFO_LSB
Definition neorv32_slink.h:61
@ SLINK_CTRL_IRQ_RX_FULL
Definition neorv32_slink.h:54
@ SLINK_CTRL_TX_CLR
Definition neorv32_slink.h:41
@ SLINK_CTRL_IRQ_TX_EMPTY
Definition neorv32_slink.h:55
@ SLINK_CTRL_RX_EMPTY
Definition neorv32_slink.h:45
@ SLINK_CTRL_TX_FIFO_MSB
Definition neorv32_slink.h:62
@ SLINK_CTRL_RX_HALF
Definition neorv32_slink.h:46
@ SLINK_CTRL_TX_FULL
Definition neorv32_slink.h:50
@ SLINK_CTRL_IRQ_RX_HALF
Definition neorv32_slink.h:53
NEORV32_SLINK_ROUTE_enum
Definition neorv32_slink.h:66
@ SLINK_ROUTE_SRC_LSB
Definition neorv32_slink.h:69
@ SLINK_ROUTE_SRC_MSB
Definition neorv32_slink.h:70
@ SLINK_ROUTE_DST_MSB
Definition neorv32_slink.h:68
@ SLINK_ROUTE_DST_LSB
Definition neorv32_slink.h:67
void neorv32_slink_tx_clear(void)
Definition neorv32_slink.c:74
uint32_t neorv32_slink_get(void)
Definition neorv32_slink.c:109
int neorv32_slink_tx_status(void)
Definition neorv32_slink.c:206
void neorv32_slink_rx_clear(void)
Definition neorv32_slink.c:65
int neorv32_slink_rx_status(void)
Definition neorv32_slink.c:182
void neorv32_slink_set_dst(uint32_t dst)
Definition neorv32_slink.c:134
Definition neorv32_slink.h:27
uint32_t ROUTE
Definition neorv32_slink.h:29
uint32_t CTRL
Definition neorv32_slink.h:28
uint32_t DATA
Definition neorv32_slink.h:30
uint32_t DATA_LAST
Definition neorv32_slink.h:31