UART not receiving when cpu is in idle mode

I am working on a project that requires my MCU to have a sleep and awake cycle. I have noticed that when my MCU sleeps (by using k_sleep() in threads) the UART peripheral stops receiving as well. I've set up UART to work with the ASYNC api and have a callback that lets me know when a UART message has come in. However, during the sleep cycle, the callback is not called when a UART message arrives. I've read that when the CPU is in idle mode, the UART driver also goes into idle mode which would explain why it is not receiving anything.

My question is, how do I make sure I still receive data over UART while the CPU is in idle mode?

Related