diff --git a/components/driver/uart/uart.c b/components/driver/uart/uart.c index 644977f5c8..a7a643902b 100644 --- a/components/driver/uart/uart.c +++ b/components/driver/uart/uart.c @@ -27,7 +27,7 @@ #include "driver/rtc_io.h" #include "driver/uart_select.h" #include "driver/lp_io.h" -#include "esp_private/uart_private.h" +#include "esp_private/uart_share_hw_ctrl.h" #include "esp_private/periph_ctrl.h" #include "esp_clk_tree.h" #include "sdkconfig.h" diff --git a/components/driver/include/esp_private/uart_private.h b/components/esp_hw_support/include/esp_private/uart_share_hw_ctrl.h similarity index 100% rename from components/driver/include/esp_private/uart_private.h rename to components/esp_hw_support/include/esp_private/uart_share_hw_ctrl.h diff --git a/components/esp_pm/CMakeLists.txt b/components/esp_pm/CMakeLists.txt index a4b414e99b..27ce9ada3c 100644 --- a/components/esp_pm/CMakeLists.txt +++ b/components/esp_pm/CMakeLists.txt @@ -6,5 +6,5 @@ endif() idf_component_register(SRCS "pm_locks.c" "pm_trace.c" "pm_impl.c" INCLUDE_DIRS include - PRIV_REQUIRES esp_system driver esp_driver_gpio esp_timer + PRIV_REQUIRES esp_system esp_driver_gpio esp_timer LDFRAGMENTS linker.lf) diff --git a/components/esp_pm/pm_impl.c b/components/esp_pm/pm_impl.c index bbf4eea7b6..2746965238 100644 --- a/components/esp_pm/pm_impl.c +++ b/components/esp_pm/pm_impl.c @@ -15,14 +15,15 @@ #include "esp_pm.h" #include "esp_log.h" #include "esp_cpu.h" +#include "esp_clk_tree.h" +#include "soc/soc_caps.h" #include "esp_private/crosscore_int.h" -#include "esp_private/uart_private.h" +#include "esp_private/periph_ctrl.h" #include "soc/rtc.h" #include "hal/uart_ll.h" #include "hal/uart_types.h" -#include "driver/uart.h" #include "driver/gpio.h" #include "freertos/FreeRTOS.h" @@ -43,11 +44,17 @@ #include "esp_private/sleep_cpu.h" #include "esp_private/sleep_gpio.h" #include "esp_private/sleep_modem.h" +#include "esp_private/uart_share_hw_ctrl.h" #include "esp_sleep.h" #include "esp_memory_utils.h" #include "sdkconfig.h" +#if SOC_PERIPH_CLK_CTRL_SHARED +#define HP_UART_SRC_CLK_ATOMIC() PERIPH_RCC_ATOMIC() +#else +#define HP_UART_SRC_CLK_ATOMIC() +#endif #define MHZ (1000000) @@ -903,7 +910,7 @@ void esp_pm_impl_init(void) uart_ll_set_sclk(UART_LL_GET_HW(CONFIG_ESP_CONSOLE_UART_NUM), (soc_module_clk_t)clk_source); } uint32_t sclk_freq; - esp_err_t err = uart_get_sclk_freq(clk_source, &sclk_freq); + esp_err_t err = esp_clk_tree_src_get_freq_hz((soc_module_clk_t)clk_source, ESP_CLK_TREE_SRC_FREQ_PRECISION_CACHED, &sclk_freq); assert(err == ESP_OK); HP_UART_SRC_CLK_ATOMIC() { uart_ll_set_baudrate(UART_LL_GET_HW(CONFIG_ESP_CONSOLE_UART_NUM), CONFIG_ESP_CONSOLE_UART_BAUDRATE, sclk_freq); diff --git a/components/esp_system/test_apps/esp_system_unity_tests/main/test_sleep.c b/components/esp_system/test_apps/esp_system_unity_tests/main/test_sleep.c index e5cb5a3176..22ec2f21af 100644 --- a/components/esp_system/test_apps/esp_system_unity_tests/main/test_sleep.c +++ b/components/esp_system/test_apps/esp_system_unity_tests/main/test_sleep.c @@ -26,7 +26,7 @@ #include "esp_rom_sys.h" #include "esp_timer.h" #include "esp_private/esp_clk.h" -#include "esp_private/uart_private.h" +#include "esp_private/uart_share_hw_ctrl.h" #include "esp_random.h" #include "nvs_flash.h" #include "nvs.h" diff --git a/components/ulp/lp_core/lp_core_uart.c b/components/ulp/lp_core/lp_core_uart.c index 4a4fad93a1..eba6bbc2d5 100644 --- a/components/ulp/lp_core/lp_core_uart.c +++ b/components/ulp/lp_core/lp_core_uart.c @@ -13,7 +13,7 @@ #include "hal/rtc_io_types.h" #include "esp_clk_tree.h" #include "esp_private/periph_ctrl.h" -#include "esp_private/uart_private.h" +#include "esp_private/uart_share_hw_ctrl.h" #define LP_UART_PORT_NUM LP_UART_NUM_0 #define LP_UART_TX_IDLE_NUM_DEFAULT (0U)