41#ifndef neorv32_slink_h
42#define neorv32_slink_h
49typedef volatile struct __attribute__((packed,aligned(4))) {
57#define NEORV32_SLINK ((neorv32_slink_t*) (NEORV32_SLINK_BASE))
void neorv32_slink_put_last(uint32_t tx_data)
Definition neorv32_slink.c:169
uint32_t neorv32_slink_check_last(void)
Definition neorv32_slink.c:146
int neorv32_slink_get_rx_fifo_depth(void)
Definition neorv32_slink.c:108
NEORV32_SLINK_STATUS_enum
Definition neorv32_slink.h:87
@ SLINK_FIFO_FULL
Definition neorv32_slink.h:90
@ SLINK_FIFO_EMPTY
Definition neorv32_slink.h:88
@ SLINK_FIFO_HALF
Definition neorv32_slink.h:89
void neorv32_slink_setup(uint32_t rx_irq, uint32_t tx_irq)
Definition neorv32_slink.c:66
void neorv32_slink_put(uint32_t tx_data)
Definition neorv32_slink.c:157
int neorv32_slink_get_tx_fifo_depth(void)
Definition neorv32_slink.c:120
int neorv32_slink_available(void)
Definition neorv32_slink.c:49
NEORV32_SLINK_CTRL_enum
Definition neorv32_slink.h:60
@ SLINK_CTRL_RX_CLR
Definition neorv32_slink.h:62
@ SLINK_CTRL_TX_EMPTY
Definition neorv32_slink.h:70
@ SLINK_CTRL_TX_HALF
Definition neorv32_slink.h:71
@ SLINK_CTRL_IRQ_RX_NEMPTY
Definition neorv32_slink.h:74
@ SLINK_CTRL_RX_LAST
Definition neorv32_slink.h:65
@ SLINK_CTRL_EN
Definition neorv32_slink.h:61
@ SLINK_CTRL_IRQ_TX_NHALF
Definition neorv32_slink.h:78
@ SLINK_CTRL_IRQ_TX_NFULL
Definition neorv32_slink.h:79
@ SLINK_CTRL_RX_FIFO_MSB
Definition neorv32_slink.h:82
@ SLINK_CTRL_RX_FIFO_LSB
Definition neorv32_slink.h:81
@ SLINK_CTRL_RX_FULL
Definition neorv32_slink.h:69
@ SLINK_CTRL_TX_FIFO_LSB
Definition neorv32_slink.h:83
@ SLINK_CTRL_IRQ_RX_FULL
Definition neorv32_slink.h:76
@ SLINK_CTRL_TX_CLR
Definition neorv32_slink.h:63
@ SLINK_CTRL_IRQ_TX_EMPTY
Definition neorv32_slink.h:77
@ SLINK_CTRL_RX_EMPTY
Definition neorv32_slink.h:67
@ SLINK_CTRL_TX_FIFO_MSB
Definition neorv32_slink.h:84
@ SLINK_CTRL_RX_HALF
Definition neorv32_slink.h:68
@ SLINK_CTRL_TX_FULL
Definition neorv32_slink.h:72
@ SLINK_CTRL_IRQ_RX_HALF
Definition neorv32_slink.h:75
void neorv32_slink_tx_clear(void)
Definition neorv32_slink.c:97
uint32_t neorv32_slink_get(void)
Definition neorv32_slink.c:132
int neorv32_slink_tx_status(void)
Definition neorv32_slink.c:204
void neorv32_slink_rx_clear(void)
Definition neorv32_slink.c:88
int neorv32_slink_rx_status(void)
Definition neorv32_slink.c:180
Definition neorv32_slink.h:49
const uint32_t reserved
Definition neorv32_slink.h:51
uint32_t CTRL
Definition neorv32_slink.h:50
uint32_t DATA
Definition neorv32_slink.h:52
uint32_t DATA_LAST
Definition neorv32_slink.h:53