14#ifndef NEORV32_SLINK_H
15#define NEORV32_SLINK_H
25typedef volatile struct __attribute__((packed,aligned(4))) {
33#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:71
@ SLINK_FIFO_FULL
Definition neorv32_slink.h:74
@ SLINK_FIFO_EMPTY
Definition neorv32_slink.h:72
@ SLINK_FIFO_HALF
Definition neorv32_slink.h:73
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:36
@ SLINK_CTRL_RX_CLR
Definition neorv32_slink.h:38
@ SLINK_CTRL_TX_EMPTY
Definition neorv32_slink.h:46
@ SLINK_CTRL_TX_HALF
Definition neorv32_slink.h:47
@ SLINK_CTRL_IRQ_RX_NEMPTY
Definition neorv32_slink.h:50
@ SLINK_CTRL_RX_LAST
Definition neorv32_slink.h:41
@ SLINK_CTRL_EN
Definition neorv32_slink.h:37
@ SLINK_CTRL_IRQ_TX_NHALF
Definition neorv32_slink.h:54
@ SLINK_CTRL_IRQ_TX_NFULL
Definition neorv32_slink.h:55
@ SLINK_CTRL_RX_FIFO_MSB
Definition neorv32_slink.h:58
@ SLINK_CTRL_RX_FIFO_LSB
Definition neorv32_slink.h:57
@ SLINK_CTRL_RX_FULL
Definition neorv32_slink.h:45
@ SLINK_CTRL_TX_FIFO_LSB
Definition neorv32_slink.h:59
@ SLINK_CTRL_IRQ_RX_FULL
Definition neorv32_slink.h:52
@ SLINK_CTRL_TX_CLR
Definition neorv32_slink.h:39
@ SLINK_CTRL_IRQ_TX_EMPTY
Definition neorv32_slink.h:53
@ SLINK_CTRL_RX_EMPTY
Definition neorv32_slink.h:43
@ SLINK_CTRL_TX_FIFO_MSB
Definition neorv32_slink.h:60
@ SLINK_CTRL_RX_HALF
Definition neorv32_slink.h:44
@ SLINK_CTRL_TX_FULL
Definition neorv32_slink.h:48
@ SLINK_CTRL_IRQ_RX_HALF
Definition neorv32_slink.h:51
NEORV32_SLINK_ROUTE_enum
Definition neorv32_slink.h:64
@ SLINK_ROUTE_SRC_LSB
Definition neorv32_slink.h:67
@ SLINK_ROUTE_SRC_MSB
Definition neorv32_slink.h:68
@ SLINK_ROUTE_DST_MSB
Definition neorv32_slink.h:66
@ SLINK_ROUTE_DST_LSB
Definition neorv32_slink.h:65
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:25
uint32_t ROUTE
Definition neorv32_slink.h:27
uint32_t CTRL
Definition neorv32_slink.h:26
uint32_t DATA
Definition neorv32_slink.h:28
uint32_t DATA_LAST
Definition neorv32_slink.h:29