summaryrefslogtreecommitdiff
path: root/virt
diff options
context:
space:
mode:
authorSherry Sun <sherry.sun@nxp.com>2022-11-10 19:38:57 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-11-22 17:56:15 +0100
commit4f5cb8c5e9151c678fc2be533c070c6f7522940e (patch)
tree9eff62b0d363234c03808350d4fe1bc36fad3c6d /virt
parent96e8298945010d4b0a0c21841566401848a42afc (diff)
tty: serial: fsl_lpuart: enable wakeup source for lpuart
LPUART supports both synchronous wakeup and asynchronous wakeup(wakeup the system when the UART clocks are shut-off), the synchronous wakeup is configured by UARTCTRL_RIE interrupt, and the asynchronous wakeup is configured by UARTBAUD_RXEDGIE interrupt. Add lpuart_uport_is_active() to determine if the uart port needs to get into the suspend states, also add lpuart_suspend_noirq() and lpuart_resume_noirq() to enable and disable the wakeup irq bits if the uart port needs to be set as wakeup source. When use lpuart with DMA mode, it still needs to switch to the cpu mode in .suspend() that enable cpu interrupts RIE and RXEDGIE as wakeup source, after system resume back, needs to setup DMA again, .resume() will share the HW setup code with .startup(), so abstract the same code to the api like lpuart32_hw_setup(). Signed-off-by: Sherry Sun <sherry.sun@nxp.com> Link: https://lore.kernel.org/r/20221110113859.8485-2-sherry.sun@nxp.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions