mirror of
https://github.com/espressif/esp-idf.git
synced 2025-11-27 13:03:51 +00:00
esp_hw_support: add modem module mac reset api
This commit is contained in:
@@ -214,15 +214,34 @@ static void IRAM_ATTR modem_clock_device_disable(modem_clock_context_t *ctx, uin
|
||||
assert(refs >= 0);
|
||||
}
|
||||
|
||||
void IRAM_ATTR modem_clock_wifi_mac_reset(void)
|
||||
void IRAM_ATTR modem_clock_module_mac_reset(periph_module_t module)
|
||||
{
|
||||
#if SOC_WIFI_SUPPORTED
|
||||
modem_clock_context_t *ctx = MODEM_CLOCK_instance();
|
||||
portENTER_CRITICAL_SAFE(&ctx->lock);
|
||||
//TODO: IDF-5713
|
||||
modem_syscon_ll_reset_wifimac(ctx->hal->syscon_dev);
|
||||
portEXIT_CRITICAL_SAFE(&ctx->lock);
|
||||
switch (module)
|
||||
{
|
||||
#if SOC_WIFI_SUPPORTED
|
||||
case PERIPH_WIFI_MODULE:
|
||||
modem_syscon_ll_reset_wifimac(ctx->hal->syscon_dev);
|
||||
break;
|
||||
#endif
|
||||
#if SOC_BT_SUPPORTED
|
||||
case PERIPH_BT_MODULE:
|
||||
modem_syscon_ll_reset_btmac(ctx->hal->syscon_dev);
|
||||
modem_syscon_ll_reset_btmac_apb(ctx->hal->syscon_dev);
|
||||
modem_syscon_ll_reset_ble_timer(ctx->hal->syscon_dev);
|
||||
modem_syscon_ll_reset_modem_sec(ctx->hal->syscon_dev);
|
||||
break;
|
||||
#endif
|
||||
#if SOC_IEEE802154_SUPPORTED
|
||||
case PERIPH_IEEE802154_MODULE:
|
||||
modem_syscon_ll_reset_zbmac(ctx->hal->syscon_dev);
|
||||
break;
|
||||
default:
|
||||
#endif
|
||||
assert(0);
|
||||
}
|
||||
portEXIT_CRITICAL_SAFE(&ctx->lock);
|
||||
}
|
||||
|
||||
#define WIFI_CLOCK_DEPS (BIT(MODEM_CLOCK_WIFI_MAC) | BIT(MODEM_CLOCK_FE) | BIT(MODEM_CLOCK_WIFI_BB) | BIT(MODEM_CLOCK_COEXIST))
|
||||
|
||||
Reference in New Issue
Block a user