When using a usart, and enabling tx irq, I get a permanent call to the irq routine (permanent = once we return from the irq routine, we get back to it without any time to execute something else).
To reproduce : use lpcxpresso54608_usart_example from sdk, and replace in "usart_interrupt.c" the line
USART_EnableInterrupts(DEMO_USART, kUSART_RxLevelInterruptEnable | kUSART_RxErrorInterruptEnable);
USART_EnableInterrupts(DEMO_USART, kUSART_TxLevelInterruptEnable );
The problem has been reproduced with this program on lpc54608 (om13098) and lpc54606 (custom board).
The original problem has also been detected on a mbed generated project on our custom board.
We got the same behaviour for all the usart we are using (0,2, 4 and 6).