mirror of
https://github.com/espressif/esp-idf.git
synced 2026-04-27 19:13:21 +00:00
refactor(hw_support): remove unused periph_module_t members
This commit is contained in:
committed by
Chen Ji Chang
parent
068c8ab965
commit
d0e24e4a81
@@ -150,7 +150,7 @@ int spicommon_irqdma_source_for_host(spi_host_device_t host)
|
||||
#if !SOC_GDMA_SUPPORTED
|
||||
|
||||
#if SPI_LL_DMA_SHARED
|
||||
static inline periph_module_t get_dma_periph(int dma_chan)
|
||||
static inline shared_periph_module_t get_dma_periph(int dma_chan)
|
||||
{
|
||||
assert(dma_chan >= 1 && dma_chan <= SOC_SPI_DMA_CHAN_NUM);
|
||||
if (dma_chan == 1) {
|
||||
|
||||
@@ -28,7 +28,7 @@ extern "C" {
|
||||
|
||||
typedef struct {
|
||||
const char *module_name; // Module name
|
||||
const periph_module_t parent_module; // GPTimer is a submodule under the timer group
|
||||
const shared_periph_module_t parent_module; // GPTimer is a submodule under the timer group
|
||||
const int irq_id; // interrupt source ID
|
||||
} soc_timg_gptimer_signal_desc_t;
|
||||
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
@@ -43,7 +43,7 @@ extern "C" {
|
||||
*
|
||||
* @param module modem module
|
||||
*/
|
||||
void modem_clock_module_enable(periph_module_t module);
|
||||
void modem_clock_module_enable(shared_periph_module_t module);
|
||||
|
||||
/**
|
||||
* @brief Disable the clock of modem module
|
||||
@@ -60,7 +60,7 @@ void modem_clock_module_enable(periph_module_t module);
|
||||
*
|
||||
* @param module modem module
|
||||
*/
|
||||
void modem_clock_module_disable(periph_module_t module);
|
||||
void modem_clock_module_disable(shared_periph_module_t module);
|
||||
|
||||
/**
|
||||
* @brief Reset the mac of modem module
|
||||
@@ -68,7 +68,7 @@ void modem_clock_module_disable(periph_module_t module);
|
||||
* @param module modem module, must be one of
|
||||
* PERIPH_WIFI_MODULE / PERIPH_BT_MODULE /PERIPH_IEEE802154_MODULE
|
||||
*/
|
||||
void modem_clock_module_mac_reset(periph_module_t module);
|
||||
void modem_clock_module_mac_reset(shared_periph_module_t module);
|
||||
|
||||
#if SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND
|
||||
/**
|
||||
@@ -103,13 +103,13 @@ esp_err_t modem_clock_domain_clk_gate_disable(modem_clock_domain_t domain, pmu_h
|
||||
* @param src lowpower clock source
|
||||
* @param divider divider value to lowpower clock source
|
||||
*/
|
||||
void modem_clock_select_lp_clock_source(periph_module_t module, modem_clock_lpclk_src_t src, uint32_t divider);
|
||||
void modem_clock_select_lp_clock_source(shared_periph_module_t module, modem_clock_lpclk_src_t src, uint32_t divider);
|
||||
|
||||
/**
|
||||
* @brief Disable lowpower clock source selection
|
||||
* @param module modem module
|
||||
*/
|
||||
void modem_clock_deselect_lp_clock_source(periph_module_t module);
|
||||
void modem_clock_deselect_lp_clock_source(shared_periph_module_t module);
|
||||
|
||||
/**
|
||||
* @brief Disable all modem module's lowpower clock source selection
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -54,10 +54,10 @@ extern "C" {
|
||||
|
||||
/** @cond */
|
||||
// The following functions are not intended to be used directly by the developers
|
||||
uint8_t periph_rcc_acquire_enter(periph_module_t periph);
|
||||
void periph_rcc_acquire_exit(periph_module_t periph, uint8_t ref_count);
|
||||
uint8_t periph_rcc_release_enter(periph_module_t periph);
|
||||
void periph_rcc_release_exit(periph_module_t periph, uint8_t ref_count);
|
||||
uint8_t periph_rcc_acquire_enter(shared_periph_module_t periph);
|
||||
void periph_rcc_acquire_exit(shared_periph_module_t periph, uint8_t ref_count);
|
||||
uint8_t periph_rcc_release_enter(shared_periph_module_t periph);
|
||||
void periph_rcc_release_exit(shared_periph_module_t periph, uint8_t ref_count);
|
||||
void periph_rcc_enter(void);
|
||||
void periph_rcc_exit(void);
|
||||
/** @endcond */
|
||||
@@ -97,7 +97,7 @@ void periph_rcc_exit(void);
|
||||
* in order to put the peripheral into disabled state.
|
||||
*/
|
||||
__PERIPH_CTRL_DEPRECATE_ATTR
|
||||
void periph_module_enable(periph_module_t periph);
|
||||
void periph_module_enable(shared_periph_module_t periph);
|
||||
|
||||
/**
|
||||
* @brief Disable peripheral module by gating the clock and asserting the reset signal.
|
||||
@@ -109,7 +109,7 @@ void periph_module_enable(periph_module_t periph);
|
||||
* in order to put the peripheral into disabled state.
|
||||
*/
|
||||
__PERIPH_CTRL_DEPRECATE_ATTR
|
||||
void periph_module_disable(periph_module_t periph);
|
||||
void periph_module_disable(shared_periph_module_t periph);
|
||||
|
||||
/**
|
||||
* @brief Reset peripheral module by asserting and de-asserting the reset signal.
|
||||
@@ -119,7 +119,7 @@ void periph_module_disable(periph_module_t periph);
|
||||
* @note Calling this function does not enable or disable the clock for the module.
|
||||
*/
|
||||
__PERIPH_CTRL_DEPRECATE_ATTR
|
||||
void periph_module_reset(periph_module_t periph);
|
||||
void periph_module_reset(shared_periph_module_t periph);
|
||||
|
||||
/**
|
||||
* @brief Enable Wi-Fi and BT common module
|
||||
|
||||
@@ -266,7 +266,7 @@ static void IRAM_ATTR modem_clock_device_disable(modem_clock_context_t *ctx, uin
|
||||
assert(refs >= 0);
|
||||
}
|
||||
|
||||
void IRAM_ATTR modem_clock_module_mac_reset(periph_module_t module)
|
||||
void IRAM_ATTR modem_clock_module_mac_reset(shared_periph_module_t module)
|
||||
{
|
||||
__attribute__((unused)) modem_clock_context_t *ctx = MODEM_CLOCK_instance();
|
||||
esp_os_enter_critical_safe(&ctx->lock);
|
||||
@@ -312,7 +312,7 @@ void IRAM_ATTR modem_clock_module_mac_reset(periph_module_t module)
|
||||
#define PHY_CALIBRATION_CLOCK_DEPS (BIT(MODEM_CLOCK_WIFI_APB) | BIT(MODEM_CLOCK_WIFI_BB_44M))
|
||||
#endif
|
||||
|
||||
static IRAM_ATTR uint32_t modem_clock_get_module_deps(periph_module_t module)
|
||||
static IRAM_ATTR uint32_t modem_clock_get_module_deps(shared_periph_module_t module)
|
||||
{
|
||||
uint32_t deps = 0;
|
||||
switch (module) {
|
||||
@@ -376,7 +376,7 @@ static IRAM_ATTR void modem_clock_module_icg_map_init_all(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
void IRAM_ATTR modem_clock_module_enable(periph_module_t module)
|
||||
void IRAM_ATTR modem_clock_module_enable(shared_periph_module_t module)
|
||||
{
|
||||
assert(IS_MODEM_MODULE(module));
|
||||
#if SOC_PM_SUPPORT_PMU_MODEM_STATE
|
||||
@@ -386,7 +386,7 @@ void IRAM_ATTR modem_clock_module_enable(periph_module_t module)
|
||||
modem_clock_device_enable(MODEM_CLOCK_instance(), deps);
|
||||
}
|
||||
|
||||
void IRAM_ATTR modem_clock_module_disable(periph_module_t module)
|
||||
void IRAM_ATTR modem_clock_module_disable(shared_periph_module_t module)
|
||||
{
|
||||
assert(IS_MODEM_MODULE(module));
|
||||
uint32_t deps = modem_clock_get_module_deps(module);
|
||||
@@ -404,7 +404,7 @@ void modem_clock_deselect_all_module_lp_clock_source(void)
|
||||
modem_clock_hal_deselect_all_coex_lpclk_source(MODEM_CLOCK_instance()->hal);
|
||||
}
|
||||
|
||||
void modem_clock_select_lp_clock_source(periph_module_t module, modem_clock_lpclk_src_t src, uint32_t divider)
|
||||
void modem_clock_select_lp_clock_source(shared_periph_module_t module, modem_clock_lpclk_src_t src, uint32_t divider)
|
||||
{
|
||||
assert(IS_MODEM_MODULE(module));
|
||||
esp_os_enter_critical_safe(&MODEM_CLOCK_instance()->lock);
|
||||
@@ -497,7 +497,7 @@ void modem_clock_select_lp_clock_source(periph_module_t module, modem_clock_lpcl
|
||||
#endif
|
||||
}
|
||||
|
||||
void modem_clock_deselect_lp_clock_source(periph_module_t module)
|
||||
void modem_clock_deselect_lp_clock_source(shared_periph_module_t module)
|
||||
{
|
||||
assert(IS_MODEM_MODULE(module));
|
||||
esp_os_enter_critical_safe(&MODEM_CLOCK_instance()->lock);
|
||||
|
||||
@@ -32,31 +32,31 @@ void periph_rcc_exit(void)
|
||||
esp_os_exit_critical_safe(&periph_spinlock);
|
||||
}
|
||||
|
||||
uint8_t periph_rcc_acquire_enter(periph_module_t periph)
|
||||
uint8_t periph_rcc_acquire_enter(shared_periph_module_t periph)
|
||||
{
|
||||
periph_rcc_enter();
|
||||
return ref_counts[periph];
|
||||
}
|
||||
|
||||
void periph_rcc_acquire_exit(periph_module_t periph, uint8_t ref_count)
|
||||
void periph_rcc_acquire_exit(shared_periph_module_t periph, uint8_t ref_count)
|
||||
{
|
||||
ref_counts[periph] = ++ref_count;
|
||||
periph_rcc_exit();
|
||||
}
|
||||
|
||||
uint8_t periph_rcc_release_enter(periph_module_t periph)
|
||||
uint8_t periph_rcc_release_enter(shared_periph_module_t periph)
|
||||
{
|
||||
periph_rcc_enter();
|
||||
return ref_counts[periph] - 1;
|
||||
}
|
||||
|
||||
void periph_rcc_release_exit(periph_module_t periph, uint8_t ref_count)
|
||||
void periph_rcc_release_exit(shared_periph_module_t periph, uint8_t ref_count)
|
||||
{
|
||||
ref_counts[periph] = ref_count;
|
||||
periph_rcc_exit();
|
||||
}
|
||||
|
||||
void periph_module_enable(periph_module_t periph)
|
||||
void periph_module_enable(shared_periph_module_t periph)
|
||||
{
|
||||
#ifdef __PERIPH_CTRL_ALLOW_LEGACY_API
|
||||
assert(periph < PERIPH_MODULE_MAX);
|
||||
@@ -69,7 +69,7 @@ void periph_module_enable(periph_module_t periph)
|
||||
#endif
|
||||
}
|
||||
|
||||
void periph_module_disable(periph_module_t periph)
|
||||
void periph_module_disable(shared_periph_module_t periph)
|
||||
{
|
||||
#ifdef __PERIPH_CTRL_ALLOW_LEGACY_API
|
||||
assert(periph < PERIPH_MODULE_MAX);
|
||||
@@ -82,7 +82,7 @@ void periph_module_disable(periph_module_t periph)
|
||||
#endif
|
||||
}
|
||||
|
||||
void periph_module_reset(periph_module_t periph)
|
||||
void periph_module_reset(shared_periph_module_t periph)
|
||||
{
|
||||
#ifdef __PERIPH_CTRL_ALLOW_LEGACY_API
|
||||
assert(periph < PERIPH_MODULE_MAX);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -18,57 +18,27 @@ extern "C" {
|
||||
#include "soc/dport_reg.h"
|
||||
#include "soc/soc_caps.h"
|
||||
|
||||
static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_clk_en_mask(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return DPORT_LEDC_CLK_EN;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return DPORT_UART_CLK_EN;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return DPORT_UART1_CLK_EN;
|
||||
case PERIPH_UART2_MODULE:
|
||||
return DPORT_UART2_CLK_EN;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return DPORT_I2C_EXT0_CLK_EN;
|
||||
case PERIPH_I2C1_MODULE:
|
||||
return DPORT_I2C_EXT1_CLK_EN;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return DPORT_I2S0_CLK_EN;
|
||||
case PERIPH_I2S1_MODULE:
|
||||
return DPORT_I2S1_CLK_EN;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return DPORT_TIMERGROUP_CLK_EN;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
return DPORT_TIMERGROUP1_CLK_EN;
|
||||
case PERIPH_PWM0_MODULE:
|
||||
return DPORT_PWM0_CLK_EN;
|
||||
case PERIPH_PWM1_MODULE:
|
||||
return DPORT_PWM1_CLK_EN;
|
||||
case PERIPH_UHCI0_MODULE:
|
||||
return DPORT_UHCI0_CLK_EN;
|
||||
case PERIPH_UHCI1_MODULE:
|
||||
return DPORT_UHCI1_CLK_EN;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return DPORT_RMT_CLK_EN;
|
||||
case PERIPH_PCNT_MODULE:
|
||||
return DPORT_PCNT_CLK_EN;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return DPORT_SPI01_CLK_EN;
|
||||
case PERIPH_HSPI_MODULE:
|
||||
return DPORT_SPI2_CLK_EN;
|
||||
case PERIPH_VSPI_MODULE:
|
||||
return DPORT_SPI3_CLK_EN;
|
||||
case PERIPH_SPI_DMA_MODULE:
|
||||
return DPORT_SPI_DMA_CLK_EN;
|
||||
case PERIPH_SDMMC_MODULE:
|
||||
return DPORT_WIFI_CLK_SDIO_HOST_EN;
|
||||
case PERIPH_SDIO_SLAVE_MODULE:
|
||||
return DPORT_WIFI_CLK_SDIOSLAVE_EN;
|
||||
case PERIPH_TWAI_MODULE:
|
||||
return DPORT_TWAI_CLK_EN;
|
||||
case PERIPH_EMAC_MODULE:
|
||||
return DPORT_WIFI_CLK_EMAC_EN;
|
||||
case PERIPH_RNG_MODULE:
|
||||
return DPORT_WIFI_CLK_RNG_EN;
|
||||
case PERIPH_WIFI_MODULE:
|
||||
@@ -79,154 +49,76 @@ static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
return DPORT_WIFI_CLK_WIFI_BT_COMMON_M;
|
||||
case PERIPH_BT_BASEBAND_MODULE:
|
||||
return DPORT_BT_BASEBAND_EN;
|
||||
case PERIPH_BT_LC_MODULE:
|
||||
return DPORT_BT_LC_EN;
|
||||
case PERIPH_AES_MODULE:
|
||||
return DPORT_PERI_EN_AES;
|
||||
case PERIPH_SHA_MODULE:
|
||||
return DPORT_PERI_EN_SHA;
|
||||
case PERIPH_RSA_MODULE:
|
||||
return DPORT_PERI_EN_RSA;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool enable)
|
||||
static inline uint32_t periph_ll_get_rst_en_mask(shared_periph_module_t periph, bool enable)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return DPORT_LEDC_RST;
|
||||
case PERIPH_WIFI_MODULE:
|
||||
return DPORT_WIFIMAC_RST;
|
||||
case PERIPH_BT_MODULE:
|
||||
return (DPORT_BTBB_RST | DPORT_BTMAC_RST | DPORT_RW_BTMAC_RST | DPORT_RW_BTLP_RST);
|
||||
case PERIPH_UART0_MODULE:
|
||||
return DPORT_UART_RST;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return DPORT_UART1_RST;
|
||||
case PERIPH_UART2_MODULE:
|
||||
return DPORT_UART2_RST;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return DPORT_I2C_EXT0_RST;
|
||||
case PERIPH_I2C1_MODULE:
|
||||
return DPORT_I2C_EXT1_RST;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return DPORT_I2S0_RST;
|
||||
case PERIPH_I2S1_MODULE:
|
||||
return DPORT_I2S1_RST;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return DPORT_TIMERGROUP_RST;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
return DPORT_TIMERGROUP1_RST;
|
||||
case PERIPH_PWM0_MODULE:
|
||||
return DPORT_PWM0_RST;
|
||||
case PERIPH_PWM1_MODULE:
|
||||
return DPORT_PWM1_RST;
|
||||
case PERIPH_UHCI0_MODULE:
|
||||
return DPORT_UHCI0_RST;
|
||||
case PERIPH_UHCI1_MODULE:
|
||||
return DPORT_UHCI1_RST;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return DPORT_RMT_RST;
|
||||
case PERIPH_PCNT_MODULE:
|
||||
return DPORT_PCNT_RST;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return DPORT_SPI01_RST;
|
||||
case PERIPH_HSPI_MODULE:
|
||||
return DPORT_SPI2_RST;
|
||||
case PERIPH_VSPI_MODULE:
|
||||
return DPORT_SPI3_RST;
|
||||
case PERIPH_SPI_DMA_MODULE:
|
||||
return DPORT_SPI_DMA_RST;
|
||||
case PERIPH_SDMMC_MODULE:
|
||||
return DPORT_SDIO_HOST_RST;
|
||||
case PERIPH_SDIO_SLAVE_MODULE:
|
||||
return DPORT_SDIO_RST;
|
||||
case PERIPH_TWAI_MODULE:
|
||||
return DPORT_TWAI_RST;
|
||||
case PERIPH_EMAC_MODULE:
|
||||
return DPORT_EMAC_RST;
|
||||
case PERIPH_AES_MODULE:
|
||||
if (enable == true) {
|
||||
// Clear reset on digital signature & secure boot units, otherwise AES unit is held in reset also.
|
||||
return (DPORT_PERI_EN_AES | DPORT_PERI_EN_DIGITAL_SIGNATURE | DPORT_PERI_EN_SECUREBOOT);
|
||||
} else {
|
||||
//Don't return other units to reset, as this pulls reset on RSA & SHA units, respectively.
|
||||
return DPORT_PERI_EN_AES;
|
||||
}
|
||||
case PERIPH_SHA_MODULE:
|
||||
if (enable == true) {
|
||||
// Clear reset on secure boot, otherwise SHA is held in reset
|
||||
return (DPORT_PERI_EN_SHA | DPORT_PERI_EN_SECUREBOOT);
|
||||
} else {
|
||||
// Don't assert reset on secure boot, otherwise AES is held in reset
|
||||
return DPORT_PERI_EN_SHA;
|
||||
}
|
||||
case PERIPH_RSA_MODULE:
|
||||
if (enable == true) {
|
||||
// Also clear reset on digital signature, otherwise RSA is held in reset
|
||||
return (DPORT_PERI_EN_RSA | DPORT_PERI_EN_DIGITAL_SIGNATURE);
|
||||
} else {
|
||||
// Don't reset digital signature unit, as this resets AES also
|
||||
return DPORT_PERI_EN_RSA;
|
||||
}
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_clk_en_reg(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_clk_en_reg(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_AES_MODULE:
|
||||
case PERIPH_SHA_MODULE:
|
||||
case PERIPH_RSA_MODULE:
|
||||
return DPORT_PERI_CLK_EN_REG;
|
||||
case PERIPH_SDMMC_MODULE:
|
||||
case PERIPH_SDIO_SLAVE_MODULE:
|
||||
case PERIPH_EMAC_MODULE:
|
||||
case PERIPH_RNG_MODULE:
|
||||
case PERIPH_WIFI_MODULE:
|
||||
case PERIPH_BT_MODULE:
|
||||
case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
case PERIPH_BT_BASEBAND_MODULE:
|
||||
case PERIPH_BT_LC_MODULE:
|
||||
return DPORT_WIFI_CLK_EN_REG;
|
||||
default:
|
||||
return DPORT_PERIP_CLK_EN_REG;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_rst_en_reg(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_rst_en_reg(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_AES_MODULE:
|
||||
case PERIPH_SHA_MODULE:
|
||||
case PERIPH_RSA_MODULE:
|
||||
return DPORT_PERI_RST_EN_REG;
|
||||
case PERIPH_SDMMC_MODULE:
|
||||
case PERIPH_SDIO_SLAVE_MODULE:
|
||||
case PERIPH_EMAC_MODULE:
|
||||
case PERIPH_RNG_MODULE:
|
||||
case PERIPH_WIFI_MODULE:
|
||||
case PERIPH_BT_MODULE:
|
||||
case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
case PERIPH_BT_BASEBAND_MODULE:
|
||||
case PERIPH_BT_LC_MODULE:
|
||||
return DPORT_CORE_RST_EN_REG;
|
||||
default:
|
||||
return DPORT_PERIP_RST_EN_REG;
|
||||
}
|
||||
}
|
||||
|
||||
static inline void periph_ll_enable_clk_clear_rst(periph_module_t periph)
|
||||
static inline void periph_ll_enable_clk_clear_rst(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph));
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, true));
|
||||
}
|
||||
|
||||
static inline void periph_ll_disable_clk_set_rst(periph_module_t periph)
|
||||
static inline void periph_ll_disable_clk_set_rst(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph));
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
@@ -242,13 +134,13 @@ static inline void IRAM_ATTR periph_ll_wifi_bt_module_disable_clk(void)
|
||||
DPORT_CLEAR_PERI_REG_MASK(DPORT_WIFI_CLK_EN_REG, DPORT_WIFI_CLK_WIFI_BT_COMMON_M);
|
||||
}
|
||||
|
||||
static inline void periph_ll_reset(periph_module_t periph)
|
||||
static inline void periph_ll_reset(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
}
|
||||
|
||||
static inline bool IRAM_ATTR periph_ll_periph_enabled(periph_module_t periph)
|
||||
static inline bool IRAM_ATTR periph_ll_periph_enabled(shared_periph_module_t periph)
|
||||
{
|
||||
return DPORT_REG_GET_BIT(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false)) == 0 &&
|
||||
DPORT_REG_GET_BIT(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph)) != 0;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2020-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -20,33 +20,13 @@ extern "C" {
|
||||
#include "soc/soc_caps.h"
|
||||
#include "esp_attr.h"
|
||||
|
||||
static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_clk_en_mask(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return SYSTEM_APB_SARADC_CLK_EN;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return SYSTEM_LEDC_CLK_EN;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return SYSTEM_UART_CLK_EN;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return SYSTEM_UART1_CLK_EN;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return SYSTEM_I2C_EXT0_CLK_EN;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return SYSTEM_TIMERGROUP_CLK_EN;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return SYSTEM_SYSTIMER_CLK_EN;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return SYSTEM_SPI01_CLK_EN;
|
||||
case PERIPH_SPI2_MODULE:
|
||||
return SYSTEM_SPI2_CLK_EN;
|
||||
case PERIPH_GDMA_MODULE:
|
||||
return SYSTEM_DMA_CLK_EN;
|
||||
case PERIPH_ECC_MODULE:
|
||||
return SYSTEM_CRYPTO_ECC_CLK_EN;
|
||||
case PERIPH_SHA_MODULE:
|
||||
return SYSTEM_CRYPTO_SHA_CLK_EN;
|
||||
case PERIPH_RNG_MODULE:
|
||||
return SYSTEM_WIFI_CLK_RNG_EN;
|
||||
case PERIPH_WIFI_MODULE:
|
||||
@@ -55,126 +35,63 @@ static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
return SYSTEM_WIFI_CLK_BT_EN_M;
|
||||
case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
return SYSTEM_WIFI_CLK_WIFI_BT_COMMON_M;
|
||||
case PERIPH_BT_BASEBAND_MODULE:
|
||||
return SYSTEM_BT_BASEBAND_EN;
|
||||
case PERIPH_BT_LC_MODULE:
|
||||
return SYSTEM_BT_LC_EN;
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return SYSTEM_TSENS_CLK_EN;
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
return SYSTEM_CLK_EN_ASSIST_DEBUG;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool enable)
|
||||
static inline uint32_t periph_ll_get_rst_en_mask(shared_periph_module_t periph, bool enable)
|
||||
{
|
||||
|
||||
(void)enable; // unused
|
||||
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return SYSTEM_APB_SARADC_RST;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return SYSTEM_LEDC_RST;
|
||||
case PERIPH_WIFI_MODULE:
|
||||
return SYSTEM_MAC_RST;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return SYSTEM_UART_RST;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return SYSTEM_UART1_RST;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return SYSTEM_I2C_EXT0_RST;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return SYSTEM_TIMERGROUP_RST;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return SYSTEM_SYSTIMER_RST;
|
||||
case PERIPH_GDMA_MODULE:
|
||||
return SYSTEM_DMA_RST;
|
||||
case PERIPH_ECC_MODULE:
|
||||
return SYSTEM_CRYPTO_ECC_RST;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return SYSTEM_SPI01_RST;
|
||||
case PERIPH_SPI2_MODULE:
|
||||
return SYSTEM_SPI2_RST;
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return SYSTEM_TSENS_RST;
|
||||
case PERIPH_SHA_MODULE:
|
||||
if (enable == true) {
|
||||
// Clear reset on digital signature and HMAC, otherwise SHA is held in reset
|
||||
return (SYSTEM_CRYPTO_SHA_RST);
|
||||
} else {
|
||||
// Don't assert reset on secure boot, otherwise AES is held in reset
|
||||
return SYSTEM_CRYPTO_SHA_RST;
|
||||
}
|
||||
case PERIPH_MODEM_RPA_MODULE:
|
||||
return BLE_RPA_REST_BIT;
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
return SYSTEM_RST_EN_ASSIST_DEBUG;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_clk_en_reg(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_clk_en_reg(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_RNG_MODULE:
|
||||
case PERIPH_WIFI_MODULE:
|
||||
case PERIPH_BT_MODULE:
|
||||
case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
case PERIPH_BT_BASEBAND_MODULE:
|
||||
case PERIPH_BT_LC_MODULE:
|
||||
return SYSTEM_WIFI_CLK_EN_REG;
|
||||
|
||||
case PERIPH_SHA_MODULE:
|
||||
case PERIPH_GDMA_MODULE:
|
||||
case PERIPH_ECC_MODULE:
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return SYSTEM_PERIP_CLK_EN1_REG;
|
||||
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
return SYSTEM_CPU_PERI_CLK_EN_REG;
|
||||
|
||||
default:
|
||||
return SYSTEM_PERIP_CLK_EN0_REG;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_rst_en_reg(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_rst_en_reg(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_RNG_MODULE:
|
||||
case PERIPH_WIFI_MODULE:
|
||||
case PERIPH_BT_MODULE:
|
||||
case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
case PERIPH_BT_BASEBAND_MODULE:
|
||||
case PERIPH_BT_LC_MODULE:
|
||||
case PERIPH_MODEM_RPA_MODULE:
|
||||
return SYSTEM_WIFI_RST_EN_REG;
|
||||
|
||||
case PERIPH_SHA_MODULE:
|
||||
case PERIPH_GDMA_MODULE:
|
||||
case PERIPH_ECC_MODULE:
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return SYSTEM_PERIP_RST_EN1_REG;
|
||||
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
return SYSTEM_CPU_PERI_RST_EN_REG;
|
||||
|
||||
default:
|
||||
return SYSTEM_PERIP_RST_EN0_REG;
|
||||
}
|
||||
}
|
||||
|
||||
static inline void periph_ll_enable_clk_clear_rst(periph_module_t periph)
|
||||
static inline void periph_ll_enable_clk_clear_rst(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph));
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, true));
|
||||
}
|
||||
|
||||
static inline void periph_ll_disable_clk_set_rst(periph_module_t periph)
|
||||
static inline void periph_ll_disable_clk_set_rst(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph));
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
@@ -190,13 +107,13 @@ static inline void IRAM_ATTR periph_ll_wifi_bt_module_disable_clk(void)
|
||||
DPORT_CLEAR_PERI_REG_MASK(SYSTEM_WIFI_CLK_EN_REG, SYSTEM_WIFI_CLK_WIFI_BT_COMMON_M);
|
||||
}
|
||||
|
||||
static inline void periph_ll_reset(periph_module_t periph)
|
||||
static inline void periph_ll_reset(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
}
|
||||
|
||||
static inline bool IRAM_ATTR periph_ll_periph_enabled(periph_module_t periph)
|
||||
static inline bool IRAM_ATTR periph_ll_periph_enabled(shared_periph_module_t periph)
|
||||
{
|
||||
return DPORT_REG_GET_BIT(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false)) == 0 &&
|
||||
DPORT_REG_GET_BIT(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph)) != 0;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2020-2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2020-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -20,23 +20,11 @@ extern "C" {
|
||||
#include "soc/soc_caps.h"
|
||||
#include "esp_attr.h"
|
||||
|
||||
static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_clk_en_mask(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return SYSTEM_APB_SARADC_CLK_EN;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return SYSTEM_RMT_CLK_EN;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return SYSTEM_LEDC_CLK_EN;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return SYSTEM_UART_CLK_EN;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return SYSTEM_UART1_CLK_EN;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return SYSTEM_I2C_EXT0_CLK_EN;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return SYSTEM_I2S0_CLK_EN;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return SYSTEM_TIMERGROUP_CLK_EN;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
@@ -45,24 +33,6 @@ static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
return SYSTEM_UHCI0_CLK_EN;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return SYSTEM_SYSTIMER_CLK_EN;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return SYSTEM_SPI01_CLK_EN;
|
||||
case PERIPH_SPI2_MODULE:
|
||||
return SYSTEM_SPI2_CLK_EN;
|
||||
case PERIPH_TWAI_MODULE:
|
||||
return SYSTEM_TWAI_CLK_EN;
|
||||
case PERIPH_GDMA_MODULE:
|
||||
return SYSTEM_DMA_CLK_EN;
|
||||
case PERIPH_AES_MODULE:
|
||||
return SYSTEM_CRYPTO_AES_CLK_EN;
|
||||
case PERIPH_SHA_MODULE:
|
||||
return SYSTEM_CRYPTO_SHA_CLK_EN;
|
||||
case PERIPH_RSA_MODULE:
|
||||
return SYSTEM_CRYPTO_RSA_CLK_EN;
|
||||
case PERIPH_HMAC_MODULE:
|
||||
return SYSTEM_CRYPTO_HMAC_CLK_EN;
|
||||
case PERIPH_DS_MODULE:
|
||||
return SYSTEM_CRYPTO_DS_CLK_EN;
|
||||
case PERIPH_RNG_MODULE:
|
||||
return SYSTEM_WIFI_CLK_RNG_EN;
|
||||
case PERIPH_WIFI_MODULE:
|
||||
@@ -71,43 +41,23 @@ static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
return SYSTEM_WIFI_CLK_BT_EN_M;
|
||||
case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
return SYSTEM_WIFI_CLK_WIFI_BT_COMMON_M;
|
||||
case PERIPH_BT_BASEBAND_MODULE:
|
||||
return SYSTEM_BT_BASEBAND_EN;
|
||||
case PERIPH_BT_LC_MODULE:
|
||||
return SYSTEM_BT_LC_EN;
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return SYSTEM_TSENS_CLK_EN;
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
return SYSTEM_CLK_EN_ASSIST_DEBUG;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool enable)
|
||||
static inline uint32_t periph_ll_get_rst_en_mask(shared_periph_module_t periph, bool enable)
|
||||
{
|
||||
|
||||
(void)enable; // unused
|
||||
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return SYSTEM_APB_SARADC_RST;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return SYSTEM_RMT_RST;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return SYSTEM_LEDC_RST;
|
||||
case PERIPH_WIFI_MODULE:
|
||||
return SYSTEM_WIFIMAC_RST;
|
||||
case PERIPH_BT_MODULE:
|
||||
return (SYSTEM_BTBB_RST | SYSTEM_BTBB_REG_RST | SYSTEM_RW_BTMAC_RST | SYSTEM_RW_BTLP_RST | SYSTEM_RW_BTMAC_REG_RST | SYSTEM_RW_BTLP_REG_RST);
|
||||
case PERIPH_UART0_MODULE:
|
||||
return SYSTEM_UART_RST;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return SYSTEM_UART1_RST;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return SYSTEM_I2C_EXT0_RST;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return SYSTEM_I2S0_RST;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return SYSTEM_TIMERGROUP_RST;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
@@ -116,114 +66,45 @@ static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool en
|
||||
return SYSTEM_UHCI0_RST;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return SYSTEM_SYSTIMER_RST;
|
||||
case PERIPH_GDMA_MODULE:
|
||||
return SYSTEM_DMA_RST;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return SYSTEM_SPI01_RST;
|
||||
case PERIPH_SPI2_MODULE:
|
||||
return SYSTEM_SPI2_RST;
|
||||
case PERIPH_TWAI_MODULE:
|
||||
return SYSTEM_TWAI_RST;
|
||||
case PERIPH_HMAC_MODULE:
|
||||
return SYSTEM_CRYPTO_HMAC_RST;
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return SYSTEM_TSENS_RST;
|
||||
case PERIPH_AES_MODULE:
|
||||
if (enable == true) {
|
||||
// Clear reset on digital signature, otherwise AES unit is held in reset also.
|
||||
return (SYSTEM_CRYPTO_AES_RST | SYSTEM_CRYPTO_DS_RST);
|
||||
} else {
|
||||
//Don't return other units to reset, as this pulls reset on RSA & SHA units, respectively.
|
||||
return SYSTEM_CRYPTO_AES_RST;
|
||||
}
|
||||
case PERIPH_SHA_MODULE:
|
||||
if (enable == true) {
|
||||
// Clear reset on digital signature and HMAC, otherwise SHA is held in reset
|
||||
return (SYSTEM_CRYPTO_SHA_RST | SYSTEM_CRYPTO_DS_RST | SYSTEM_CRYPTO_HMAC_RST);
|
||||
} else {
|
||||
// Don't assert reset on secure boot, otherwise AES is held in reset
|
||||
return SYSTEM_CRYPTO_SHA_RST;
|
||||
}
|
||||
case PERIPH_RSA_MODULE:
|
||||
if (enable == true) {
|
||||
/* also clear reset on digital signature, otherwise RSA is held in reset */
|
||||
return (SYSTEM_CRYPTO_RSA_RST | SYSTEM_CRYPTO_DS_RST);
|
||||
} else {
|
||||
/* don't reset digital signature unit, as this resets AES also */
|
||||
return SYSTEM_CRYPTO_RSA_RST;
|
||||
}
|
||||
case PERIPH_DS_MODULE:
|
||||
return SYSTEM_CRYPTO_DS_RST;
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
return SYSTEM_RST_EN_ASSIST_DEBUG;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_clk_en_reg(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_clk_en_reg(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_RNG_MODULE:
|
||||
case PERIPH_WIFI_MODULE:
|
||||
case PERIPH_BT_MODULE:
|
||||
case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
case PERIPH_BT_BASEBAND_MODULE:
|
||||
case PERIPH_BT_LC_MODULE:
|
||||
return SYSTEM_WIFI_CLK_EN_REG;
|
||||
|
||||
case PERIPH_HMAC_MODULE:
|
||||
case PERIPH_DS_MODULE:
|
||||
case PERIPH_AES_MODULE:
|
||||
case PERIPH_RSA_MODULE:
|
||||
case PERIPH_SHA_MODULE:
|
||||
case PERIPH_GDMA_MODULE:
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return SYSTEM_PERIP_CLK_EN1_REG;
|
||||
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
return SYSTEM_CPU_PERI_CLK_EN_REG;
|
||||
|
||||
default:
|
||||
return SYSTEM_PERIP_CLK_EN0_REG;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_rst_en_reg(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_rst_en_reg(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_RNG_MODULE:
|
||||
case PERIPH_WIFI_MODULE:
|
||||
case PERIPH_BT_MODULE:
|
||||
case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
case PERIPH_BT_BASEBAND_MODULE:
|
||||
case PERIPH_BT_LC_MODULE:
|
||||
return SYSTEM_WIFI_RST_EN_REG;
|
||||
|
||||
case PERIPH_HMAC_MODULE:
|
||||
case PERIPH_DS_MODULE:
|
||||
case PERIPH_AES_MODULE:
|
||||
case PERIPH_RSA_MODULE:
|
||||
case PERIPH_SHA_MODULE:
|
||||
case PERIPH_GDMA_MODULE:
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return SYSTEM_PERIP_RST_EN1_REG;
|
||||
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
return SYSTEM_CPU_PERI_RST_EN_REG;
|
||||
|
||||
default:
|
||||
return SYSTEM_PERIP_RST_EN0_REG;
|
||||
}
|
||||
}
|
||||
|
||||
static inline void periph_ll_enable_clk_clear_rst(periph_module_t periph)
|
||||
static inline void periph_ll_enable_clk_clear_rst(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph));
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, true));
|
||||
}
|
||||
|
||||
static inline void periph_ll_disable_clk_set_rst(periph_module_t periph)
|
||||
static inline void periph_ll_disable_clk_set_rst(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph));
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
@@ -239,13 +120,13 @@ static inline void IRAM_ATTR periph_ll_wifi_bt_module_disable_clk(void)
|
||||
DPORT_CLEAR_PERI_REG_MASK(SYSTEM_WIFI_CLK_EN_REG, SYSTEM_WIFI_CLK_WIFI_BT_COMMON_M);
|
||||
}
|
||||
|
||||
static inline void periph_ll_reset(periph_module_t periph)
|
||||
static inline void periph_ll_reset(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
}
|
||||
|
||||
static inline bool IRAM_ATTR periph_ll_periph_enabled(periph_module_t periph)
|
||||
static inline bool IRAM_ATTR periph_ll_periph_enabled(shared_periph_module_t periph)
|
||||
{
|
||||
return DPORT_REG_GET_BIT(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false)) == 0 &&
|
||||
DPORT_REG_GET_BIT(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph)) != 0;
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
@@ -19,25 +19,11 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_clk_en_mask(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return PCR_SARADC_CLK_EN;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return PCR_RMT_CLK_EN;
|
||||
case PERIPH_PCNT_MODULE:
|
||||
return PCR_PCNT_CLK_EN;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return PCR_LEDC_CLK_EN;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return PCR_UART0_CLK_EN;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return PCR_UART1_CLK_EN;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return PCR_I2C_CLK_EN;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return PCR_I2S_CLK_EN;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return PCR_TG0_CLK_EN;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
@@ -46,22 +32,6 @@ static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
return PCR_UHCI_CLK_EN;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return PCR_SYSTIMER_CLK_EN;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return PCR_MSPI_CLK_EN;
|
||||
case PERIPH_SPI2_MODULE:
|
||||
return PCR_SPI2_CLK_EN;
|
||||
case PERIPH_TWAI0_MODULE:
|
||||
return PCR_TWAI0_CLK_EN;
|
||||
case PERIPH_TWAI1_MODULE:
|
||||
return PCR_TWAI1_CLK_EN;
|
||||
case PERIPH_GDMA_MODULE:
|
||||
return PCR_GDMA_CLK_EN;
|
||||
case PERIPH_MCPWM0_MODULE:
|
||||
return PCR_PWM_CLK_EN;
|
||||
case PERIPH_ETM_MODULE:
|
||||
return PCR_ETM_CLK_EN;
|
||||
case PERIPH_PARLIO_MODULE:
|
||||
return PCR_PARL_CLK_EN;
|
||||
case PERIPH_AES_MODULE:
|
||||
return PCR_AES_CLK_EN;
|
||||
case PERIPH_SHA_MODULE:
|
||||
@@ -74,8 +44,6 @@ static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
return PCR_HMAC_CLK_EN;
|
||||
case PERIPH_DS_MODULE:
|
||||
return PCR_DS_CLK_EN;
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return PCR_TSENS_CLK_EN;
|
||||
case PERIPH_SDIO_SLAVE_MODULE:
|
||||
return PCR_SDIO_SLAVE_CLK_EN;
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
@@ -85,27 +53,13 @@ static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool enable)
|
||||
static inline uint32_t periph_ll_get_rst_en_mask(shared_periph_module_t periph, bool enable)
|
||||
{
|
||||
(void)enable; // unused
|
||||
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return PCR_SARADC_REG_RST_EN;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return PCR_RMT_RST_EN;
|
||||
case PERIPH_PCNT_MODULE:
|
||||
return PCR_PCNT_RST_EN;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return PCR_LEDC_RST_EN;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return PCR_UART0_RST_EN;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return PCR_UART1_RST_EN;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return PCR_I2C_RST_EN;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return PCR_I2S_RST_EN;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return PCR_TG0_RST_EN;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
@@ -114,26 +68,8 @@ static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool en
|
||||
return PCR_UHCI_RST_EN;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return PCR_SYSTIMER_RST_EN;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return PCR_MSPI_RST_EN;
|
||||
case PERIPH_SPI2_MODULE:
|
||||
return PCR_SPI2_RST_EN;
|
||||
case PERIPH_TWAI0_MODULE:
|
||||
return PCR_TWAI0_RST_EN;
|
||||
case PERIPH_TWAI1_MODULE:
|
||||
return PCR_TWAI1_RST_EN;
|
||||
case PERIPH_GDMA_MODULE:
|
||||
return PCR_GDMA_RST_EN;
|
||||
case PERIPH_MCPWM0_MODULE:
|
||||
return PCR_PWM_RST_EN;
|
||||
case PERIPH_ETM_MODULE:
|
||||
return PCR_ETM_RST_EN;
|
||||
case PERIPH_PARLIO_MODULE:
|
||||
return PCR_PARL_RST_EN;
|
||||
case PERIPH_ECC_MODULE:
|
||||
return PCR_ECC_RST_EN;
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return PCR_TSENS_RST_EN;
|
||||
case PERIPH_AES_MODULE:
|
||||
if (enable == true) {
|
||||
// Clear reset on digital signature, otherwise AES unit is held in reset
|
||||
@@ -166,25 +102,11 @@ static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool en
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_clk_en_reg(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_clk_en_reg(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return PCR_SARADC_CONF_REG;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return PCR_RMT_CONF_REG;
|
||||
case PERIPH_PCNT_MODULE:
|
||||
return PCR_PCNT_CONF_REG;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return PCR_LEDC_CONF_REG;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return PCR_UART0_CONF_REG;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return PCR_UART1_CONF_REG;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return PCR_I2C_CONF_REG;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return PCR_I2S_CONF_REG;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return PCR_TIMERGROUP0_CONF_REG;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
@@ -193,22 +115,6 @@ static inline uint32_t periph_ll_get_clk_en_reg(periph_module_t periph)
|
||||
return PCR_UHCI_CONF_REG;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return PCR_SYSTIMER_CONF_REG;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return PCR_MSPI_CONF_REG;
|
||||
case PERIPH_SPI2_MODULE:
|
||||
return PCR_SPI2_CONF_REG;
|
||||
case PERIPH_TWAI0_MODULE:
|
||||
return PCR_TWAI0_CONF_REG;
|
||||
case PERIPH_TWAI1_MODULE:
|
||||
return PCR_TWAI1_CONF_REG;
|
||||
case PERIPH_GDMA_MODULE:
|
||||
return PCR_GDMA_CONF_REG;
|
||||
case PERIPH_MCPWM0_MODULE:
|
||||
return PCR_PWM_CONF_REG;
|
||||
case PERIPH_ETM_MODULE:
|
||||
return PCR_ETM_CONF_REG;
|
||||
case PERIPH_PARLIO_MODULE:
|
||||
return PCR_PARL_IO_CONF_REG;
|
||||
case PERIPH_AES_MODULE:
|
||||
return PCR_AES_CONF_REG;
|
||||
case PERIPH_SHA_MODULE:
|
||||
@@ -221,8 +127,6 @@ static inline uint32_t periph_ll_get_clk_en_reg(periph_module_t periph)
|
||||
return PCR_HMAC_CONF_REG;
|
||||
case PERIPH_DS_MODULE:
|
||||
return PCR_DS_CONF_REG;
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return PCR_TSENS_CLK_CONF_REG;
|
||||
case PERIPH_SDIO_SLAVE_MODULE:
|
||||
return PCR_SDIO_SLAVE_CONF_REG;
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
@@ -232,25 +136,11 @@ static inline uint32_t periph_ll_get_clk_en_reg(periph_module_t periph)
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_rst_en_reg(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_rst_en_reg(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return PCR_SARADC_CONF_REG;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return PCR_RMT_CONF_REG;
|
||||
case PERIPH_PCNT_MODULE:
|
||||
return PCR_PCNT_CONF_REG;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return PCR_LEDC_CONF_REG;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return PCR_UART0_CONF_REG;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return PCR_UART1_CONF_REG;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return PCR_I2C_CONF_REG;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return PCR_I2S_CONF_REG;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return PCR_TIMERGROUP0_CONF_REG;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
@@ -259,22 +149,6 @@ static inline uint32_t periph_ll_get_rst_en_reg(periph_module_t periph)
|
||||
return PCR_UHCI_CONF_REG;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return PCR_SYSTIMER_CONF_REG;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return PCR_MSPI_CONF_REG;
|
||||
case PERIPH_SPI2_MODULE:
|
||||
return PCR_SPI2_CONF_REG;
|
||||
case PERIPH_TWAI0_MODULE:
|
||||
return PCR_TWAI0_CONF_REG;
|
||||
case PERIPH_TWAI1_MODULE:
|
||||
return PCR_TWAI1_CONF_REG;
|
||||
case PERIPH_GDMA_MODULE:
|
||||
return PCR_GDMA_CONF_REG;
|
||||
case PERIPH_MCPWM0_MODULE:
|
||||
return PCR_PWM_CONF_REG;
|
||||
case PERIPH_ETM_MODULE:
|
||||
return PCR_ETM_CONF_REG;
|
||||
case PERIPH_PARLIO_MODULE:
|
||||
return PCR_PARL_IO_CONF_REG;
|
||||
case PERIPH_AES_MODULE:
|
||||
return PCR_AES_CONF_REG;
|
||||
case PERIPH_SHA_MODULE:
|
||||
@@ -287,8 +161,6 @@ static inline uint32_t periph_ll_get_rst_en_reg(periph_module_t periph)
|
||||
return PCR_HMAC_CONF_REG;
|
||||
case PERIPH_DS_MODULE:
|
||||
return PCR_DS_CONF_REG;
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return PCR_TSENS_CLK_CONF_REG;
|
||||
case PERIPH_SDIO_SLAVE_MODULE:
|
||||
return PCR_SDIO_SLAVE_CONF_REG;
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
@@ -298,25 +170,25 @@ static inline uint32_t periph_ll_get_rst_en_reg(periph_module_t periph)
|
||||
}
|
||||
}
|
||||
|
||||
static inline void periph_ll_enable_clk_clear_rst(periph_module_t periph)
|
||||
static inline void periph_ll_enable_clk_clear_rst(shared_periph_module_t periph)
|
||||
{
|
||||
SET_PERI_REG_MASK(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph));
|
||||
CLEAR_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, true));
|
||||
}
|
||||
|
||||
static inline void periph_ll_disable_clk_set_rst(periph_module_t periph)
|
||||
static inline void periph_ll_disable_clk_set_rst(shared_periph_module_t periph)
|
||||
{
|
||||
CLEAR_PERI_REG_MASK(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph));
|
||||
SET_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
}
|
||||
|
||||
static inline void periph_ll_reset(periph_module_t periph)
|
||||
static inline void periph_ll_reset(shared_periph_module_t periph)
|
||||
{
|
||||
SET_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
CLEAR_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
}
|
||||
|
||||
static inline bool IRAM_ATTR periph_ll_periph_enabled(periph_module_t periph)
|
||||
static inline bool IRAM_ATTR periph_ll_periph_enabled(shared_periph_module_t periph)
|
||||
{
|
||||
return REG_GET_BIT(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false)) == 0 &&
|
||||
REG_GET_BIT(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph)) != 0;
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
@@ -19,27 +19,11 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_clk_en_mask(shared_periph_module_t periph)
|
||||
{// ESP32H2-TODO: IDF-6400
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return PCR_SARADC_CLK_EN;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return PCR_RMT_CLK_EN;
|
||||
case PERIPH_PCNT_MODULE:
|
||||
return PCR_PCNT_CLK_EN;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return PCR_LEDC_CLK_EN;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return PCR_UART0_CLK_EN;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return PCR_UART1_CLK_EN;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return PCR_I2C0_CLK_EN;
|
||||
case PERIPH_I2C1_MODULE:
|
||||
return PCR_I2C1_CLK_EN;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return PCR_I2S_CLK_EN;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return PCR_TG0_CLK_EN;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
@@ -48,20 +32,6 @@ static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
return PCR_UHCI_CLK_EN;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return PCR_SYSTIMER_CLK_EN;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return PCR_MSPI_CLK_EN;
|
||||
case PERIPH_SPI2_MODULE:
|
||||
return PCR_SPI2_CLK_EN;
|
||||
case PERIPH_TWAI0_MODULE:
|
||||
return PCR_TWAI0_CLK_EN;
|
||||
case PERIPH_GDMA_MODULE:
|
||||
return PCR_GDMA_CLK_EN;
|
||||
case PERIPH_MCPWM0_MODULE:
|
||||
return PCR_PWM_CLK_EN;
|
||||
case PERIPH_ETM_MODULE:
|
||||
return PCR_ETM_CLK_EN;
|
||||
case PERIPH_PARLIO_MODULE:
|
||||
return PCR_PARL_CLK_EN;
|
||||
case PERIPH_AES_MODULE:
|
||||
return PCR_AES_CLK_EN;
|
||||
case PERIPH_SHA_MODULE:
|
||||
@@ -76,20 +46,6 @@ static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
return PCR_DS_CLK_EN;
|
||||
case PERIPH_ECDSA_MODULE:
|
||||
return PCR_ECDSA_CLK_EN;
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return PCR_TSENS_CLK_EN;
|
||||
// case PERIPH_RNG_MODULE:
|
||||
// return PCR_WIFI_CLK_RNG_EN;
|
||||
// case PERIPH_WIFI_MODULE:
|
||||
// return PCR_WIFI_CLK_WIFI_EN_M;
|
||||
// case PERIPH_BT_MODULE:
|
||||
// return PCR_WIFI_CLK_BT_EN_M;
|
||||
// case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
// return PCR_WIFI_CLK_WIFI_BT_COMMON_M;
|
||||
// case PERIPH_BT_BASEBAND_MODULE:
|
||||
// return PCR_BT_BASEBAND_EN;
|
||||
// case PERIPH_BT_LC_MODULE:
|
||||
// return PCR_BT_LC_EN;
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
return PCR_ASSIST_CLK_EN;
|
||||
default:
|
||||
@@ -97,7 +53,7 @@ static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool enable)
|
||||
static inline uint32_t periph_ll_get_rst_en_mask(shared_periph_module_t periph, bool enable)
|
||||
{
|
||||
// ESP32H2-TODO: IDF-6400
|
||||
(void)enable; // unused
|
||||
@@ -105,22 +61,6 @@ static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool en
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return PCR_SARADC_REG_RST_EN;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return PCR_RMT_RST_EN;
|
||||
case PERIPH_PCNT_MODULE:
|
||||
return PCR_PCNT_RST_EN;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return PCR_LEDC_RST_EN;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return PCR_UART0_RST_EN;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return PCR_UART1_RST_EN;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return PCR_I2C0_RST_EN;
|
||||
case PERIPH_I2C1_MODULE:
|
||||
return PCR_I2C1_RST_EN;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return PCR_I2S_RST_EN;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return PCR_TG0_RST_EN;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
@@ -129,22 +69,6 @@ static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool en
|
||||
return PCR_UHCI_RST_EN;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return PCR_SYSTIMER_RST_EN;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return PCR_MSPI_RST_EN;
|
||||
case PERIPH_SPI2_MODULE:
|
||||
return PCR_SPI2_RST_EN;
|
||||
case PERIPH_TWAI0_MODULE:
|
||||
return PCR_TWAI0_RST_EN;
|
||||
case PERIPH_GDMA_MODULE:
|
||||
return PCR_GDMA_RST_EN;
|
||||
case PERIPH_MCPWM0_MODULE:
|
||||
return PCR_PWM_RST_EN;
|
||||
case PERIPH_ETM_MODULE:
|
||||
return PCR_ETM_RST_EN;
|
||||
case PERIPH_PARLIO_MODULE:
|
||||
return PCR_PARL_RST_EN;
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return PCR_TSENS_RST_EN;
|
||||
case PERIPH_ECC_MODULE:
|
||||
if (enable == true) {
|
||||
// Clear reset on ECDSA, otherwise ECC is held in reset
|
||||
@@ -178,18 +102,6 @@ static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool en
|
||||
return PCR_DS_RST_EN;
|
||||
case PERIPH_ECDSA_MODULE:
|
||||
return PCR_ECDSA_RST_EN;
|
||||
// case PERIPH_RNG_MODULE:
|
||||
// return PCR_WIFI_CLK_RNG_EN;
|
||||
// case PERIPH_WIFI_MODULE:
|
||||
// return PCR_WIFI_CLK_WIFI_EN_M;
|
||||
// case PERIPH_BT_MODULE:
|
||||
// return PCR_WIFI_CLK_BT_EN_M;
|
||||
// case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
// return PCR_WIFI_CLK_WIFI_BT_COMMON_M;
|
||||
// case PERIPH_BT_BASEBAND_MODULE:
|
||||
// return PCR_BT_BASEBAND_EN;
|
||||
// case PERIPH_BT_LC_MODULE:
|
||||
// return PCR_BT_LC_EN;
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
return PCR_ASSIST_RST_EN;
|
||||
default:
|
||||
@@ -197,35 +109,11 @@ static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool en
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_clk_en_reg(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_clk_en_reg(shared_periph_module_t periph)
|
||||
{// ESP32H2-TODO: IDF-6400
|
||||
switch (periph) {
|
||||
// case PERIPH_RNG_MODULE:
|
||||
// case PERIPH_WIFI_MODULE:
|
||||
// case PERIPH_BT_MODULE:
|
||||
// case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
// case PERIPH_BT_BASEBAND_MODULE:
|
||||
// case PERIPH_BT_LC_MODULE:
|
||||
// return SYSTEM_WIFI_CLK_EN_REG;
|
||||
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return PCR_SARADC_CONF_REG;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return PCR_RMT_CONF_REG;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return PCR_LEDC_CONF_REG;
|
||||
case PERIPH_PCNT_MODULE:
|
||||
return PCR_PCNT_CONF_REG;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return PCR_UART0_CONF_REG;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return PCR_UART1_CONF_REG;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return PCR_I2C0_CONF_REG;
|
||||
case PERIPH_I2C1_MODULE:
|
||||
return PCR_I2C1_CONF_REG;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return PCR_I2S_CONF_REG;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return PCR_TIMERGROUP0_CONF_REG;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
@@ -234,20 +122,6 @@ static inline uint32_t periph_ll_get_clk_en_reg(periph_module_t periph)
|
||||
return PCR_UHCI_CONF_REG;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return PCR_SYSTIMER_CONF_REG;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return PCR_MSPI_CONF_REG;
|
||||
case PERIPH_SPI2_MODULE:
|
||||
return PCR_SPI2_CONF_REG;
|
||||
case PERIPH_TWAI0_MODULE:
|
||||
return PCR_TWAI0_CONF_REG;
|
||||
case PERIPH_GDMA_MODULE:
|
||||
return PCR_GDMA_CONF_REG;
|
||||
case PERIPH_MCPWM0_MODULE:
|
||||
return PCR_PWM_CONF_REG;
|
||||
case PERIPH_ETM_MODULE:
|
||||
return PCR_ETM_CONF_REG;
|
||||
case PERIPH_PARLIO_MODULE:
|
||||
return PCR_PARL_IO_CONF_REG;
|
||||
case PERIPH_AES_MODULE:
|
||||
return PCR_AES_CONF_REG;
|
||||
case PERIPH_SHA_MODULE:
|
||||
@@ -262,8 +136,6 @@ static inline uint32_t periph_ll_get_clk_en_reg(periph_module_t periph)
|
||||
return PCR_DS_CONF_REG;
|
||||
case PERIPH_ECDSA_MODULE:
|
||||
return PCR_ECDSA_CONF_REG;
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return PCR_TSENS_CLK_CONF_REG;
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
return PCR_ASSIST_CONF_REG;
|
||||
default:
|
||||
@@ -271,28 +143,12 @@ static inline uint32_t periph_ll_get_clk_en_reg(periph_module_t periph)
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_rst_en_reg(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_rst_en_reg(shared_periph_module_t periph)
|
||||
{
|
||||
// ESP32H2-TODO: IDF-6400
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return PCR_SARADC_CONF_REG;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return PCR_RMT_CONF_REG;
|
||||
case PERIPH_PCNT_MODULE:
|
||||
return PCR_PCNT_CONF_REG;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return PCR_LEDC_CONF_REG;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return PCR_UART0_CONF_REG;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return PCR_UART1_CONF_REG;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return PCR_I2C0_CONF_REG;
|
||||
case PERIPH_I2C1_MODULE:
|
||||
return PCR_I2C1_CONF_REG;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return PCR_I2S_CONF_REG;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return PCR_TIMERGROUP0_CONF_REG;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
@@ -301,20 +157,6 @@ static inline uint32_t periph_ll_get_rst_en_reg(periph_module_t periph)
|
||||
return PCR_UHCI_CONF_REG;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return PCR_SYSTIMER_CONF_REG;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return PCR_MSPI_CONF_REG;
|
||||
case PERIPH_SPI2_MODULE:
|
||||
return PCR_SPI2_CONF_REG;
|
||||
case PERIPH_TWAI0_MODULE:
|
||||
return PCR_TWAI0_CONF_REG;
|
||||
case PERIPH_GDMA_MODULE:
|
||||
return PCR_GDMA_CONF_REG;
|
||||
case PERIPH_MCPWM0_MODULE:
|
||||
return PCR_PWM_CONF_REG;
|
||||
case PERIPH_ETM_MODULE:
|
||||
return PCR_ETM_CONF_REG;
|
||||
case PERIPH_PARLIO_MODULE:
|
||||
return PCR_PARL_IO_CONF_REG;
|
||||
case PERIPH_AES_MODULE:
|
||||
return PCR_AES_CONF_REG;
|
||||
case PERIPH_SHA_MODULE:
|
||||
@@ -329,8 +171,6 @@ static inline uint32_t periph_ll_get_rst_en_reg(periph_module_t periph)
|
||||
return PCR_DS_CONF_REG;
|
||||
case PERIPH_ECDSA_MODULE:
|
||||
return PCR_ECDSA_CONF_REG;
|
||||
case PERIPH_TEMPSENSOR_MODULE:
|
||||
return PCR_TSENS_CLK_CONF_REG;
|
||||
case PERIPH_ASSIST_DEBUG_MODULE:
|
||||
return PCR_ASSIST_CONF_REG;
|
||||
default:
|
||||
@@ -338,13 +178,13 @@ static inline uint32_t periph_ll_get_rst_en_reg(periph_module_t periph)
|
||||
}
|
||||
}
|
||||
|
||||
static inline void periph_ll_enable_clk_clear_rst(periph_module_t periph)
|
||||
static inline void periph_ll_enable_clk_clear_rst(shared_periph_module_t periph)
|
||||
{
|
||||
SET_PERI_REG_MASK(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph));
|
||||
CLEAR_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, true));
|
||||
}
|
||||
|
||||
static inline void periph_ll_disable_clk_set_rst(periph_module_t periph)
|
||||
static inline void periph_ll_disable_clk_set_rst(shared_periph_module_t periph)
|
||||
{
|
||||
CLEAR_PERI_REG_MASK(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph));
|
||||
SET_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
@@ -360,13 +200,13 @@ static inline void periph_ll_wifi_bt_module_disable_clk(void)
|
||||
// DPORT_CLEAR_PERI_REG_MASK(SYSTEM_WIFI_CLK_EN_REG, SYSTEM_WIFI_CLK_WIFI_BT_COMMON_M);// ESP32H2-TODO: IDF-6400
|
||||
}
|
||||
|
||||
static inline void periph_ll_reset(periph_module_t periph)
|
||||
static inline void periph_ll_reset(shared_periph_module_t periph)
|
||||
{
|
||||
SET_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
CLEAR_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
}
|
||||
|
||||
static inline bool periph_ll_periph_enabled(periph_module_t periph)
|
||||
static inline bool periph_ll_periph_enabled(shared_periph_module_t periph)
|
||||
{
|
||||
return REG_GET_BIT(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false)) == 0 &&
|
||||
REG_GET_BIT(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph)) != 0;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -20,49 +20,19 @@ extern "C" {
|
||||
#include "soc/dport_access.h"
|
||||
#include "soc/soc_caps.h"
|
||||
|
||||
static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_clk_en_mask(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return DPORT_APB_SARADC_CLK_EN;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return DPORT_LEDC_CLK_EN;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return DPORT_UART_CLK_EN;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return DPORT_UART1_CLK_EN;
|
||||
case PERIPH_USB_MODULE:
|
||||
return DPORT_USB_CLK_EN;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return DPORT_I2C_EXT0_CLK_EN;
|
||||
case PERIPH_I2C1_MODULE:
|
||||
return DPORT_I2C_EXT1_CLK_EN;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return DPORT_I2S0_CLK_EN;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return DPORT_TIMERGROUP_CLK_EN;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
return DPORT_TIMERGROUP1_CLK_EN;
|
||||
case PERIPH_UHCI0_MODULE:
|
||||
return DPORT_UHCI0_CLK_EN;
|
||||
case PERIPH_UHCI1_MODULE:
|
||||
return DPORT_UHCI1_CLK_EN;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return DPORT_RMT_CLK_EN;
|
||||
case PERIPH_PCNT_MODULE:
|
||||
return DPORT_PCNT_CLK_EN;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return DPORT_SPI01_CLK_EN;
|
||||
case PERIPH_FSPI_MODULE:
|
||||
return DPORT_SPI2_CLK_EN;
|
||||
case PERIPH_HSPI_MODULE:
|
||||
return DPORT_SPI3_CLK_EN;
|
||||
case PERIPH_SPI2_DMA_MODULE:
|
||||
return DPORT_SPI2_DMA_CLK_EN;
|
||||
case PERIPH_SPI3_DMA_MODULE:
|
||||
return DPORT_SPI3_DMA_CLK_EN;
|
||||
case PERIPH_TWAI_MODULE:
|
||||
return DPORT_TWAI_CLK_EN;
|
||||
case PERIPH_RNG_MODULE:
|
||||
return DPORT_WIFI_CLK_RNG_EN;
|
||||
case PERIPH_WIFI_MODULE:
|
||||
@@ -71,173 +41,66 @@ static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
return DPORT_WIFI_CLK_WIFI_BT_COMMON_M;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return DPORT_SYSTIMER_CLK_EN;
|
||||
case PERIPH_DEDIC_GPIO_MODULE:
|
||||
return DPORT_CLK_EN_DEDICATED_GPIO;
|
||||
case PERIPH_AES_MODULE:
|
||||
return DPORT_CRYPTO_AES_CLK_EN;
|
||||
case PERIPH_SHA_MODULE:
|
||||
return DPORT_CRYPTO_SHA_CLK_EN;
|
||||
case PERIPH_RSA_MODULE:
|
||||
return DPORT_CRYPTO_RSA_CLK_EN;
|
||||
case PERIPH_CRYPTO_DMA_MODULE:
|
||||
return DPORT_CRYPTO_DMA_CLK_EN;
|
||||
case PERIPH_SHA_DMA_MODULE:
|
||||
return DPORT_CRYPTO_DMA_CLK_EN | DPORT_CRYPTO_SHA_CLK_EN;
|
||||
case PERIPH_AES_DMA_MODULE:
|
||||
return DPORT_CRYPTO_DMA_CLK_EN | DPORT_CRYPTO_AES_CLK_EN;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool enable)
|
||||
static inline uint32_t periph_ll_get_rst_en_mask(shared_periph_module_t periph, bool enable)
|
||||
{
|
||||
(void)enable; // unused
|
||||
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return DPORT_APB_SARADC_RST;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return DPORT_LEDC_RST;
|
||||
case PERIPH_WIFI_MODULE:
|
||||
return DPORT_WIFIMAC_RST;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return DPORT_UART_RST;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return DPORT_UART1_RST;
|
||||
case PERIPH_USB_MODULE:
|
||||
return DPORT_USB_RST;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return DPORT_I2C_EXT0_RST;
|
||||
case PERIPH_I2C1_MODULE:
|
||||
return DPORT_I2C_EXT1_RST;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return DPORT_I2S0_RST;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return DPORT_TIMERGROUP_RST;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
return DPORT_TIMERGROUP1_RST;
|
||||
case PERIPH_UHCI0_MODULE:
|
||||
return DPORT_UHCI0_RST;
|
||||
case PERIPH_UHCI1_MODULE:
|
||||
return DPORT_UHCI1_RST;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return DPORT_RMT_RST;
|
||||
case PERIPH_PCNT_MODULE:
|
||||
return DPORT_PCNT_RST;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return DPORT_SPI01_RST;
|
||||
case PERIPH_FSPI_MODULE:
|
||||
return DPORT_SPI2_RST;
|
||||
case PERIPH_HSPI_MODULE:
|
||||
return DPORT_SPI3_RST;
|
||||
case PERIPH_SPI2_DMA_MODULE:
|
||||
return DPORT_SPI2_DMA_RST;
|
||||
case PERIPH_SPI3_DMA_MODULE:
|
||||
return DPORT_SPI3_DMA_RST;
|
||||
case PERIPH_TWAI_MODULE:
|
||||
return DPORT_TWAI_RST;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return DPORT_SYSTIMER_RST;
|
||||
case PERIPH_DEDIC_GPIO_MODULE:
|
||||
return DPORT_RST_EN_DEDICATED_GPIO;
|
||||
case PERIPH_AES_MODULE:
|
||||
if (enable == true) {
|
||||
// Clear reset on digital signature, otherwise AES unit is held in reset also.
|
||||
return (DPORT_CRYPTO_AES_RST | DPORT_CRYPTO_DS_RST);
|
||||
} else {
|
||||
//Don't return other units to reset, as this pulls reset on RSA & SHA units, respectively.
|
||||
return DPORT_CRYPTO_AES_RST;
|
||||
}
|
||||
case PERIPH_SHA_MODULE:
|
||||
if (enable == true) {
|
||||
// Clear reset on digital signature and HMAC, otherwise SHA is held in reset
|
||||
return (DPORT_CRYPTO_SHA_RST | DPORT_CRYPTO_DS_RST | DPORT_CRYPTO_HMAC_RST);
|
||||
} else {
|
||||
// Don't assert reset on secure boot, otherwise AES is held in reset
|
||||
return DPORT_CRYPTO_SHA_RST;
|
||||
}
|
||||
case PERIPH_RSA_MODULE:
|
||||
if (enable == true) {
|
||||
/* also clear reset on digital signature, otherwise RSA is held in reset */
|
||||
return (DPORT_CRYPTO_RSA_RST | DPORT_CRYPTO_DS_RST);
|
||||
} else {
|
||||
/* don't reset digital signature unit, as this resets AES also */
|
||||
return DPORT_CRYPTO_RSA_RST;
|
||||
}
|
||||
case PERIPH_CRYPTO_DMA_MODULE:
|
||||
return DPORT_CRYPTO_DMA_RST;
|
||||
|
||||
case PERIPH_AES_DMA_MODULE:
|
||||
if (enable == true) {
|
||||
// Clear reset on digital signature, otherwise AES unit is held in reset also.
|
||||
return (DPORT_CRYPTO_AES_RST | DPORT_CRYPTO_DS_RST | DPORT_CRYPTO_DMA_RST);
|
||||
} else {
|
||||
//Don't return other units to reset, as this pulls reset on RSA & SHA units, respectively.
|
||||
return (DPORT_CRYPTO_AES_RST | DPORT_CRYPTO_DMA_RST);
|
||||
}
|
||||
case PERIPH_SHA_DMA_MODULE:
|
||||
if (enable == true) {
|
||||
// Clear reset on digital signature and HMAC, otherwise SHA is held in reset
|
||||
return (DPORT_CRYPTO_SHA_RST | DPORT_CRYPTO_DS_RST | DPORT_CRYPTO_HMAC_RST | DPORT_CRYPTO_DMA_RST);
|
||||
} else {
|
||||
// Don't assert reset on secure boot, otherwise AES is held in reset
|
||||
return (DPORT_CRYPTO_SHA_RST | DPORT_CRYPTO_DMA_RST);
|
||||
}
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_clk_en_reg(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_clk_en_reg(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_DEDIC_GPIO_MODULE:
|
||||
return DPORT_CPU_PERI_CLK_EN_REG;
|
||||
case PERIPH_RNG_MODULE:
|
||||
case PERIPH_WIFI_MODULE:
|
||||
case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
return DPORT_WIFI_CLK_EN_REG;
|
||||
case PERIPH_AES_MODULE:
|
||||
case PERIPH_SHA_MODULE:
|
||||
case PERIPH_RSA_MODULE:
|
||||
case PERIPH_CRYPTO_DMA_MODULE:
|
||||
case PERIPH_AES_DMA_MODULE:
|
||||
case PERIPH_SHA_DMA_MODULE:
|
||||
return DPORT_PERIP_CLK_EN1_REG;
|
||||
default:
|
||||
return DPORT_PERIP_CLK_EN_REG;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_rst_en_reg(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_rst_en_reg(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_DEDIC_GPIO_MODULE:
|
||||
return DPORT_CPU_PERI_RST_EN_REG;
|
||||
case PERIPH_RNG_MODULE:
|
||||
case PERIPH_WIFI_MODULE:
|
||||
case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
return DPORT_CORE_RST_EN_REG;
|
||||
case PERIPH_AES_MODULE:
|
||||
case PERIPH_SHA_MODULE:
|
||||
case PERIPH_RSA_MODULE:
|
||||
case PERIPH_CRYPTO_DMA_MODULE:
|
||||
case PERIPH_AES_DMA_MODULE:
|
||||
case PERIPH_SHA_DMA_MODULE:
|
||||
return DPORT_PERIP_RST_EN1_REG;
|
||||
default:
|
||||
return DPORT_PERIP_RST_EN_REG;
|
||||
}
|
||||
}
|
||||
|
||||
static inline void periph_ll_enable_clk_clear_rst(periph_module_t periph)
|
||||
static inline void periph_ll_enable_clk_clear_rst(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph));
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, true));
|
||||
}
|
||||
|
||||
static inline void periph_ll_disable_clk_set_rst(periph_module_t periph)
|
||||
static inline void periph_ll_disable_clk_set_rst(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph));
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
@@ -253,13 +116,13 @@ static inline void IRAM_ATTR periph_ll_wifi_bt_module_disable_clk(void)
|
||||
DPORT_CLEAR_PERI_REG_MASK(DPORT_WIFI_CLK_EN_REG, DPORT_WIFI_CLK_WIFI_BT_COMMON_M);
|
||||
}
|
||||
|
||||
static inline void periph_ll_reset(periph_module_t periph)
|
||||
static inline void periph_ll_reset(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
}
|
||||
|
||||
static inline bool IRAM_ATTR periph_ll_periph_enabled(periph_module_t periph)
|
||||
static inline bool IRAM_ATTR periph_ll_periph_enabled(shared_periph_module_t periph)
|
||||
{
|
||||
return DPORT_REG_GET_BIT(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false)) == 0 &&
|
||||
DPORT_REG_GET_BIT(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph)) != 0;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -20,57 +20,21 @@ extern "C" {
|
||||
#include "soc/dport_access.h"
|
||||
#include "soc/soc_caps.h"
|
||||
|
||||
static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_clk_en_mask(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return SYSTEM_APB_SARADC_CLK_EN;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return SYSTEM_RMT_CLK_EN;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return SYSTEM_LEDC_CLK_EN;
|
||||
case PERIPH_UART0_MODULE:
|
||||
return SYSTEM_UART_CLK_EN;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return SYSTEM_UART1_CLK_EN;
|
||||
case PERIPH_UART2_MODULE:
|
||||
return SYSTEM_UART2_CLK_EN;
|
||||
case PERIPH_USB_MODULE:
|
||||
return SYSTEM_USB_CLK_EN;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return SYSTEM_I2C_EXT0_CLK_EN;
|
||||
case PERIPH_I2C1_MODULE:
|
||||
return SYSTEM_I2C_EXT1_CLK_EN;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return SYSTEM_I2S0_CLK_EN;
|
||||
case PERIPH_I2S1_MODULE:
|
||||
return SYSTEM_I2S1_CLK_EN;
|
||||
case PERIPH_LCD_CAM_MODULE:
|
||||
return SYSTEM_LCD_CAM_CLK_EN;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return SYSTEM_TIMERGROUP_CLK_EN;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
return SYSTEM_TIMERGROUP1_CLK_EN;
|
||||
case PERIPH_PWM0_MODULE:
|
||||
return SYSTEM_PWM0_CLK_EN;
|
||||
case PERIPH_PWM1_MODULE:
|
||||
return SYSTEM_PWM1_CLK_EN;
|
||||
case PERIPH_UHCI0_MODULE:
|
||||
return SYSTEM_UHCI0_CLK_EN;
|
||||
case PERIPH_UHCI1_MODULE:
|
||||
return SYSTEM_UHCI1_CLK_EN;
|
||||
case PERIPH_PCNT_MODULE:
|
||||
return SYSTEM_PCNT_CLK_EN;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return SYSTEM_SPI01_CLK_EN;
|
||||
case PERIPH_SPI2_MODULE:
|
||||
return SYSTEM_SPI2_CLK_EN;
|
||||
case PERIPH_SPI3_MODULE:
|
||||
return SYSTEM_SPI3_CLK_EN;
|
||||
case PERIPH_SDMMC_MODULE:
|
||||
return SYSTEM_SDIO_HOST_CLK_EN;
|
||||
case PERIPH_TWAI_MODULE:
|
||||
return SYSTEM_TWAI_CLK_EN;
|
||||
case PERIPH_RNG_MODULE:
|
||||
return SYSTEM_WIFI_CLK_RNG_EN;
|
||||
case PERIPH_WIFI_MODULE:
|
||||
@@ -79,186 +43,77 @@ static inline uint32_t periph_ll_get_clk_en_mask(periph_module_t periph)
|
||||
return SYSTEM_WIFI_CLK_BT_EN_M;
|
||||
case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
return SYSTEM_WIFI_CLK_WIFI_BT_COMMON_M;
|
||||
case PERIPH_BT_BASEBAND_MODULE:
|
||||
return SYSTEM_BT_BASEBAND_EN;
|
||||
case PERIPH_BT_LC_MODULE:
|
||||
return SYSTEM_BT_LC_EN;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return SYSTEM_SYSTIMER_CLK_EN;
|
||||
case PERIPH_DEDIC_GPIO_MODULE:
|
||||
return SYSTEM_CLK_EN_DEDICATED_GPIO;
|
||||
case PERIPH_GDMA_MODULE:
|
||||
return SYSTEM_DMA_CLK_EN;
|
||||
case PERIPH_AES_MODULE:
|
||||
return SYSTEM_CRYPTO_AES_CLK_EN;
|
||||
case PERIPH_SHA_MODULE:
|
||||
return SYSTEM_CRYPTO_SHA_CLK_EN;
|
||||
case PERIPH_RSA_MODULE:
|
||||
return SYSTEM_CRYPTO_RSA_CLK_EN;
|
||||
case PERIPH_HMAC_MODULE:
|
||||
return SYSTEM_CRYPTO_HMAC_CLK_EN;
|
||||
case PERIPH_DS_MODULE:
|
||||
return SYSTEM_CRYPTO_DS_CLK_EN;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_rst_en_mask(periph_module_t periph, bool enable)
|
||||
static inline uint32_t periph_ll_get_rst_en_mask(shared_periph_module_t periph, bool enable)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_SARADC_MODULE:
|
||||
return SYSTEM_APB_SARADC_RST;
|
||||
case PERIPH_RMT_MODULE:
|
||||
return SYSTEM_RMT_RST;
|
||||
case PERIPH_LEDC_MODULE:
|
||||
return SYSTEM_LEDC_RST;
|
||||
case PERIPH_WIFI_MODULE:
|
||||
return SYSTEM_WIFIMAC_RST;
|
||||
case PERIPH_BT_MODULE:
|
||||
return (SYSTEM_BTBB_RST | SYSTEM_BTBB_REG_RST | SYSTEM_RW_BTMAC_RST | SYSTEM_RW_BTLP_RST | SYSTEM_RW_BTMAC_REG_RST | SYSTEM_RW_BTLP_REG_RST);
|
||||
case PERIPH_UART0_MODULE:
|
||||
return SYSTEM_UART_RST;
|
||||
case PERIPH_UART1_MODULE:
|
||||
return SYSTEM_UART1_RST;
|
||||
case PERIPH_UART2_MODULE:
|
||||
return SYSTEM_UART2_RST;
|
||||
case PERIPH_USB_MODULE:
|
||||
return SYSTEM_USB_RST;
|
||||
case PERIPH_I2C0_MODULE:
|
||||
return SYSTEM_I2C_EXT0_RST;
|
||||
case PERIPH_I2C1_MODULE:
|
||||
return SYSTEM_I2C_EXT1_RST;
|
||||
case PERIPH_I2S0_MODULE:
|
||||
return SYSTEM_I2S0_RST;
|
||||
case PERIPH_I2S1_MODULE:
|
||||
return SYSTEM_I2S1_RST;
|
||||
case PERIPH_LCD_CAM_MODULE:
|
||||
return SYSTEM_LCD_CAM_RST;
|
||||
case PERIPH_TIMG0_MODULE:
|
||||
return SYSTEM_TIMERGROUP_RST;
|
||||
case PERIPH_TIMG1_MODULE:
|
||||
return SYSTEM_TIMERGROUP1_RST;
|
||||
case PERIPH_PWM0_MODULE:
|
||||
return SYSTEM_PWM0_RST;
|
||||
case PERIPH_PWM1_MODULE:
|
||||
return SYSTEM_PWM1_RST;
|
||||
case PERIPH_UHCI0_MODULE:
|
||||
return SYSTEM_UHCI0_RST;
|
||||
case PERIPH_UHCI1_MODULE:
|
||||
return SYSTEM_UHCI1_RST;
|
||||
case PERIPH_PCNT_MODULE:
|
||||
return SYSTEM_PCNT_RST;
|
||||
case PERIPH_SPI_MODULE:
|
||||
return SYSTEM_SPI01_RST;
|
||||
case PERIPH_SPI2_MODULE:
|
||||
return SYSTEM_SPI2_RST;
|
||||
case PERIPH_SPI3_MODULE:
|
||||
return SYSTEM_SPI3_RST;
|
||||
case PERIPH_SDMMC_MODULE:
|
||||
return SYSTEM_SDIO_HOST_RST;
|
||||
case PERIPH_TWAI_MODULE:
|
||||
return SYSTEM_TWAI_RST;
|
||||
case PERIPH_SYSTIMER_MODULE:
|
||||
return SYSTEM_SYSTIMER_RST;
|
||||
case PERIPH_DEDIC_GPIO_MODULE:
|
||||
return SYSTEM_RST_EN_DEDICATED_GPIO;
|
||||
case PERIPH_GDMA_MODULE:
|
||||
return SYSTEM_DMA_RST;
|
||||
case PERIPH_HMAC_MODULE:
|
||||
return SYSTEM_CRYPTO_HMAC_RST;
|
||||
case PERIPH_DS_MODULE:
|
||||
return SYSTEM_CRYPTO_DS_RST;
|
||||
case PERIPH_AES_MODULE:
|
||||
if (enable == true) {
|
||||
// Clear reset on digital signature, otherwise AES unit is held in reset also.
|
||||
return (SYSTEM_CRYPTO_AES_RST | SYSTEM_CRYPTO_DS_RST);
|
||||
} else {
|
||||
//Don't return other units to reset, as this pulls reset on RSA & SHA units, respectively.
|
||||
return SYSTEM_CRYPTO_AES_RST;
|
||||
}
|
||||
case PERIPH_SHA_MODULE:
|
||||
if (enable == true) {
|
||||
// Clear reset on digital signature and HMAC, otherwise SHA is held in reset
|
||||
return (SYSTEM_CRYPTO_SHA_RST | SYSTEM_CRYPTO_DS_RST | SYSTEM_CRYPTO_HMAC_RST) ;
|
||||
} else {
|
||||
// Don't assert reset on secure boot, otherwise AES is held in reset
|
||||
return SYSTEM_CRYPTO_SHA_RST;
|
||||
}
|
||||
case PERIPH_RSA_MODULE:
|
||||
if (enable == true) {
|
||||
/* also clear reset on digital signature, otherwise RSA is held in reset */
|
||||
return (SYSTEM_CRYPTO_RSA_RST | SYSTEM_CRYPTO_DS_RST);
|
||||
} else {
|
||||
/* don't reset digital signature unit, as this resets AES also */
|
||||
return SYSTEM_CRYPTO_RSA_RST;
|
||||
}
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_clk_en_reg(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_clk_en_reg(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_DEDIC_GPIO_MODULE:
|
||||
return SYSTEM_CPU_PERI_CLK_EN_REG;
|
||||
case PERIPH_RNG_MODULE:
|
||||
case PERIPH_WIFI_MODULE:
|
||||
case PERIPH_BT_MODULE:
|
||||
case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
case PERIPH_BT_BASEBAND_MODULE:
|
||||
case PERIPH_BT_LC_MODULE:
|
||||
return SYSTEM_WIFI_CLK_EN_REG ;
|
||||
case PERIPH_UART2_MODULE:
|
||||
case PERIPH_SDMMC_MODULE:
|
||||
case PERIPH_LCD_CAM_MODULE:
|
||||
case PERIPH_GDMA_MODULE:
|
||||
case PERIPH_HMAC_MODULE:
|
||||
case PERIPH_DS_MODULE:
|
||||
case PERIPH_AES_MODULE:
|
||||
case PERIPH_SHA_MODULE:
|
||||
case PERIPH_RSA_MODULE:
|
||||
return SYSTEM_PERIP_CLK_EN1_REG;
|
||||
default:
|
||||
return SYSTEM_PERIP_CLK_EN0_REG;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32_t periph_ll_get_rst_en_reg(periph_module_t periph)
|
||||
static inline uint32_t periph_ll_get_rst_en_reg(shared_periph_module_t periph)
|
||||
{
|
||||
switch (periph) {
|
||||
case PERIPH_DEDIC_GPIO_MODULE:
|
||||
return SYSTEM_CPU_PERI_RST_EN_REG;
|
||||
case PERIPH_RNG_MODULE:
|
||||
case PERIPH_WIFI_MODULE:
|
||||
case PERIPH_BT_MODULE:
|
||||
case PERIPH_WIFI_BT_COMMON_MODULE:
|
||||
case PERIPH_BT_BASEBAND_MODULE:
|
||||
case PERIPH_BT_LC_MODULE:
|
||||
return SYSTEM_CORE_RST_EN_REG;
|
||||
case PERIPH_UART2_MODULE:
|
||||
case PERIPH_SDMMC_MODULE:
|
||||
case PERIPH_LCD_CAM_MODULE:
|
||||
case PERIPH_GDMA_MODULE:
|
||||
case PERIPH_HMAC_MODULE:
|
||||
case PERIPH_DS_MODULE:
|
||||
case PERIPH_AES_MODULE:
|
||||
case PERIPH_SHA_MODULE:
|
||||
case PERIPH_RSA_MODULE:
|
||||
return SYSTEM_PERIP_RST_EN1_REG;
|
||||
default:
|
||||
return SYSTEM_PERIP_RST_EN0_REG;
|
||||
}
|
||||
}
|
||||
|
||||
static inline void periph_ll_enable_clk_clear_rst(periph_module_t periph)
|
||||
static inline void periph_ll_enable_clk_clear_rst(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph));
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, true));
|
||||
}
|
||||
|
||||
static inline void periph_ll_disable_clk_set_rst(periph_module_t periph)
|
||||
static inline void periph_ll_disable_clk_set_rst(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph));
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
@@ -274,13 +129,13 @@ static inline void IRAM_ATTR periph_ll_wifi_bt_module_disable_clk(void)
|
||||
DPORT_CLEAR_PERI_REG_MASK(SYSTEM_WIFI_CLK_EN_REG, SYSTEM_WIFI_CLK_WIFI_BT_COMMON_M);
|
||||
}
|
||||
|
||||
static inline void periph_ll_reset(periph_module_t periph)
|
||||
static inline void periph_ll_reset(shared_periph_module_t periph)
|
||||
{
|
||||
DPORT_SET_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
DPORT_CLEAR_PERI_REG_MASK(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false));
|
||||
}
|
||||
|
||||
static inline bool IRAM_ATTR periph_ll_periph_enabled(periph_module_t periph)
|
||||
static inline bool IRAM_ATTR periph_ll_periph_enabled(shared_periph_module_t periph)
|
||||
{
|
||||
return DPORT_REG_GET_BIT(periph_ll_get_rst_en_reg(periph), periph_ll_get_rst_en_mask(periph, false)) == 0 &&
|
||||
DPORT_REG_GET_BIT(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph)) != 0;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -11,43 +11,22 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
PERIPH_LEDC_MODULE = 0,
|
||||
PERIPH_UART0_MODULE,
|
||||
PERIPH_UART1_MODULE,
|
||||
PERIPH_UART2_MODULE,
|
||||
PERIPH_I2C0_MODULE,
|
||||
PERIPH_I2C1_MODULE,
|
||||
PERIPH_I2S0_MODULE,
|
||||
PERIPH_I2S1_MODULE,
|
||||
PERIPH_TIMG0_MODULE,
|
||||
PERIPH_TIMG1_MODULE,
|
||||
PERIPH_PWM0_MODULE,
|
||||
PERIPH_PWM1_MODULE,
|
||||
PERIPH_UHCI0_MODULE,
|
||||
PERIPH_UHCI1_MODULE,
|
||||
PERIPH_RMT_MODULE,
|
||||
PERIPH_PCNT_MODULE,
|
||||
PERIPH_SPI_MODULE,
|
||||
PERIPH_HSPI_MODULE,
|
||||
PERIPH_VSPI_MODULE,
|
||||
PERIPH_SPI_DMA_MODULE,
|
||||
PERIPH_SDMMC_MODULE,
|
||||
PERIPH_SDIO_SLAVE_MODULE,
|
||||
PERIPH_TWAI_MODULE,
|
||||
PERIPH_CAN_MODULE = PERIPH_TWAI_MODULE,
|
||||
PERIPH_EMAC_MODULE,
|
||||
PERIPH_RNG_MODULE,
|
||||
PERIPH_WIFI_MODULE,
|
||||
PERIPH_BT_MODULE,
|
||||
PERIPH_WIFI_BT_COMMON_MODULE,
|
||||
PERIPH_BT_BASEBAND_MODULE,
|
||||
PERIPH_BT_LC_MODULE,
|
||||
PERIPH_AES_MODULE,
|
||||
PERIPH_SHA_MODULE,
|
||||
PERIPH_RSA_MODULE,
|
||||
PERIPH_SARADC_MODULE,
|
||||
PERIPH_MODULE_MAX
|
||||
} periph_module_t;
|
||||
} shared_periph_module_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
const lcd_i2s_signal_conn_t lcd_periph_i2s_signals = {
|
||||
.buses = {
|
||||
[0] = {
|
||||
.module = PERIPH_I2S0_MODULE,
|
||||
.irq_id = ETS_I2S0_INTR_SOURCE,
|
||||
.data_sigs = {
|
||||
I2S0O_DATA_OUT0_IDX,
|
||||
@@ -42,7 +41,6 @@ const lcd_i2s_signal_conn_t lcd_periph_i2s_signals = {
|
||||
.wr_sig = I2S0O_WS_OUT_IDX,
|
||||
},
|
||||
[1] = {
|
||||
.module = PERIPH_I2S1_MODULE,
|
||||
.irq_id = ETS_I2S1_INTR_SOURCE,
|
||||
.data_sigs = {
|
||||
I2S1O_DATA_OUT0_IDX,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2020-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -13,32 +13,15 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
PERIPH_LEDC_MODULE = 0,
|
||||
PERIPH_UART0_MODULE,
|
||||
PERIPH_UART1_MODULE,
|
||||
PERIPH_I2C0_MODULE,
|
||||
PERIPH_TIMG0_MODULE,
|
||||
PERIPH_TIMG1_MODULE, //No timg1 on esp32c2, please remove TODO: IDF-3825
|
||||
PERIPH_UHCI0_MODULE,
|
||||
PERIPH_SPI_MODULE, //SPI1
|
||||
PERIPH_SPI2_MODULE, //SPI2
|
||||
PERIPH_RNG_MODULE,
|
||||
PERIPH_WIFI_MODULE,
|
||||
PERIPH_BT_MODULE,
|
||||
PERIPH_WIFI_BT_COMMON_MODULE,
|
||||
PERIPH_BT_BASEBAND_MODULE,
|
||||
PERIPH_BT_LC_MODULE,
|
||||
PERIPH_AES_MODULE,
|
||||
PERIPH_SHA_MODULE,
|
||||
PERIPH_ECC_MODULE,
|
||||
PERIPH_GDMA_MODULE,
|
||||
PERIPH_SYSTIMER_MODULE,
|
||||
PERIPH_SARADC_MODULE,
|
||||
PERIPH_TEMPSENSOR_MODULE,
|
||||
PERIPH_MODEM_RPA_MODULE,
|
||||
PERIPH_ASSIST_DEBUG_MODULE,
|
||||
PERIPH_MODULE_MAX
|
||||
} periph_module_t;
|
||||
} shared_periph_module_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2020-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -13,37 +13,17 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
PERIPH_LEDC_MODULE = 0,
|
||||
PERIPH_UART0_MODULE,
|
||||
PERIPH_UART1_MODULE,
|
||||
PERIPH_USB_DEVICE_MODULE,
|
||||
PERIPH_I2C0_MODULE,
|
||||
PERIPH_I2S0_MODULE,
|
||||
PERIPH_TIMG0_MODULE,
|
||||
PERIPH_TIMG1_MODULE,
|
||||
PERIPH_UHCI0_MODULE,
|
||||
PERIPH_RMT_MODULE,
|
||||
PERIPH_SPI_MODULE, //SPI1
|
||||
PERIPH_SPI2_MODULE, //SPI2
|
||||
PERIPH_TWAI_MODULE,
|
||||
PERIPH_RNG_MODULE,
|
||||
PERIPH_WIFI_MODULE,
|
||||
PERIPH_BT_MODULE,
|
||||
PERIPH_WIFI_BT_COMMON_MODULE,
|
||||
PERIPH_BT_BASEBAND_MODULE,
|
||||
PERIPH_BT_LC_MODULE,
|
||||
PERIPH_RSA_MODULE,
|
||||
PERIPH_AES_MODULE,
|
||||
PERIPH_SHA_MODULE,
|
||||
PERIPH_HMAC_MODULE,
|
||||
PERIPH_DS_MODULE,
|
||||
PERIPH_GDMA_MODULE,
|
||||
PERIPH_SYSTIMER_MODULE,
|
||||
PERIPH_SARADC_MODULE,
|
||||
PERIPH_TEMPSENSOR_MODULE,
|
||||
PERIPH_ASSIST_DEBUG_MODULE,
|
||||
PERIPH_MODULE_MAX
|
||||
} periph_module_t;
|
||||
} shared_periph_module_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
@@ -16,54 +16,10 @@ extern "C" {
|
||||
|
||||
typedef enum {
|
||||
/* HP peripherals */
|
||||
PERIPH_LEDC_MODULE = 0,
|
||||
PERIPH_UART0_MODULE,
|
||||
PERIPH_UART1_MODULE,
|
||||
PERIPH_USB_DEVICE_MODULE, // USB Serial Jtag
|
||||
PERIPH_I2C0_MODULE,
|
||||
PERIPH_I2S_MODULE,
|
||||
PERIPH_TIMG0_MODULE,
|
||||
PERIPH_TIMG1_MODULE,
|
||||
PERIPH_UHCI0_MODULE,
|
||||
PERIPH_RMT_MODULE,
|
||||
PERIPH_PCNT_MODULE,
|
||||
PERIPH_MSPI0_MODULE, //SPI0
|
||||
PERIPH_MSPI1_MODULE, //SPI1
|
||||
PERIPH_GPSPI2_MODULE, //SPI2
|
||||
PERIPH_TWAI0_MODULE,
|
||||
PERIPH_TWAI1_MODULE,
|
||||
PERIPH_RNG_MODULE,
|
||||
PERIPH_RSA_MODULE,
|
||||
PERIPH_AES_MODULE,
|
||||
PERIPH_SHA_MODULE,
|
||||
PERIPH_ECC_MODULE,
|
||||
PERIPH_HMAC_MODULE,
|
||||
PERIPH_DS_MODULE,
|
||||
PERIPH_GDMA_MODULE,
|
||||
PERIPH_MCPWM0_MODULE,
|
||||
PERIPH_ETM_MODULE,
|
||||
PERIPH_PARLIO_MODULE,
|
||||
PERIPH_SYSTIMER_MODULE,
|
||||
PERIPH_SARADC_MODULE,
|
||||
PERIPH_TEMPSENSOR_MODULE,
|
||||
PERIPH_ASSIST_DEBUG_MODULE,
|
||||
PERIPH_INT_MATRIX_MODULE,
|
||||
PERIPH_PVT_MONITOR_MODULE,
|
||||
PERIPH_BITSCRAMBLER_MODULE,
|
||||
PERIPH_KEY_MANAGE_MODULE,
|
||||
PERIPH_ECDSA_MODULE,
|
||||
PERIPH_MEM_MONITOR_MODULE,
|
||||
PERIPH_TEE_MODULE,
|
||||
PERIPH_HP_APM_MODULE,
|
||||
/* LP peripherals */
|
||||
PERIPH_LP_I2C0_MODULE,
|
||||
PERIPH_LP_UART0_MODULE,
|
||||
PERIPH_LP_TEE_MODULE,
|
||||
PERIPH_LP_APM_MODULE,
|
||||
PERIPH_LP_ANA_PERI_MODULE,
|
||||
PERIPH_LP_PERI_MODULE,
|
||||
PERIPH_HUK_MODULE,
|
||||
PERIPH_OTP_DEBUG_MODULE,
|
||||
/* Peripherals clock managed by the modem_clock driver must be listed last in the enumeration */
|
||||
PERIPH_WIFI_MODULE,
|
||||
PERIPH_BT_MODULE,
|
||||
@@ -76,7 +32,7 @@ typedef enum {
|
||||
PERIPH_PHY_CALIBRATION_MODULE,
|
||||
PERIPH_MODULE_MAX
|
||||
/* !!! Don't append soc modules here !!! */
|
||||
} periph_module_t;
|
||||
} shared_periph_module_t;
|
||||
|
||||
#define PERIPH_MODEM_MODULE_MIN PERIPH_WIFI_MODULE
|
||||
#define PERIPH_MODEM_MODULE_MAX PERIPH_PHY_CALIBRATION_MODULE
|
||||
|
||||
@@ -11,7 +11,6 @@ const parlio_signal_conn_t parlio_periph_signals = {
|
||||
.groups = {
|
||||
[0] = {
|
||||
.module_name = "PARLIO0",
|
||||
.module = PERIPH_PARLIO_MODULE,
|
||||
.tx_irq_id = ETS_PARL_IO_TX_INTR_SOURCE,
|
||||
.rx_irq_id = ETS_PARL_IO_RX_INTR_SOURCE,
|
||||
.tx_units = {
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
@@ -14,22 +14,9 @@ extern "C" {
|
||||
|
||||
typedef enum {
|
||||
/* HP peripherals */
|
||||
PERIPH_LEDC_MODULE = 0,
|
||||
PERIPH_UART0_MODULE,
|
||||
PERIPH_UART1_MODULE,
|
||||
PERIPH_USB_DEVICE_MODULE,
|
||||
PERIPH_I2C0_MODULE,
|
||||
PERIPH_I2S0_MODULE,
|
||||
PERIPH_TIMG0_MODULE,
|
||||
PERIPH_TIMG1_MODULE,
|
||||
PERIPH_UHCI0_MODULE,
|
||||
PERIPH_RMT_MODULE,
|
||||
PERIPH_PCNT_MODULE,
|
||||
PERIPH_SPI_MODULE, //SPI1
|
||||
PERIPH_SPI2_MODULE, //SPI2
|
||||
PERIPH_TWAI0_MODULE,
|
||||
PERIPH_TWAI1_MODULE,
|
||||
PERIPH_RNG_MODULE,
|
||||
PERIPH_RSA_MODULE,
|
||||
PERIPH_AES_MODULE,
|
||||
PERIPH_SHA_MODULE,
|
||||
@@ -37,17 +24,9 @@ typedef enum {
|
||||
PERIPH_HMAC_MODULE,
|
||||
PERIPH_DS_MODULE,
|
||||
PERIPH_SDIO_SLAVE_MODULE,
|
||||
PERIPH_GDMA_MODULE,
|
||||
PERIPH_MCPWM0_MODULE,
|
||||
PERIPH_ETM_MODULE,
|
||||
PERIPH_PARLIO_MODULE,
|
||||
PERIPH_SYSTIMER_MODULE,
|
||||
PERIPH_SARADC_MODULE,
|
||||
PERIPH_TEMPSENSOR_MODULE,
|
||||
PERIPH_ASSIST_DEBUG_MODULE,
|
||||
/* LP peripherals */
|
||||
PERIPH_LP_I2C0_MODULE,
|
||||
PERIPH_LP_UART0_MODULE,
|
||||
/* Peripherals clock managed by the modem_clock driver must be listed last in the enumeration */
|
||||
PERIPH_WIFI_MODULE,
|
||||
PERIPH_BT_MODULE,
|
||||
@@ -59,7 +38,7 @@ typedef enum {
|
||||
PERIPH_MODEM_ADC_COMMON_FE_MODULE,
|
||||
PERIPH_MODULE_MAX
|
||||
/* !!! Don't append soc modules here !!! */
|
||||
} periph_module_t;
|
||||
} shared_periph_module_t;
|
||||
|
||||
#define PERIPH_MODEM_MODULE_MIN PERIPH_WIFI_MODULE
|
||||
#define PERIPH_MODEM_MODULE_MAX PERIPH_MODEM_ADC_COMMON_FE_MODULE
|
||||
|
||||
@@ -11,7 +11,6 @@ const parlio_signal_conn_t parlio_periph_signals = {
|
||||
.groups = {
|
||||
[0] = {
|
||||
.module_name = "PARLIO0",
|
||||
.module = PERIPH_PARLIO_MODULE,
|
||||
.tx_irq_id = ETS_PARL_IO_INTR_SOURCE,
|
||||
.rx_irq_id = ETS_PARL_IO_INTR_SOURCE,
|
||||
.tx_units = {
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
@@ -14,25 +14,9 @@ extern "C" {
|
||||
|
||||
typedef enum {
|
||||
/* HP peripherals */
|
||||
PERIPH_LEDC_MODULE = 0,
|
||||
PERIPH_UART0_MODULE,
|
||||
PERIPH_UART1_MODULE,
|
||||
PERIPH_USB_DEVICE_MODULE,
|
||||
PERIPH_I2C0_MODULE,
|
||||
PERIPH_I2S1_MODULE,
|
||||
PERIPH_TIMG0_MODULE,
|
||||
PERIPH_TIMG1_MODULE,
|
||||
PERIPH_SPI_MODULE, //SPI1
|
||||
PERIPH_SPI2_MODULE, //SPI2
|
||||
PERIPH_RNG_MODULE,
|
||||
PERIPH_SHA_MODULE,
|
||||
PERIPH_ECC_MODULE,
|
||||
PERIPH_GDMA_MODULE,
|
||||
PERIPH_ETM_MODULE,
|
||||
PERIPH_SYSTIMER_MODULE,
|
||||
PERIPH_SARADC_MODULE,
|
||||
PERIPH_TEMPSENSOR_MODULE,
|
||||
PERIPH_ASSIST_DEBUG_MODULE,
|
||||
/* Peripherals clock managed by the modem_clock driver must be listed last in the enumeration */
|
||||
PERIPH_WIFI_MODULE,
|
||||
PERIPH_BT_MODULE,
|
||||
@@ -45,7 +29,7 @@ typedef enum {
|
||||
PERIPH_PHY_CALIBRATION_MODULE,
|
||||
PERIPH_MODULE_MAX
|
||||
/* !!! Don't append soc modules here !!! */
|
||||
} periph_module_t;
|
||||
} shared_periph_module_t;
|
||||
|
||||
#define PERIPH_MODEM_MODULE_MIN PERIPH_WIFI_MODULE
|
||||
#define PERIPH_MODEM_MODULE_MAX PERIPH_PHY_CALIBRATION_MODULE
|
||||
|
||||
@@ -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,22 +13,9 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
PERIPH_LEDC_MODULE = 0,
|
||||
PERIPH_UART0_MODULE,
|
||||
PERIPH_UART1_MODULE,
|
||||
PERIPH_USB_DEVICE_MODULE,
|
||||
PERIPH_I2C0_MODULE,
|
||||
PERIPH_I2C1_MODULE,
|
||||
PERIPH_I2S0_MODULE,
|
||||
PERIPH_TIMG0_MODULE,
|
||||
PERIPH_TIMG1_MODULE,
|
||||
PERIPH_UHCI0_MODULE,
|
||||
PERIPH_RMT_MODULE,
|
||||
PERIPH_PCNT_MODULE,
|
||||
PERIPH_SPI_MODULE, //SPI1
|
||||
PERIPH_SPI2_MODULE, //SPI2
|
||||
PERIPH_TWAI0_MODULE,
|
||||
PERIPH_RNG_MODULE,
|
||||
PERIPH_RSA_MODULE,
|
||||
PERIPH_AES_MODULE,
|
||||
PERIPH_SHA_MODULE,
|
||||
@@ -36,13 +23,8 @@ typedef enum {
|
||||
PERIPH_HMAC_MODULE,
|
||||
PERIPH_DS_MODULE,
|
||||
PERIPH_ECDSA_MODULE,
|
||||
PERIPH_GDMA_MODULE,
|
||||
PERIPH_MCPWM0_MODULE,
|
||||
PERIPH_ETM_MODULE,
|
||||
PERIPH_PARLIO_MODULE,
|
||||
PERIPH_SYSTIMER_MODULE,
|
||||
PERIPH_SARADC_MODULE,
|
||||
PERIPH_TEMPSENSOR_MODULE,
|
||||
PERIPH_ASSIST_DEBUG_MODULE,
|
||||
/* Peripherals clock managed by the modem_clock driver must be listed last in the enumeration */
|
||||
PERIPH_BT_MODULE,
|
||||
@@ -54,7 +36,7 @@ typedef enum {
|
||||
PERIPH_MODEM_ADC_COMMON_FE_MODULE,
|
||||
PERIPH_MODULE_MAX
|
||||
/* !!! Don't append soc modules here !!! */
|
||||
} periph_module_t;
|
||||
} shared_periph_module_t;
|
||||
|
||||
#define PERIPH_MODEM_MODULE_MIN PERIPH_BT_MODULE
|
||||
#define PERIPH_MODEM_MODULE_MAX PERIPH_MODEM_ADC_COMMON_FE_MODULE
|
||||
|
||||
@@ -11,7 +11,6 @@ const parlio_signal_conn_t parlio_periph_signals = {
|
||||
.groups = {
|
||||
[0] = {
|
||||
.module_name = "PARLIO0",
|
||||
.module = PERIPH_PARLIO_MODULE,
|
||||
.tx_irq_id = ETS_PARL_IO_TX_INTR_SOURCE,
|
||||
.rx_irq_id = ETS_PARL_IO_RX_INTR_SOURCE,
|
||||
.tx_units = {
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
@@ -14,37 +14,10 @@ extern "C" {
|
||||
|
||||
// TODO: IDF-11855
|
||||
typedef enum {
|
||||
PERIPH_LEDC_MODULE = 0,
|
||||
PERIPH_UART0_MODULE,
|
||||
PERIPH_UART1_MODULE,
|
||||
PERIPH_USB_DEVICE_MODULE,
|
||||
PERIPH_I2C0_MODULE,
|
||||
PERIPH_I2C1_MODULE,
|
||||
PERIPH_I2S1_MODULE,
|
||||
PERIPH_TIMG0_MODULE,
|
||||
PERIPH_TIMG1_MODULE,
|
||||
PERIPH_UHCI0_MODULE,
|
||||
PERIPH_RMT_MODULE,
|
||||
PERIPH_PCNT_MODULE,
|
||||
PERIPH_SPI_MODULE, //SPI1
|
||||
PERIPH_SPI2_MODULE, //SPI2
|
||||
PERIPH_TWAI0_MODULE,
|
||||
PERIPH_RNG_MODULE,
|
||||
PERIPH_RSA_MODULE,
|
||||
PERIPH_AES_MODULE,
|
||||
PERIPH_SHA_MODULE,
|
||||
PERIPH_ECC_MODULE,
|
||||
PERIPH_HMAC_MODULE,
|
||||
PERIPH_DS_MODULE,
|
||||
PERIPH_ECDSA_MODULE,
|
||||
PERIPH_GDMA_MODULE,
|
||||
PERIPH_MCPWM0_MODULE,
|
||||
PERIPH_ETM_MODULE,
|
||||
PERIPH_PARLIO_MODULE,
|
||||
PERIPH_SYSTIMER_MODULE,
|
||||
PERIPH_SARADC_MODULE,
|
||||
PERIPH_TEMPSENSOR_MODULE,
|
||||
PERIPH_ASSIST_DEBUG_MODULE,
|
||||
/* Peripherals clock managed by the modem_clock driver must be listed last in the enumeration */
|
||||
PERIPH_BT_MODULE,
|
||||
PERIPH_IEEE802154_MODULE,
|
||||
@@ -55,7 +28,7 @@ typedef enum {
|
||||
PERIPH_MODEM_ADC_COMMON_FE_MODULE,
|
||||
PERIPH_MODULE_MAX
|
||||
/* !!! Don't append soc modules here !!! */
|
||||
} periph_module_t;
|
||||
} shared_periph_module_t;
|
||||
|
||||
#define PERIPH_MODEM_MODULE_MIN PERIPH_BT_MODULE
|
||||
#define PERIPH_MODEM_MODULE_MAX PERIPH_MODEM_ADC_COMMON_FE_MODULE
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
@@ -14,42 +14,10 @@ extern "C" {
|
||||
|
||||
typedef enum {
|
||||
/* HP peripherals */
|
||||
PERIPH_LEDC_MODULE = 0,
|
||||
PERIPH_UART0_MODULE,
|
||||
PERIPH_UART1_MODULE,
|
||||
PERIPH_USB_DEVICE_MODULE,
|
||||
PERIPH_I2C0_MODULE,
|
||||
PERIPH_I2C1_MODULE,
|
||||
PERIPH_I2S1_MODULE,
|
||||
PERIPH_TIMG0_MODULE,
|
||||
PERIPH_TIMG1_MODULE,
|
||||
PERIPH_UHCI0_MODULE,
|
||||
PERIPH_RMT_MODULE,
|
||||
PERIPH_PCNT_MODULE,
|
||||
PERIPH_SPI_MODULE, //SPI1
|
||||
PERIPH_SPI2_MODULE, //SPI2
|
||||
PERIPH_TWAI0_MODULE,
|
||||
PERIPH_TWAI1_MODULE,
|
||||
PERIPH_RNG_MODULE,
|
||||
PERIPH_AES_MODULE,
|
||||
PERIPH_SHA_MODULE,
|
||||
PERIPH_ECC_MODULE,
|
||||
PERIPH_HMAC_MODULE,
|
||||
PERIPH_DS_MODULE,
|
||||
PERIPH_SDIO_SLAVE_MODULE,
|
||||
PERIPH_GDMA_MODULE,
|
||||
PERIPH_MCPWM0_MODULE,
|
||||
PERIPH_MCPWM1_MODULE,
|
||||
PERIPH_ETM_MODULE,
|
||||
PERIPH_PARLIO_MODULE,
|
||||
PERIPH_SYSTIMER_MODULE,
|
||||
PERIPH_SARADC_MODULE,
|
||||
PERIPH_TEMPSENSOR_MODULE,
|
||||
PERIPH_REGDMA_MODULE,
|
||||
PERIPH_ASSIST_DEBUG_MODULE,
|
||||
/* LP peripherals */
|
||||
PERIPH_LP_I2C0_MODULE,
|
||||
PERIPH_LP_UART0_MODULE,
|
||||
/* Peripherals clock managed by the modem_clock driver must be listed last in the enumeration */
|
||||
PERIPH_BT_MODULE,
|
||||
PERIPH_IEEE802154_MODULE,
|
||||
@@ -60,7 +28,7 @@ typedef enum {
|
||||
PERIPH_MODEM_ADC_COMMON_FE_MODULE,
|
||||
PERIPH_MODULE_MAX
|
||||
/* !!! Don't append soc modules here !!! */
|
||||
} periph_module_t;
|
||||
} shared_periph_module_t;
|
||||
|
||||
#define PERIPH_MODEM_MODULE_MIN PERIPH_BT_MODULE
|
||||
#define PERIPH_MODEM_MODULE_MAX PERIPH_MODEM_ADC_COMMON_FE_MODULE
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
const gdma_signal_conn_t gdma_periph_signals = {
|
||||
.groups = {
|
||||
[0] = {
|
||||
.module = PERIPH_AHB_PDMA_MODULE,
|
||||
.pairs = {
|
||||
[0] = {
|
||||
.rx_irq_id = ETS_AHB_PDMA_IN_CH0_INTR_SOURCE,
|
||||
@@ -28,7 +27,6 @@ const gdma_signal_conn_t gdma_periph_signals = {
|
||||
}
|
||||
},
|
||||
[1] = {
|
||||
.module = PERIPH_AXI_PDMA_MODULE,
|
||||
.pairs = {
|
||||
[0] = {
|
||||
.rx_irq_id = ETS_AXI_PDMA_IN_CH0_INTR_SOURCE,
|
||||
|
||||
@@ -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,72 +13,14 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
PERIPH_MSPI_FLASH_MODULE = 0,
|
||||
PERIPH_MSPI_PSRAM_MODULE,
|
||||
PERIPH_EMAC_MODULE,
|
||||
PERIPH_MIPI_DSI_MODULE,
|
||||
PERIPH_MIPI_CSI_MODULE,
|
||||
PERIPH_I2C0_MODULE,
|
||||
PERIPH_I2C1_MODULE,
|
||||
PERIPH_I2S0_MODULE,
|
||||
PERIPH_I2S1_MODULE,
|
||||
PERIPH_I2S2_MODULE,
|
||||
|
||||
PERIPH_LCD_CAM_MODULE = 10,
|
||||
PERIPH_UART0_MODULE,
|
||||
PERIPH_UART1_MODULE,
|
||||
PERIPH_UART2_MODULE,
|
||||
PERIPH_UART3_MODULE,
|
||||
PERIPH_UART4_MODULE,
|
||||
PERIPH_TWAI0_MODULE,
|
||||
PERIPH_TWAI1_MODULE,
|
||||
PERIPH_TWAI2_MODULE,
|
||||
PERIPH_GPSPI_MODULE,
|
||||
|
||||
PERIPH_GPSPI2_MODULE = 20,
|
||||
PERIPH_GPSPI3_MODULE,
|
||||
PERIPH_PARLIO_MODULE,
|
||||
PERIPH_I3C_MODULE,
|
||||
PERIPH_MCPWM0_MODULE,
|
||||
PERIPH_MCPWM1_MODULE,
|
||||
PERIPH_LCD_CAM_MODULE,
|
||||
PERIPH_TIMG0_MODULE,
|
||||
PERIPH_TIMG1_MODULE,
|
||||
PERIPH_SYSTIMER_MODULE,
|
||||
|
||||
PERIPH_LEDC_MODULE = 30,
|
||||
PERIPH_RMT_MODULE,
|
||||
PERIPH_SARADC_MODULE,
|
||||
PERIPH_PVT_MODULE,
|
||||
PERIPH_AES_MODULE,
|
||||
PERIPH_DS_MODULE,
|
||||
PERIPH_ECC_MODULE,
|
||||
PERIPH_HMAC_MODULE,
|
||||
PERIPH_RSA_MODULE,
|
||||
PERIPH_SEC_MODULE,
|
||||
|
||||
PERIPH_SHA_MODULE = 40,
|
||||
PERIPH_ECDSA_MODULE,
|
||||
PERIPH_ISP_MODULE,
|
||||
PERIPH_SDMMC_MODULE,
|
||||
PERIPH_GDMA_MODULE,
|
||||
PERIPH_JPEG_MODULE,
|
||||
PERIPH_DMA2D_MODULE,
|
||||
PERIPH_PPA_MODULE,
|
||||
PERIPH_AHB_PDMA_MODULE,
|
||||
PERIPH_AXI_PDMA_MODULE,
|
||||
PERIPH_UHCI_MODULE,
|
||||
PERIPH_PCNT_MODULE,
|
||||
PERIPH_ASSIST_DEBUG_MODULE,
|
||||
PERIPH_BITSCRAMBLER_MODULE,
|
||||
/* LP peripherals */
|
||||
PERIPH_LP_I2C0_MODULE,
|
||||
PERIPH_LP_UART0_MODULE,
|
||||
|
||||
/* MISC */
|
||||
PERIPH_ANA_I2C_MASTER_MODULE,
|
||||
|
||||
PERIPH_MODULE_MAX
|
||||
} periph_module_t;
|
||||
} shared_periph_module_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@ const parlio_signal_conn_t parlio_periph_signals = {
|
||||
.groups = {
|
||||
[0] = {
|
||||
.module_name = "PARLIO0",
|
||||
.module = PERIPH_PARLIO_MODULE,
|
||||
.tx_irq_id = ETS_HP_PARLIO_TX_INTR_SOURCE,
|
||||
.rx_irq_id = ETS_HP_PARLIO_RX_INTR_SOURCE,
|
||||
.tx_units = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -13,40 +13,17 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
PERIPH_LEDC_MODULE = 0,
|
||||
PERIPH_UART0_MODULE,
|
||||
PERIPH_UART1_MODULE,
|
||||
PERIPH_USB_MODULE,
|
||||
PERIPH_I2C0_MODULE,
|
||||
PERIPH_I2C1_MODULE,
|
||||
PERIPH_I2S0_MODULE,
|
||||
PERIPH_TIMG0_MODULE,
|
||||
PERIPH_TIMG1_MODULE,
|
||||
PERIPH_UHCI0_MODULE,
|
||||
PERIPH_UHCI1_MODULE,
|
||||
PERIPH_RMT_MODULE,
|
||||
PERIPH_PCNT_MODULE,
|
||||
PERIPH_SPI_MODULE, //SPI1
|
||||
PERIPH_FSPI_MODULE, //SPI2
|
||||
PERIPH_HSPI_MODULE, //SPI3
|
||||
PERIPH_SPI2_DMA_MODULE,
|
||||
PERIPH_SPI3_DMA_MODULE,
|
||||
PERIPH_TWAI_MODULE,
|
||||
PERIPH_RNG_MODULE,
|
||||
PERIPH_WIFI_MODULE,
|
||||
PERIPH_WIFI_BT_COMMON_MODULE,
|
||||
PERIPH_SYSTIMER_MODULE,
|
||||
PERIPH_AES_MODULE,
|
||||
PERIPH_SHA_MODULE,
|
||||
PERIPH_RSA_MODULE,
|
||||
PERIPH_CRYPTO_DMA_MODULE, //this DMA is shared between AES and SHA
|
||||
PERIPH_AES_DMA_MODULE,
|
||||
PERIPH_SHA_DMA_MODULE,
|
||||
PERIPH_DEDIC_GPIO_MODULE,
|
||||
PERIPH_SARADC_MODULE,
|
||||
PERIPH_TEMPSENSOR_MODULE,
|
||||
PERIPH_MODULE_MAX
|
||||
} periph_module_t;
|
||||
} shared_periph_module_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
const lcd_i2s_signal_conn_t lcd_periph_i2s_signals = {
|
||||
.buses = {
|
||||
[0] = {
|
||||
.module = PERIPH_I2S0_MODULE,
|
||||
.irq_id = ETS_I2S0_INTR_SOURCE,
|
||||
.data_sigs = {
|
||||
I2S0O_DATA_OUT0_IDX,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -13,49 +13,19 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
PERIPH_LEDC_MODULE = 0,
|
||||
PERIPH_UART0_MODULE,
|
||||
PERIPH_UART1_MODULE,
|
||||
PERIPH_UART2_MODULE,
|
||||
PERIPH_USB_MODULE,
|
||||
PERIPH_I2C0_MODULE,
|
||||
PERIPH_I2C1_MODULE,
|
||||
PERIPH_I2S0_MODULE,
|
||||
PERIPH_I2S1_MODULE,
|
||||
PERIPH_LCD_CAM_MODULE,
|
||||
PERIPH_TIMG0_MODULE,
|
||||
PERIPH_TIMG1_MODULE,
|
||||
PERIPH_PWM0_MODULE,
|
||||
PERIPH_PWM1_MODULE,
|
||||
PERIPH_PWM2_MODULE,
|
||||
PERIPH_PWM3_MODULE,
|
||||
PERIPH_UHCI0_MODULE,
|
||||
PERIPH_UHCI1_MODULE,
|
||||
PERIPH_RMT_MODULE,
|
||||
PERIPH_PCNT_MODULE,
|
||||
PERIPH_SPI_MODULE,
|
||||
PERIPH_SPI2_MODULE,
|
||||
PERIPH_SPI3_MODULE,
|
||||
PERIPH_SDMMC_MODULE,
|
||||
PERIPH_TWAI_MODULE,
|
||||
PERIPH_RNG_MODULE,
|
||||
PERIPH_WIFI_MODULE,
|
||||
PERIPH_BT_MODULE,
|
||||
PERIPH_WIFI_BT_COMMON_MODULE,
|
||||
PERIPH_BT_BASEBAND_MODULE,
|
||||
PERIPH_BT_LC_MODULE,
|
||||
PERIPH_AES_MODULE,
|
||||
PERIPH_SHA_MODULE,
|
||||
PERIPH_HMAC_MODULE,
|
||||
PERIPH_DS_MODULE,
|
||||
PERIPH_RSA_MODULE,
|
||||
PERIPH_SYSTIMER_MODULE,
|
||||
PERIPH_GDMA_MODULE,
|
||||
PERIPH_DEDIC_GPIO_MODULE,
|
||||
PERIPH_SARADC_MODULE,
|
||||
PERIPH_TEMPSENSOR_MODULE,
|
||||
PERIPH_MODULE_MAX
|
||||
} periph_module_t;
|
||||
} shared_periph_module_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ extern "C" {
|
||||
#if SOC_LCDCAM_CAM_SUPPORTED
|
||||
typedef struct {
|
||||
struct {
|
||||
const periph_module_t module;
|
||||
const shared_periph_module_t module;
|
||||
const int irq_id;
|
||||
const int data_sigs[SOC_LCDCAM_CAM_DATA_WIDTH_MAX];
|
||||
const int hsync_sig;
|
||||
|
||||
@@ -20,7 +20,7 @@ extern "C" {
|
||||
#if SOC_GDMA_SUPPORTED
|
||||
typedef struct {
|
||||
struct {
|
||||
const periph_module_t module;
|
||||
const shared_periph_module_t module;
|
||||
struct {
|
||||
const int rx_irq_id;
|
||||
const int tx_irq_id;
|
||||
|
||||
@@ -15,7 +15,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
const periph_module_t module; // peripheral module
|
||||
const shared_periph_module_t module; // peripheral module
|
||||
const int irq_id; // interrupt source ID
|
||||
} ieee802154_conn_t;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -17,7 +17,7 @@ extern "C" {
|
||||
#if SOC_LCDCAM_I80_LCD_SUPPORTED
|
||||
typedef struct {
|
||||
struct {
|
||||
const periph_module_t module;
|
||||
const shared_periph_module_t module;
|
||||
const int irq_id;
|
||||
const int data_sigs[SOC_LCDCAM_I80_BUS_WIDTH];
|
||||
const int cs_sig;
|
||||
@@ -32,7 +32,7 @@ extern const lcd_i80_signal_conn_t lcd_periph_i80_signals;
|
||||
#if SOC_LCDCAM_RGB_LCD_SUPPORTED
|
||||
typedef struct {
|
||||
struct {
|
||||
const periph_module_t module;
|
||||
const shared_periph_module_t module;
|
||||
const int irq_id;
|
||||
const int data_sigs[SOC_LCDCAM_RGB_DATA_WIDTH];
|
||||
const int hsync_sig;
|
||||
@@ -49,7 +49,6 @@ extern const lcd_rgb_signal_conn_t lcd_periph_rgb_signals;
|
||||
#if SOC_I2S_SUPPORTS_LCD_CAMERA
|
||||
typedef struct {
|
||||
struct {
|
||||
const periph_module_t module;
|
||||
const int irq_id;
|
||||
const int data_sigs[SOC_MODULE_ATTR(I2S, MAX_DATA_WIDTH)];
|
||||
const int wr_sig;
|
||||
|
||||
@@ -38,7 +38,7 @@ typedef struct {
|
||||
} rx_units[SOC_PARLIO_RX_UNITS_PER_GROUP];
|
||||
const int tx_irq_id;
|
||||
const int rx_irq_id;
|
||||
const periph_module_t module;
|
||||
const shared_periph_module_t module;
|
||||
const char *module_name;
|
||||
} groups[SOC_PARLIO_GROUPS];
|
||||
} parlio_signal_conn_t;
|
||||
|
||||
Reference in New Issue
Block a user