![]() |
NEORV32 Software Framework Documentation
The NEORV32 RISC-V Processor
|
Stream Link Interface HW driver header file. More...
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | neorv32_slink_t |
Functions | |
Prototypes | |
int | neorv32_slink_available (void) |
void | neorv32_slink_setup (uint32_t irq_mask) |
int | neorv32_slink_get_rx_fifo_depth (void) |
int | neorv32_slink_get_tx_fifo_depth (void) |
uint32_t | neorv32_slink_get (void) |
int | neorv32_slink_check_last (void) |
void | neorv32_slink_set_dst (uint32_t dst) |
uint32_t | neorv32_slink_get_src (void) |
void | neorv32_slink_put (uint32_t tx_data) |
void | neorv32_slink_put_last (uint32_t tx_data) |
int | neorv32_slink_rx_empty (void) |
int | neorv32_slink_rx_full (void) |
int | neorv32_slink_tx_empty (void) |
int | neorv32_slink_tx_full (void) |
IO Device: Stream Link Interface (SLINK) | |
#define | NEORV32_SLINK ((neorv32_slink_t*) (NEORV32_SLINK_BASE)) |
enum | NEORV32_SLINK_CTRL_enum { SLINK_CTRL_EN = 0 , SLINK_CTRL_RX_EMPTY = 8 , SLINK_CTRL_RX_FULL = 9 , SLINK_CTRL_TX_EMPTY = 10 , SLINK_CTRL_TX_FULL = 11 , SLINK_CTRL_RX_LAST = 12 , SLINK_CTRL_IRQ_RX_NEMPTY = 16 , SLINK_CTRL_IRQ_RX_FULL = 17 , SLINK_CTRL_IRQ_TX_EMPTY = 18 , SLINK_CTRL_IRQ_TX_NFULL = 19 , SLINK_CTRL_RX_FIFO_LSB = 24 , SLINK_CTRL_RX_FIFO_MSB = 27 , SLINK_CTRL_TX_FIFO_LSB = 28 , SLINK_CTRL_TX_FIFO_MSB = 31 } |
Stream Link Interface HW driver header file.
#define NEORV32_SLINK ((neorv32_slink_t*) (NEORV32_SLINK_BASE)) |
SLINK module hardware handle (neorv32_slink_t)
SLINK control register bits
int neorv32_slink_available | ( | void | ) |
Check if stream link interface was synthesized.
|
inline |
Check if last RX word has "end-of-stream" delimiter.
|
inline |
Read data from RX link (non-blocking).
int neorv32_slink_get_rx_fifo_depth | ( | void | ) |
Get FIFO depth of RX link.
|
inline |
Get RX link routing source.
int neorv32_slink_get_tx_fifo_depth | ( | void | ) |
Get FIFO depth of TX link.
|
inline |
Write data to TX link (non-blocking).
[in] | tx_data | Data to send. |
|
inline |
Write data to TX link (non-blocking) and set "last" (end-of-stream) delimiter.
[in] | tx_data | Data to send. |
int neorv32_slink_rx_empty | ( | void | ) |
Check if RX FIFO is empty.
int neorv32_slink_rx_full | ( | void | ) |
Check if RX FIFO is full.
|
inline |
Set TX link routing destination.
[in] | dst | Routing destination ID (4-bit, LSB-aligned). |
void neorv32_slink_setup | ( | uint32_t | irq_mask | ) |
Reset, enable and configure SLINK.
[in] | irq_mask | Interrupt conditions (NEORV32_SLINK_CTRL_enum). |
int neorv32_slink_tx_empty | ( | void | ) |
Check if TX FIFO is empty.
int neorv32_slink_tx_full | ( | void | ) |
Check if TX FIFO is full.