This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Disabling UART_1 on 52840

So I've had a LOT of problems getting power management to work with UARTE on the 52840. We're using both UART_0 and UART_1 and have finally gotten UART_0 to work as it should. However, UART_1 still causes problems.

So basically both UARTE are disabled by

nrf_uarte_task_trigger(uarte, NRF_UARTE_TASK_STOPRX);
while (!nrf_uarte_event_check(uarte, NRF_UARTE_EVENT_RXTO)) {
/* Busy wait for event to register */
}
nrf_uarte_event_clear(uarte, NRF_UARTE_EVENT_RXTO);
nrf_uarte_disable(uarte);

For UART_0, this works. If I don't enable/transmit on UART_1, the power consumption is around 30 uA after running above code for UART_0. But if I use UART_1, the power consumption shoots up to 730 uA and UART_1 never seem to get disabled by code above. I have verified that UART_1_REG->ENABLE == 0, all interrupts are cleared, etc. But power consumption never goes down.

Are there any known issues here? Has anyone verified that disabling UART_1 at runtime works as expected?  

Note: We're running Zephyr, but we're basically down to writing to the hw registers directly anyway, so it shouldn't matter much. Hardware version info:

INFO.PART: 0x00052840

INFO.VARIANT: 0x41414330

Parents Reply Children
No Data
Related