forked from espressif/esp-idf
bringup esp32c5beta3 modem clock
This commit is contained in:
@@ -75,6 +75,7 @@ static void IRAM_ATTR modem_clock_wifi_bb_configure(modem_clock_context_t *ctx,
|
|||||||
#if SOC_BT_SUPPORTED
|
#if SOC_BT_SUPPORTED
|
||||||
static void IRAM_ATTR modem_clock_ble_mac_configure(modem_clock_context_t *ctx, bool enable)
|
static void IRAM_ATTR modem_clock_ble_mac_configure(modem_clock_context_t *ctx, bool enable)
|
||||||
{
|
{
|
||||||
|
modem_syscon_ll_enable_bt_mac_clock(ctx->hal->syscon_dev, enable);
|
||||||
modem_syscon_ll_enable_modem_sec_clock(ctx->hal->syscon_dev, enable);
|
modem_syscon_ll_enable_modem_sec_clock(ctx->hal->syscon_dev, enable);
|
||||||
modem_syscon_ll_enable_ble_timer_clock(ctx->hal->syscon_dev, enable);
|
modem_syscon_ll_enable_ble_timer_clock(ctx->hal->syscon_dev, enable);
|
||||||
}
|
}
|
||||||
@@ -309,6 +310,7 @@ static const DRAM_ATTR uint32_t initial_gating_mode[MODEM_CLOCK_DOMAIN_MAX] = {
|
|||||||
[MODEM_CLOCK_DOMAIN_WIFIPWR] = ICG_NOGATING_ACTIVE | ICG_NOGATING_MODEM,
|
[MODEM_CLOCK_DOMAIN_WIFIPWR] = ICG_NOGATING_ACTIVE | ICG_NOGATING_MODEM,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if !CONFIG_IDF_TARGET_ESP32H2 //TODO: PM-92
|
||||||
static IRAM_ATTR void modem_clock_module_icg_map_init_all(void)
|
static IRAM_ATTR void modem_clock_module_icg_map_init_all(void)
|
||||||
{
|
{
|
||||||
portENTER_CRITICAL_SAFE(&MODEM_CLOCK_instance()->lock);
|
portENTER_CRITICAL_SAFE(&MODEM_CLOCK_instance()->lock);
|
||||||
@@ -318,12 +320,12 @@ static IRAM_ATTR void modem_clock_module_icg_map_init_all(void)
|
|||||||
}
|
}
|
||||||
portEXIT_CRITICAL_SAFE(&MODEM_CLOCK_instance()->lock);
|
portEXIT_CRITICAL_SAFE(&MODEM_CLOCK_instance()->lock);
|
||||||
}
|
}
|
||||||
#endif // SOC_PM_SUPPORT_PMU_MODEM_STATE
|
#endif
|
||||||
|
|
||||||
void IRAM_ATTR modem_clock_module_enable(periph_module_t module)
|
void IRAM_ATTR modem_clock_module_enable(periph_module_t module)
|
||||||
{
|
{
|
||||||
assert(IS_MODEM_MODULE(module));
|
assert(IS_MODEM_MODULE(module));
|
||||||
#if SOC_PM_SUPPORT_PMU_MODEM_STATE
|
#if !CONFIG_IDF_TARGET_ESP32H2
|
||||||
modem_clock_module_icg_map_init_all();
|
modem_clock_module_icg_map_init_all();
|
||||||
#endif
|
#endif
|
||||||
uint32_t deps = modem_clock_get_module_deps(module);
|
uint32_t deps = modem_clock_get_module_deps(module);
|
||||||
|
@@ -412,6 +412,24 @@ static inline void modem_syscon_ll_enable_fe_apb_clock(modem_syscon_dev_t *hw, b
|
|||||||
hw->clk_conf1.clk_fe_apb_en = en;
|
hw->clk_conf1.clk_fe_apb_en = en;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__attribute__((always_inline))
|
||||||
|
static inline void modem_syscon_ll_enable_fe_adc_clock(modem_syscon_dev_t *hw, bool en)
|
||||||
|
{
|
||||||
|
hw->clk_conf1.clk_fe_adc_en = en;
|
||||||
|
}
|
||||||
|
|
||||||
|
__attribute__((always_inline))
|
||||||
|
static inline void modem_syscon_ll_enable_fe_dac_clock(modem_syscon_dev_t *hw, bool en)
|
||||||
|
{
|
||||||
|
hw->clk_conf1.clk_fe_dac_en = en;
|
||||||
|
}
|
||||||
|
|
||||||
|
__attribute__((always_inline))
|
||||||
|
static inline void modem_syscon_ll_enable_fe_pwdet_clock(modem_syscon_dev_t *hw, bool en)
|
||||||
|
{
|
||||||
|
hw->clk_conf1.clk_fe_pwdet_adc_en = en;
|
||||||
|
}
|
||||||
|
|
||||||
__attribute__((always_inline))
|
__attribute__((always_inline))
|
||||||
static inline void modem_syscon_ll_enable_bt_apb_clock(modem_syscon_dev_t *hw, bool en)
|
static inline void modem_syscon_ll_enable_bt_apb_clock(modem_syscon_dev_t *hw, bool en)
|
||||||
{
|
{
|
||||||
|
@@ -104,6 +104,9 @@ uint32_t modem_clock_hal_get_clock_domain_icg_bitmap(modem_clock_hal_context_t *
|
|||||||
void IRAM_ATTR modem_clock_hal_enable_modem_adc_common_fe_clock(modem_clock_hal_context_t *hal, bool enable)
|
void IRAM_ATTR modem_clock_hal_enable_modem_adc_common_fe_clock(modem_clock_hal_context_t *hal, bool enable)
|
||||||
{
|
{
|
||||||
if (enable) {
|
if (enable) {
|
||||||
|
modem_syscon_ll_enable_fe_adc_clock(hal->syscon_dev, enable);
|
||||||
|
modem_syscon_ll_enable_fe_dac_clock(hal->syscon_dev, enable);
|
||||||
|
modem_syscon_ll_enable_fe_pwdet_clock(hal->syscon_dev, enable);
|
||||||
modem_syscon_ll_enable_fe_apb_clock(hal->syscon_dev, enable);
|
modem_syscon_ll_enable_fe_apb_clock(hal->syscon_dev, enable);
|
||||||
modem_syscon_ll_enable_fe_80m_clock(hal->syscon_dev, enable);
|
modem_syscon_ll_enable_fe_80m_clock(hal->syscon_dev, enable);
|
||||||
}
|
}
|
||||||
|
@@ -412,6 +412,11 @@ static inline void modem_syscon_ll_enable_bt_apb_clock(modem_syscon_dev_t *hw, b
|
|||||||
hw->clk_conf1.clk_bt_apb_en = en;
|
hw->clk_conf1.clk_bt_apb_en = en;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__attribute__((always_inline))
|
||||||
|
static inline void modem_syscon_ll_enable_bt_mac_clock(modem_syscon_dev_t *hw, bool en)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
__attribute__((always_inline))
|
__attribute__((always_inline))
|
||||||
static inline void modem_syscon_ll_enable_bt_clock(modem_syscon_dev_t *hw, bool en)
|
static inline void modem_syscon_ll_enable_bt_clock(modem_syscon_dev_t *hw, bool en)
|
||||||
{
|
{
|
||||||
|
@@ -233,6 +233,11 @@ static inline void modem_syscon_ll_enable_bt_apb_clock(modem_syscon_dev_t *hw, b
|
|||||||
hw->clk_conf1.clk_bt_apb_en = en;
|
hw->clk_conf1.clk_bt_apb_en = en;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__attribute__((always_inline))
|
||||||
|
static inline void modem_syscon_ll_enable_bt_mac_clock(modem_syscon_dev_t *hw, bool en)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
__attribute__((always_inline))
|
__attribute__((always_inline))
|
||||||
static inline void modem_syscon_ll_enable_bt_clock(modem_syscon_dev_t *hw, bool en)
|
static inline void modem_syscon_ll_enable_bt_clock(modem_syscon_dev_t *hw, bool en)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user