Make use of pm_device_driver_init to perform driver initialization. Implement PM suspend and resume, which performs the following actions: * Enables/disables the USART * Gates the USART clock * Configures USART pins Also take PM locks to prevent deep sleep during TX and RX operations. Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
30 lines
713 B
Text
30 lines
713 B
Text
# Copyright (c) 2024, Yishai Jaffe
|
|
# Copyright (c) 2025, Silicon Laboratories Inc.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config UART_SILABS_EUSART
|
|
bool "Silabs EUSART UART driver"
|
|
default y
|
|
depends on DT_HAS_SILABS_EUSART_UART_ENABLED
|
|
select SERIAL_HAS_DRIVER
|
|
select SERIAL_SUPPORT_INTERRUPT
|
|
select SOC_GECKO_EUSART
|
|
select SERIAL_SUPPORT_ASYNC \
|
|
if DT_HAS_SILABS_LDMA_ENABLED
|
|
select DMA if UART_ASYNC_API
|
|
select PINCTRL
|
|
select CLOCK_CONTROL
|
|
help
|
|
Enable the eusart uart driver.
|
|
|
|
if UART_SILABS_EUSART
|
|
|
|
config UART_SILABS_EUSART_ASYNC
|
|
bool
|
|
depends on DMA_SILABS_LDMA
|
|
depends on UART_ASYNC_API
|
|
default y
|
|
help
|
|
If 'y', Silabs eusart driver will compile with support for UART async API.
|
|
|
|
endif
|