Skip to content

Commit

Permalink
Backport ARMmbed#12052: Fix for ARM issue 11859.
Browse files Browse the repository at this point in the history
1. Clear UART events before enabling
2. Reset device before return from test case
  • Loading branch information
yarbcy authored and Kyle Kearney committed Apr 2, 2020
1 parent 63583ff commit 738ec19
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 0 deletions.
3 changes: 3 additions & 0 deletions TESTS/mbed_hal_fpga_ci_test_shield/uart/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,9 @@ static void uart_test_common(int baudrate, int data_bits, SerialParity parity, i
serial_set_flow_control_direct(&serial, FlowControlRTSCTS, &pinmap);
#else
//skip this test case if static pinmap is not supported
// Cleanup uart to be able execute next test case
serial_free(&serial);
tester.reset();
return;
#endif
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -720,10 +720,12 @@ void cyhal_uart_enable_event(cyhal_uart_t *obj, cyhal_uart_event_t event, uint8_
obj->irq_cause &= ~event;
if (event & CYHAL_UART_IRQ_RX_NOT_EMPTY)
{
Cy_SCB_ClearRxInterrupt(obj->base, CY_SCB_RX_INTR_NOT_EMPTY);
Cy_SCB_SetRxInterruptMask(obj->base, Cy_SCB_GetRxInterruptMask(obj->base) & ~CY_SCB_RX_INTR_NOT_EMPTY);
}
if (event & CYHAL_UART_IRQ_TX_EMPTY)
{
Cy_SCB_ClearTxInterrupt(obj->base, CY_SCB_UART_TX_EMPTY);
Cy_SCB_SetTxInterruptMask(obj->base, Cy_SCB_GetTxInterruptMask(obj->base) & ~CY_SCB_UART_TX_EMPTY);
}
}
Expand Down

0 comments on commit 738ec19

Please sign in to comment.