5#ifndef OPENTITAN_SW_DEVICE_LIB_TESTING_UART_TESTUTILS_H_
6#define OPENTITAN_SW_DEVICE_LIB_TESTING_UART_TESTUTILS_H_
10#include "sw/device/lib/base/status.h"
17typedef enum uart_pinmux_platform_id {
18 kUartPinmuxPlatformIdFpgaCw310 = 0,
19 kUartPinmuxPlatformIdDvsim,
20 kUartPinmuxPlatformIdSilicon,
21 kUartPinmuxPlatformIdCount,
22} uart_pinmux_platform_id_t;
27typedef enum uart_pinmux_channel {
28 kUartPinmuxChannelConsole,
29 kUartPinmuxChannelDut,
30 kUartPinmuxChannelCount,
31} uart_pinmux_channel_t;
35 uint32_t peripheral_id;
36 uint32_t irq_tx_watermark_id;
37 uint32_t irq_tx_empty_id;
38 uint32_t irq_rx_watermark_id;
39 uint32_t irq_tx_done_id;
40 uint32_t irq_rx_overflow_id;
41 uint32_t irq_rx_frame_err_id;
42 uint32_t irq_rx_break_err_id;
43 uint32_t irq_rx_timeout_id;
44 uint32_t irq_rx_parity_err_id;
57status_t uart_testutils_select_pinmux(
const dif_pinmux_t *pinmux,
59 uart_pinmux_channel_t channel);
69status_t uart_testutils_detach_pinmux(
const dif_pinmux_t *pinmux,
80status_t uart_testutils_cfg_params(uint8_t uart_idx, uart_cfg_params_t *params);