feat(uart): support uart module sleep retention on c6/h2

This commit is contained in:
Song Ruo Jing
2024-06-18 15:04:20 +08:00
parent f81b598d10
commit 707aebc607
27 changed files with 489 additions and 51 deletions

View File

@@ -66,6 +66,10 @@ Call the function :cpp:func:`uart_param_config` and pass to it a :cpp:type:`uart
For more information on how to configure the hardware flow control options, please refer to :example:`peripherals/uart/uart_echo`.
.. only:: SOC_UART_SUPPORT_SLEEP_RETENTION
Additionally, :cpp:member:`uart_config_t::backup_before_sleep` can be set to enable the backup of the UART configuration registers before entering sleep and restore these registers after exiting sleep. This allows the UART to continue working properly after waking up even when the UART module power domain is entirely off during sleep. This option implies an balance between power consumption and memory usage. If the power consumption is not a concern, you can disable this option to save memory.
Multiple Steps
""""""""""""""

View File

@@ -136,7 +136,7 @@ Light-sleep Peripheral Power Down
- INT_MTX
- TEE/APM
- IO_MUX / GPIO
- UART0
- UART0/1
- TIMG0
- SPI0/1
- SYSTIMER
@@ -159,7 +159,6 @@ Light-sleep Peripheral Power Down
- SARADC
- SDIO
- PARL_IO
- UART1
For peripherals that do not support Light-sleep context retention, if the Power management is enabled, the ``ESP_PM_NO_LIGHT_SLEEP`` lock should be held when the peripheral is working to avoid losing the working context of the peripheral when entering sleep.