From c7f114e0a9b078eae3565fd75bccedf49a81a8d3 Mon Sep 17 00:00:00 2001 From: wuzhenghui Date: Wed, 18 Jun 2025 11:48:48 +0800 Subject: [PATCH] change(hal): add union enum type for modem peripheral 32k source selection --- .../hal/esp32c5/include/hal/modem_lpcon_ll.h | 2 +- components/hal/esp32c5/modem_clock_hal.c | 26 +++++++------------ .../hal/esp32c6/include/hal/modem_lpcon_ll.h | 2 +- components/hal/esp32c6/modem_clock_hal.c | 26 +++++++------------ .../hal/esp32c61/include/hal/modem_lpcon_ll.h | 2 +- components/hal/esp32c61/modem_clock_hal.c | 26 +++++++------------ .../hal/esp32h2/include/hal/lp_clkrst_ll.h | 3 ++- components/hal/esp32h2/modem_clock_hal.c | 20 +++++--------- .../hal/esp32h21/include/hal/lp_clkrst_ll.h | 3 ++- components/hal/esp32h21/modem_clock_hal.c | 18 +++++-------- .../hal/esp32h4/include/hal/lp_clkrst_ll.h | 3 ++- components/hal/esp32h4/modem_clock_hal.c | 18 +++++-------- .../hal/include/hal/modem_clock_types.h | 8 +++++- 13 files changed, 65 insertions(+), 92 deletions(-) diff --git a/components/hal/esp32c5/include/hal/modem_lpcon_ll.h b/components/hal/esp32c5/include/hal/modem_lpcon_ll.h index fd2d537510..c9a50fe879 100644 --- a/components/hal/esp32c5/include/hal/modem_lpcon_ll.h +++ b/components/hal/esp32c5/include/hal/modem_lpcon_ll.h @@ -146,7 +146,7 @@ static inline void modem_lpcon_ll_set_clk_modem_aon_force(modem_lpcon_dev_t *hw, } __attribute__((always_inline)) -static inline void modem_lpcon_ll_select_modem_32k_clock_source(modem_lpcon_dev_t *hw, uint32_t src) +static inline void modem_lpcon_ll_select_modem_32k_clock_source(modem_lpcon_dev_t *hw, modem_clock_32k_clk_src_t src) { hw->modem_32k_clk_conf.clk_modem_32k_sel = src; } diff --git a/components/hal/esp32c5/modem_clock_hal.c b/components/hal/esp32c5/modem_clock_hal.c index 554aaa9473..a1c8aa087e 100644 --- a/components/hal/esp32c5/modem_clock_hal.c +++ b/components/hal/esp32c5/modem_clock_hal.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -13,12 +13,6 @@ #include "hal/efuse_hal.h" #include "hal/assert.h" -typedef enum { - MODEM_CLOCK_XTAL32K_CODE = 0, - MODEM_CLOCK_RC32K_CODE = 1, - MODEM_CLOCK_EXT32K_CODE = 2 -} modem_clock_32k_clk_src_code_t; - void IRAM_ATTR modem_clock_hal_set_clock_domain_icg_bitmap(modem_clock_hal_context_t *hal, modem_clock_domain_t domain, uint32_t bitmap) { HAL_ASSERT(domain < MODEM_CLOCK_DOMAIN_MAX); @@ -154,15 +148,15 @@ void modem_clock_hal_select_ble_rtc_timer_lpclk_source(modem_clock_hal_context_t break; case MODEM_CLOCK_LPCLK_SRC_RC32K: modem_lpcon_ll_enable_ble_rtc_timer_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_RC32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: modem_lpcon_ll_enable_ble_rtc_timer_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_XTAL32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: modem_lpcon_ll_enable_ble_rtc_timer_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_EXT32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); @@ -194,15 +188,15 @@ void modem_clock_hal_select_coex_lpclk_source(modem_clock_hal_context_t *hal, mo break; case MODEM_CLOCK_LPCLK_SRC_RC32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_RC32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_XTAL32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_EXT32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); @@ -234,15 +228,15 @@ void modem_clock_hal_select_wifi_lpclk_source(modem_clock_hal_context_t *hal, mo break; case MODEM_CLOCK_LPCLK_SRC_RC32K: modem_lpcon_ll_enable_wifi_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_RC32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: modem_lpcon_ll_enable_wifi_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_XTAL32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: modem_lpcon_ll_enable_wifi_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_EXT32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); diff --git a/components/hal/esp32c6/include/hal/modem_lpcon_ll.h b/components/hal/esp32c6/include/hal/modem_lpcon_ll.h index 55d81ff5cc..42cff24da1 100644 --- a/components/hal/esp32c6/include/hal/modem_lpcon_ll.h +++ b/components/hal/esp32c6/include/hal/modem_lpcon_ll.h @@ -134,7 +134,7 @@ static inline uint32_t modem_lpcon_ll_get_wifi_lpclk_divisor_value(modem_lpcon_d } __attribute__((always_inline)) -static inline void modem_lpcon_ll_select_modem_32k_clock_source(modem_lpcon_dev_t *hw, uint32_t src) +static inline void modem_lpcon_ll_select_modem_32k_clock_source(modem_lpcon_dev_t *hw, modem_clock_32k_clk_src_t src) { hw->modem_32k_clk_conf.clk_modem_32k_sel = src; } diff --git a/components/hal/esp32c6/modem_clock_hal.c b/components/hal/esp32c6/modem_clock_hal.c index 7901b829da..42d8f973c0 100644 --- a/components/hal/esp32c6/modem_clock_hal.c +++ b/components/hal/esp32c6/modem_clock_hal.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -13,12 +13,6 @@ #include "hal/efuse_hal.h" #include "hal/assert.h" -typedef enum { - MODEM_CLOCK_XTAL32K_CODE = 0, - MODEM_CLOCK_RC32K_CODE = 1, - MODEM_CLOCK_EXT32K_CODE = 2 -} modem_clock_32k_clk_src_code_t; - void IRAM_ATTR modem_clock_hal_set_clock_domain_icg_bitmap(modem_clock_hal_context_t *hal, modem_clock_domain_t domain, uint32_t bitmap) { HAL_ASSERT(domain < MODEM_CLOCK_DOMAIN_MAX); @@ -152,15 +146,15 @@ void modem_clock_hal_select_ble_rtc_timer_lpclk_source(modem_clock_hal_context_t break; case MODEM_CLOCK_LPCLK_SRC_RC32K: modem_lpcon_ll_enable_ble_rtc_timer_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_RC32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: modem_lpcon_ll_enable_ble_rtc_timer_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_XTAL32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: modem_lpcon_ll_enable_ble_rtc_timer_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_EXT32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); @@ -192,15 +186,15 @@ void modem_clock_hal_select_coex_lpclk_source(modem_clock_hal_context_t *hal, mo break; case MODEM_CLOCK_LPCLK_SRC_RC32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_RC32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_XTAL32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_EXT32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); @@ -232,15 +226,15 @@ void modem_clock_hal_select_wifi_lpclk_source(modem_clock_hal_context_t *hal, mo break; case MODEM_CLOCK_LPCLK_SRC_RC32K: modem_lpcon_ll_enable_wifi_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_RC32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: modem_lpcon_ll_enable_wifi_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_XTAL32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: modem_lpcon_ll_enable_wifi_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_EXT32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); diff --git a/components/hal/esp32c61/include/hal/modem_lpcon_ll.h b/components/hal/esp32c61/include/hal/modem_lpcon_ll.h index 3472970c60..cb78c029d0 100644 --- a/components/hal/esp32c61/include/hal/modem_lpcon_ll.h +++ b/components/hal/esp32c61/include/hal/modem_lpcon_ll.h @@ -146,7 +146,7 @@ static inline void modem_lpcon_ll_set_clk_modem_aon_force(modem_lpcon_dev_t *hw, } __attribute__((always_inline)) -static inline void modem_lpcon_ll_select_modem_32k_clock_source(modem_lpcon_dev_t *hw, uint32_t src) +static inline void modem_lpcon_ll_select_modem_32k_clock_source(modem_lpcon_dev_t *hw, modem_clock_32k_clk_src_t src) { hw->modem_32k_clk_conf.clk_modem_32k_sel = src; } diff --git a/components/hal/esp32c61/modem_clock_hal.c b/components/hal/esp32c61/modem_clock_hal.c index 3af9919240..9ff15d06af 100644 --- a/components/hal/esp32c61/modem_clock_hal.c +++ b/components/hal/esp32c61/modem_clock_hal.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -13,12 +13,6 @@ #include "hal/efuse_hal.h" #include "hal/assert.h" -typedef enum { - MODEM_CLOCK_XTAL32K_CODE = 0, - MODEM_CLOCK_RC32K_CODE = 1, - MODEM_CLOCK_EXT32K_CODE = 2 -} modem_clock_32k_clk_src_code_t; - void IRAM_ATTR modem_clock_hal_set_clock_domain_icg_bitmap(modem_clock_hal_context_t *hal, modem_clock_domain_t domain, uint32_t bitmap) { HAL_ASSERT(domain < MODEM_CLOCK_DOMAIN_MAX); @@ -154,15 +148,15 @@ void modem_clock_hal_select_ble_rtc_timer_lpclk_source(modem_clock_hal_context_t break; case MODEM_CLOCK_LPCLK_SRC_RC32K: modem_lpcon_ll_enable_ble_rtc_timer_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_RC32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: modem_lpcon_ll_enable_ble_rtc_timer_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_XTAL32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: modem_lpcon_ll_enable_ble_rtc_timer_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_EXT32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); @@ -194,15 +188,15 @@ void modem_clock_hal_select_coex_lpclk_source(modem_clock_hal_context_t *hal, mo break; case MODEM_CLOCK_LPCLK_SRC_RC32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_RC32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_XTAL32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_EXT32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); @@ -234,15 +228,15 @@ void modem_clock_hal_select_wifi_lpclk_source(modem_clock_hal_context_t *hal, mo break; case MODEM_CLOCK_LPCLK_SRC_RC32K: modem_lpcon_ll_enable_wifi_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_RC32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: modem_lpcon_ll_enable_wifi_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_XTAL32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: modem_lpcon_ll_enable_wifi_lpclk_32k_xtal(hal->lpcon_dev, true); - modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_EXT32K_CODE); + modem_lpcon_ll_select_modem_32k_clock_source(hal->lpcon_dev, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); diff --git a/components/hal/esp32h2/include/hal/lp_clkrst_ll.h b/components/hal/esp32h2/include/hal/lp_clkrst_ll.h index 68b7f3e292..93d6f81b1b 100644 --- a/components/hal/esp32h2/include/hal/lp_clkrst_ll.h +++ b/components/hal/esp32h2/include/hal/lp_clkrst_ll.h @@ -13,6 +13,7 @@ #include "soc/soc.h" #include "soc/lp_clkrst_struct.h" #include "soc/lpperi_struct.h" +#include "hal/modem_clock_types.h" #ifdef __cplusplus extern "C" { @@ -55,7 +56,7 @@ static inline uint32_t lp_clkrst_ll_get_ble_rtc_timer_divisor_value(lp_clkrst_de } __attribute__((always_inline)) -static inline void lp_clkrst_ll_select_modem_32k_clock_source(lp_clkrst_dev_t *hw, uint32_t src) +static inline void lp_clkrst_ll_select_modem_32k_clock_source(lp_clkrst_dev_t *hw, modem_clock_32k_clk_src_t src) { hw->lpperi.lp_bletimer_32k_sel = src; } diff --git a/components/hal/esp32h2/modem_clock_hal.c b/components/hal/esp32h2/modem_clock_hal.c index 851e0c01ff..2ae3b62352 100644 --- a/components/hal/esp32h2/modem_clock_hal.c +++ b/components/hal/esp32h2/modem_clock_hal.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -13,12 +13,6 @@ #include "hal/modem_clock_types.h" #include "hal/assert.h" -typedef enum { - MODEM_CLOCK_XTAL32K_CODE = 0, - MODEM_CLOCK_RC32K_CODE = 1, - MODEM_CLOCK_EXT32K_CODE = 2 -} modem_clock_32k_clk_src_code_t; - void IRAM_ATTR modem_clock_hal_enable_modem_common_fe_clock(modem_clock_hal_context_t *hal, bool enable) { modem_syscon_ll_enable_fe_apb_clock(hal->syscon_dev, enable); @@ -68,15 +62,15 @@ void modem_clock_hal_select_ble_rtc_timer_lpclk_source(modem_clock_hal_context_t break; case MODEM_CLOCK_LPCLK_SRC_RC32K: lp_clkrst_ll_enable_ble_rtc_timer_32k_xtal(&LP_CLKRST, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_RC32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: lp_clkrst_ll_enable_ble_rtc_timer_32k_xtal(&LP_CLKRST, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_XTAL32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: lp_clkrst_ll_enable_ble_rtc_timer_32k_xtal(&LP_CLKRST, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_EXT32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); @@ -108,15 +102,15 @@ void modem_clock_hal_select_coex_lpclk_source(modem_clock_hal_context_t *hal, mo break; case MODEM_CLOCK_LPCLK_SRC_RC32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_RC32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_XTAL32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_EXT32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); diff --git a/components/hal/esp32h21/include/hal/lp_clkrst_ll.h b/components/hal/esp32h21/include/hal/lp_clkrst_ll.h index 818bbe2543..ad5767e8ae 100644 --- a/components/hal/esp32h21/include/hal/lp_clkrst_ll.h +++ b/components/hal/esp32h21/include/hal/lp_clkrst_ll.h @@ -13,6 +13,7 @@ #include "soc/soc.h" #include "soc/lp_clkrst_struct.h" #include "soc/lpperi_struct.h" +#include "hal/modem_clock_types.h" #ifdef __cplusplus extern "C" { @@ -55,7 +56,7 @@ static inline uint32_t lp_clkrst_ll_get_ble_rtc_timer_divisor_value(lp_clkrst_de } __attribute__((always_inline)) -static inline void lp_clkrst_ll_select_modem_32k_clock_source(lp_clkrst_dev_t *hw, uint32_t src) +static inline void lp_clkrst_ll_select_modem_32k_clock_source(lp_clkrst_dev_t *hw, modem_clock_32k_clk_src_t src) { hw->lpperi.clkrst_lp_bletimer_32k_sel = src; } diff --git a/components/hal/esp32h21/modem_clock_hal.c b/components/hal/esp32h21/modem_clock_hal.c index b3751f414a..bd8e750646 100644 --- a/components/hal/esp32h21/modem_clock_hal.c +++ b/components/hal/esp32h21/modem_clock_hal.c @@ -13,12 +13,6 @@ #include "hal/modem_clock_types.h" #include "hal/assert.h" -typedef enum { - MODEM_CLOCK_XTAL32K_CODE = 0, - MODEM_CLOCK_RC32K_CODE = 1, - MODEM_CLOCK_EXT32K_CODE = 2 -} modem_clock_32k_clk_src_code_t; - void IRAM_ATTR modem_clock_hal_enable_modem_common_fe_clock(modem_clock_hal_context_t *hal, bool enable) { modem_syscon_ll_enable_fe_apb_clock(hal->syscon_dev, enable); @@ -69,15 +63,15 @@ void modem_clock_hal_select_ble_rtc_timer_lpclk_source(modem_clock_hal_context_t break; case MODEM_CLOCK_LPCLK_SRC_RC32K: lp_clkrst_ll_enable_ble_rtc_timer_32k_xtal(&LP_CLKRST, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_RC32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: lp_clkrst_ll_enable_ble_rtc_timer_32k_xtal(&LP_CLKRST, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_XTAL32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: lp_clkrst_ll_enable_ble_rtc_timer_32k_xtal(&LP_CLKRST, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_EXT32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); @@ -109,15 +103,15 @@ void modem_clock_hal_select_coex_lpclk_source(modem_clock_hal_context_t *hal, mo break; case MODEM_CLOCK_LPCLK_SRC_RC32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_RC32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_XTAL32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_EXT32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); diff --git a/components/hal/esp32h4/include/hal/lp_clkrst_ll.h b/components/hal/esp32h4/include/hal/lp_clkrst_ll.h index ee112f6941..05a4346127 100644 --- a/components/hal/esp32h4/include/hal/lp_clkrst_ll.h +++ b/components/hal/esp32h4/include/hal/lp_clkrst_ll.h @@ -13,6 +13,7 @@ #include "soc/soc.h" #include "soc/lp_clkrst_struct.h" #include "soc/lpperi_struct.h" +#include "hal/modem_clock_types.h" #ifdef __cplusplus extern "C" { @@ -55,7 +56,7 @@ static inline uint32_t lp_clkrst_ll_get_ble_rtc_timer_divisor_value(lp_clkrst_de } __attribute__((always_inline)) -static inline void lp_clkrst_ll_select_modem_32k_clock_source(lp_clkrst_dev_t *hw, uint32_t src) +static inline void lp_clkrst_ll_select_modem_32k_clock_source(lp_clkrst_dev_t *hw, modem_clock_32k_clk_src_t src) { hw->lpperi.lp_bletimer_32k_sel = src; } diff --git a/components/hal/esp32h4/modem_clock_hal.c b/components/hal/esp32h4/modem_clock_hal.c index d61f66ccbb..30d180fe03 100644 --- a/components/hal/esp32h4/modem_clock_hal.c +++ b/components/hal/esp32h4/modem_clock_hal.c @@ -13,12 +13,6 @@ #include "hal/modem_clock_types.h" #include "hal/assert.h" -typedef enum { - MODEM_CLOCK_XTAL32K_CODE = 0, - MODEM_CLOCK_RC32K_CODE = 1, - MODEM_CLOCK_EXT32K_CODE = 2 -} modem_clock_32k_clk_src_code_t; - void IRAM_ATTR modem_clock_hal_enable_modem_common_fe_clock(modem_clock_hal_context_t *hal, bool enable) { modem_syscon_ll_enable_fe_apb_clock(hal->syscon_dev, enable); @@ -68,15 +62,15 @@ void modem_clock_hal_select_ble_rtc_timer_lpclk_source(modem_clock_hal_context_t break; case MODEM_CLOCK_LPCLK_SRC_RC32K: lp_clkrst_ll_enable_ble_rtc_timer_32k_xtal(&LP_CLKRST, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_RC32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: lp_clkrst_ll_enable_ble_rtc_timer_32k_xtal(&LP_CLKRST, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_XTAL32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: lp_clkrst_ll_enable_ble_rtc_timer_32k_xtal(&LP_CLKRST, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_EXT32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); @@ -108,15 +102,15 @@ void modem_clock_hal_select_coex_lpclk_source(modem_clock_hal_context_t *hal, mo break; case MODEM_CLOCK_LPCLK_SRC_RC32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_RC32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_RC32K); break; case MODEM_CLOCK_LPCLK_SRC_XTAL32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_XTAL32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_XTAL32K); break; case MODEM_CLOCK_LPCLK_SRC_EXT32K: modem_lpcon_ll_enable_coex_lpclk_32k_xtal(hal->lpcon_dev, true); - lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_EXT32K_CODE); + lp_clkrst_ll_select_modem_32k_clock_source(&LP_CLKRST, MODEM_CLOCK_32K_SRC_EXT32K); break; default: HAL_ASSERT(0); diff --git a/components/hal/include/hal/modem_clock_types.h b/components/hal/include/hal/modem_clock_types.h index bb972f7a7f..71794e4d75 100644 --- a/components/hal/include/hal/modem_clock_types.h +++ b/components/hal/include/hal/modem_clock_types.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -35,6 +35,12 @@ typedef enum { MODEM_CLOCK_LPCLK_SRC_MAX } modem_clock_lpclk_src_t; +typedef enum { + MODEM_CLOCK_32K_SRC_XTAL32K = 0, + MODEM_CLOCK_32K_SRC_RC32K = 1, + MODEM_CLOCK_32K_SRC_EXT32K = 2 +} modem_clock_32k_clk_src_t; + #ifdef __cplusplus } #endif