Stream Link Interface HW driver source file.
More...
Stream Link Interface HW driver source file.
- Note
- These functions should only be used if the SLINK unit was synthesized (IO_SLINK_EN = true).
- See also
- https://stnolting.github.io/neorv32/sw/files.html
◆ neorv32_slink_available()
int neorv32_slink_available |
( |
void | | ) |
|
Check if stream link interface was synthesized.
- Returns
- 0 if SLINK was not synthesized, 1 if SLINK is available.
◆ neorv32_slink_check_last()
uint32_t neorv32_slink_check_last |
( |
void | | ) |
|
|
inline |
Check if last RX word has "end-of-stream" delimiter.
- Note
- This needs has to be called AFTER reading the actual data word using neorv32_slink_get(void).
- Returns
- 0 if not end of stream, !=0 if end of stream.
◆ neorv32_slink_get()
uint32_t neorv32_slink_get |
( |
void | | ) |
|
|
inline |
Read data from RX link (non-blocking)
- Returns
- Data received from link.
◆ neorv32_slink_get_rx_fifo_depth()
int neorv32_slink_get_rx_fifo_depth |
( |
void | | ) |
|
Get FIFO depth of RX link.
- Returns
- FIFO depth of RX link (1..32768).
◆ neorv32_slink_get_src()
uint32_t neorv32_slink_get_src |
( |
void | | ) |
|
|
inline |
Get RX link routing source
- Note
- This needs has to be called AFTER reading the actual data word using neorv32_slink_get(void).
- Returns
- 4-bit source routing ID.
◆ neorv32_slink_get_tx_fifo_depth()
int neorv32_slink_get_tx_fifo_depth |
( |
void | | ) |
|
Get FIFO depth of TX link.
- Returns
- FIFO depth of TX link (1..32768).
◆ neorv32_slink_put()
void neorv32_slink_put |
( |
uint32_t | tx_data | ) |
|
|
inline |
Write data to TX link (non-blocking)
- Parameters
-
[in] | tx_data | Data to send to link. |
◆ neorv32_slink_put_last()
void neorv32_slink_put_last |
( |
uint32_t | tx_data | ) |
|
|
inline |
Write data to TX link (non-blocking) and set "last" (end-of-stream) delimiter.
- Parameters
-
[in] | tx_data | Data to send to link. |
◆ neorv32_slink_rx_clear()
void neorv32_slink_rx_clear |
( |
void | | ) |
|
◆ neorv32_slink_rx_status()
int neorv32_slink_rx_status |
( |
void | | ) |
|
◆ neorv32_slink_set_dst()
void neorv32_slink_set_dst |
( |
uint32_t | dst | ) |
|
|
inline |
Set TX link routing destination
- Parameters
-
[in] | dst | Routing destination ID (4-bit, LSB-aligned). |
◆ neorv32_slink_setup()
void neorv32_slink_setup |
( |
uint32_t | rx_irq, |
|
|
uint32_t | tx_irq ) |
Reset, enable and configure SLINK.
- Parameters
-
◆ neorv32_slink_tx_clear()
void neorv32_slink_tx_clear |
( |
void | | ) |
|
◆ neorv32_slink_tx_status()
int neorv32_slink_tx_status |
( |
void | | ) |
|