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))
Main NEORV32 core library / driver / HAL include file.
NEORV32_SLINK_RX_IRQ_enum
Definition neorv32_slink.h:63
@ SLINK_RX_IRQ_HALF
Definition neorv32_slink.h:66
@ SLINK_RX_IRQ_NONE
Definition neorv32_slink.h:64
@ SLINK_RX_IRQ_AVAIL
Definition neorv32_slink.h:65
@ SLINK_RX_IRQ_FULL
Definition neorv32_slink.h:67
NEORV32_SLINK_TX_IRQ_enum
Definition neorv32_slink.h:71
@ SLINK_TX_IRQ_EMPTY
Definition neorv32_slink.h:73
@ SLINK_TX_IRQ_NONE
Definition neorv32_slink.h:72
@ SLINK_TX_IRQ_FREE
Definition neorv32_slink.h:75
@ SLINK_TX_IRQ_NHALF
Definition neorv32_slink.h:74
static int neorv32_slink_rx_full(void)
Definition neorv32_slink.h:142
static int neorv32_slink_tx_full(void)
Definition neorv32_slink.h:166
int neorv32_slink_get_rx_fifo_depth(void)
Definition neorv32_slink.c:45
static uint32_t neorv32_slink_rx_get(void)
Definition neorv32_slink.h:93
static int neorv32_slink_tx_empty(void)
Definition neorv32_slink.h:150
#define NEORV32_SLINK
Definition neorv32_slink.h:33
static int neorv32_slink_rx_last(void)
Definition neorv32_slink.h:102
static int neorv32_slink_rx_empty(void)
Definition neorv32_slink.h:126
void neorv32_slink_setup(int rx_irq_sel, int tx_irq_sel)
Definition neorv32_slink.c:30
static int neorv32_slink_rx_half(void)
Definition neorv32_slink.h:134
int neorv32_slink_get_tx_fifo_depth(void)
Definition neorv32_slink.c:55
int neorv32_slink_available(void)
Definition neorv32_slink.c:20
NEORV32_SLINK_CTRL_enum
Definition neorv32_slink.h:36
@ SLINK_CTRL_TX_EN
Definition neorv32_slink.h:38
@ SLINK_CTRL_TX_IRQ_PEND
Definition neorv32_slink.h:54
@ SLINK_CTRL_TX_EMPTY
Definition neorv32_slink.h:45
@ SLINK_CTRL_RX_IRQ_SEL0
Definition neorv32_slink.h:49
@ SLINK_CTRL_TX_HALF
Definition neorv32_slink.h:46
@ SLINK_CTRL_RX_LAST
Definition neorv32_slink.h:40
@ SLINK_CTRL_RX_FIFO_MSB
Definition neorv32_slink.h:57
@ SLINK_CTRL_TX_IRQ_SEL0
Definition neorv32_slink.h:51
@ SLINK_CTRL_RX_IRQ_PEND
Definition neorv32_slink.h:53
@ SLINK_CTRL_RX_FIFO_LSB
Definition neorv32_slink.h:56
@ SLINK_CTRL_RX_FULL
Definition neorv32_slink.h:44
@ SLINK_CTRL_TX_FIFO_LSB
Definition neorv32_slink.h:58
@ SLINK_CTRL_TX_IRQ_SEL1
Definition neorv32_slink.h:52
@ SLINK_CTRL_RX_EMPTY
Definition neorv32_slink.h:42
@ SLINK_CTRL_RX_IRQ_SEL1
Definition neorv32_slink.h:50
@ SLINK_CTRL_TX_FIFO_MSB
Definition neorv32_slink.h:59
@ SLINK_CTRL_RX_HALF
Definition neorv32_slink.h:43
@ SLINK_CTRL_RX_EN
Definition neorv32_slink.h:37
@ SLINK_CTRL_TX_FULL
Definition neorv32_slink.h:47
static int neorv32_slink_tx_half(void)
Definition neorv32_slink.h:158
static void neorv32_slink_tx_put_last(uint32_t tx_data)
Definition neorv32_slink.h:118
static void neorv32_slink_tx_put(uint32_t tx_data)
Definition neorv32_slink.h:110
static int neorv32_slink_tx_irq_pending(void)
Definition neorv32_slink.h:182
static int neorv32_slink_rx_irq_pending(void)
Definition neorv32_slink.h:174
Definition neorv32_slink.h:25
uint32_t DATA2
Definition neorv32_slink.h:29
uint32_t CTRL
Definition neorv32_slink.h:26
const uint32_t _res
Definition neorv32_slink.h:27
uint32_t DATA
Definition neorv32_slink.h:28