Skip to content

Commit de9f090

Browse files
committed
[ot] hw/opentitan: update UART interrupts
`TX_EMPTY` has changed to `TX_DONE` which indicates the buffer is empty and there's no ongoing transmission. Added the interrupt to the module but not integrated it yet.
1 parent 797fc90 commit de9f090

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

hw/opentitan/ot_uart.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,13 @@
4747
REG32(INTR_STATE, 0x00u)
4848
SHARED_FIELD(INTR_TX_WATERMARK, 0u, 1u)
4949
SHARED_FIELD(INTR_RX_WATERMARK, 1u, 1u)
50-
SHARED_FIELD(INTR_TX_EMPTY, 2u, 1u)
50+
SHARED_FIELD(INTR_TX_DONE, 2u, 1u)
5151
SHARED_FIELD(INTR_RX_OVERFLOW, 3u, 1u)
5252
SHARED_FIELD(INTR_RX_FRAME_ERR, 4u, 1u)
5353
SHARED_FIELD(INTR_RX_BREAK_ERR, 5u, 1u)
5454
SHARED_FIELD(INTR_RX_TIMEOUT, 6u, 1u)
5555
SHARED_FIELD(INTR_RX_PARITY_ERR, 7u, 1u)
56+
SHARED_FIELD(INTR_TX_EMPTY, 8u, 1u)
5657
REG32(INTR_ENABLE, 0x04u)
5758
REG32(INTR_TEST, 0x08u)
5859
REG32(ALERT_TEST, 0x0cu)
@@ -97,9 +98,9 @@ REG32(TIMEOUT_CTRL, 0x30u)
9798
/* clang-format on */
9899

99100
#define INTR_MASK \
100-
(INTR_TX_WATERMARK_MASK | INTR_RX_WATERMARK_MASK | INTR_TX_EMPTY_MASK | \
101+
(INTR_TX_WATERMARK_MASK | INTR_RX_WATERMARK_MASK | INTR_TX_DONE_MASK | \
101102
INTR_RX_OVERFLOW_MASK | INTR_RX_FRAME_ERR_MASK | INTR_RX_BREAK_ERR_MASK | \
102-
INTR_RX_TIMEOUT_MASK | INTR_RX_PARITY_ERR_MASK)
103+
INTR_RX_TIMEOUT_MASK | INTR_RX_PARITY_ERR_MASK | INTR_TX_EMPTY_MASK)
103104

104105
#define CTRL_MASK \
105106
(R_CTRL_TX_MASK | R_CTRL_RX_MASK | R_CTRL_NF_MASK | R_CTRL_SLPBK_MASK | \
@@ -112,7 +113,7 @@ REG32(TIMEOUT_CTRL, 0x30u)
112113
#define OT_UART_NCO_BITS 16u
113114
#define OT_UART_TX_FIFO_SIZE 128u
114115
#define OT_UART_RX_FIFO_SIZE 128u
115-
#define OT_UART_IRQ_NUM 8u
116+
#define OT_UART_IRQ_NUM 9u
116117

117118
#define R32_OFF(_r_) ((_r_) / sizeof(uint32_t))
118119

0 commit comments

Comments
 (0)