![]() |
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.