diff --git a/cpu/avr8_common/include/cpu.h b/cpu/avr8_common/include/cpu.h index 42cfd34354..3e221584d6 100644 --- a/cpu/avr8_common/include/cpu.h +++ b/cpu/avr8_common/include/cpu.h @@ -63,6 +63,11 @@ extern "C" #define AVR8_STATE_FLAG_ISR (0x80U) /**< In ISR */ #define AVR8_STATE_FLAG_UART0_TX (0x01U) /**< TX pending for UART 0 */ #define AVR8_STATE_FLAG_UART1_TX (0x02U) /**< TX pending for UART 1 */ +#define AVR8_STATE_FLAG_UART2_TX (0x04U) /**< TX pending for UART 2 */ +#define AVR8_STATE_FLAG_UART3_TX (0x08U) /**< TX pending for UART 3 */ +#define AVR8_STATE_FLAG_UART4_TX (0x10U) /**< TX pending for UART 4 */ +#define AVR8_STATE_FLAG_UART5_TX (0x20U) /**< TX pending for UART 5 */ +#define AVR8_STATE_FLAG_UART6_TX (0x40U) /**< TX pending for UART 6 */ #define AVR8_STATE_FLAG_UART_TX(x) (0x01U << x) /**< TX pending for UART x */ /** @} */ @@ -77,14 +82,18 @@ extern "C" * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * 7 6 5 4 3 2 1 0 * +---+---+---+---+---+---+---+---+ - * |IRQ| unused |TX1|TX0| + * |IRQ|TX6|TX5|TX4|TX3|TX2|TX1|TX0| * +---+---+---+---+---+---+---+---+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * | Label | Description | * |:-------|:--------------------------------------------------------------| * | IRQ | This bit is set when in IRQ context | - * | unused | This bits are currently not used | + * | TX6 | This bit is set when on UART6 TX is pending | + * | TX5 | This bit is set when on UART5 TX is pending | + * | TX4 | This bit is set when on UART4 TX is pending | + * | TX3 | This bit is set when on UART3 TX is pending | + * | TX2 | This bit is set when on UART2 TX is pending | * | TX1 | This bit is set when on UART1 TX is pending | * | TX0 | This bit is set when on UART0 TX is pending | */ @@ -138,7 +147,13 @@ static inline void avr8_enter_isr(void) static inline int avr8_is_uart_tx_pending(void) { uint8_t state = avr8_get_state(); - return (state & (AVR8_STATE_FLAG_UART0_TX | AVR8_STATE_FLAG_UART1_TX)); + return (state & (AVR8_STATE_FLAG_UART0_TX + | AVR8_STATE_FLAG_UART1_TX + | AVR8_STATE_FLAG_UART2_TX + | AVR8_STATE_FLAG_UART3_TX + | AVR8_STATE_FLAG_UART4_TX + | AVR8_STATE_FLAG_UART5_TX + | AVR8_STATE_FLAG_UART6_TX)); } /**