25typedef volatile struct __attribute__((packed,aligned(4))) {
31#define NEORV32_TWD ((neorv32_twd_t*) (NEORV32_TWD_BASE))
73void neorv32_twd_setup(
int device_addr,
int fsel,
int irq_rx_avail,
int irq_rx_full,
int irq_tx_empty,
int tx_dummy_en,
int hide_read);
void neorv32_twd_put(uint8_t data)
Definition neorv32_twd.c:262
int neorv32_twd_rx_full(void)
Definition neorv32_twd.c:212
void neorv32_twd_clear_tx(void)
Definition neorv32_twd.c:137
int neorv32_twd_sense_scl(void)
Definition neorv32_twd.c:148
void neorv32_twd_disable_tx_dummy(void)
Definition neorv32_twd.c:110
NEORV32_TWD_CTRL_enum
Definition neorv32_twd.h:34
@ TWD_CTRL_CLR_RX
Definition neorv32_twd.h:36
@ TWD_CTRL_TX_FULL
Definition neorv32_twd.h:54
@ TWD_CTRL_RX_FIFO_MSB
Definition neorv32_twd.h:47
@ TWD_CTRL_DEV_ADDR0
Definition neorv32_twd.h:39
@ TWD_CTRL_TX_EMPTY
Definition neorv32_twd.h:53
@ TWD_CTRL_TX_FIFO_LSB
Definition neorv32_twd.h:48
@ TWD_CTRL_BUSY
Definition neorv32_twd.h:57
@ TWD_CTRL_IRQ_TX_EMPTY
Definition neorv32_twd.h:43
@ TWD_CTRL_TX_DUMMY_EN
Definition neorv32_twd.h:44
@ TWD_CTRL_HIDE_READ
Definition neorv32_twd.h:45
@ TWD_CTRL_SENSE_SCL
Definition neorv32_twd.h:55
@ TWD_CTRL_RX_FIFO_LSB
Definition neorv32_twd.h:46
@ TWD_CTRL_RX_AVAIL
Definition neorv32_twd.h:51
@ TWD_CTRL_CLR_TX
Definition neorv32_twd.h:37
@ TWD_CTRL_DEV_ADDR6
Definition neorv32_twd.h:40
@ TWD_CTRL_SENSE_SDA
Definition neorv32_twd.h:56
@ TWD_CTRL_RX_FULL
Definition neorv32_twd.h:52
@ TWD_CTRL_IRQ_RX_AVAIL
Definition neorv32_twd.h:41
@ TWD_CTRL_EN
Definition neorv32_twd.h:35
@ TWD_CTRL_FSEL
Definition neorv32_twd.h:38
@ TWD_CTRL_TX_FIFO_MSB
Definition neorv32_twd.h:49
@ TWD_CTRL_IRQ_RX_FULL
Definition neorv32_twd.h:42
uint8_t neorv32_twd_get(void)
Definition neorv32_twd.c:275
NEORV32_TWD_DATA_enum
Definition neorv32_twd.h:61
@ TWD_DATA_LSB
Definition neorv32_twd.h:62
@ TWD_DATA_MSB
Definition neorv32_twd.h:63
void neorv32_twd_set_tx_dummy(uint8_t data)
Definition neorv32_twd.c:288
int neorv32_twd_sense_sda(void)
Definition neorv32_twd.c:164
void neorv32_twd_enable(void)
Definition neorv32_twd.c:101
int neorv32_twd_busy(void)
Definition neorv32_twd.c:180
void neorv32_twd_setup(int device_addr, int fsel, int irq_rx_avail, int irq_rx_full, int irq_tx_empty, int tx_dummy_en, int hide_read)
Definition neorv32_twd.c:48
int neorv32_twd_get_tx_fifo_depth(void)
Definition neorv32_twd.c:82
void neorv32_twd_clear_rx(void)
Definition neorv32_twd.c:128
int neorv32_twd_get_rx_fifo_depth(void)
Definition neorv32_twd.c:70
int neorv32_twd_tx_full(void)
Definition neorv32_twd.c:244
int neorv32_twd_tx_empty(void)
Definition neorv32_twd.c:228
int neorv32_twd_available(void)
Definition neorv32_twd.c:26
void neorv32_twd_enable_tx_dummy(void)
Definition neorv32_twd.c:119
int neorv32_twd_rx_available(void)
Definition neorv32_twd.c:196
void neorv32_twd_disable(void)
Definition neorv32_twd.c:92
Definition neorv32_twd.h:25
uint32_t DATA
Definition neorv32_twd.h:27
uint32_t CTRL
Definition neorv32_twd.h:26