Zephyr Project API 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
esp32h2_clock.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025 Espressif Systems (Shanghai) Co., Ltd.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32H2_H_
8#define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32H2_H_
9
10/* Supported CPU clock Sources */
11#define ESP32_CPU_CLK_SRC_XTAL 0U
12#define ESP32_CPU_CLK_SRC_PLL 1U
13#define ESP32_CLK_SRC_RC_FAST 2U
14#define ESP32_CPU_CLK_SRC_FLASH_PLL 3U
15
16/* Supported CPU frequencies */
17#define ESP32_CLK_CPU_PLL_48M 48000000
18#define ESP32_CLK_CPU_FLASH_PLL_64M 64000000
19#define ESP32_CLK_CPU_PLL_96M 96000000
20#define ESP32_CLK_CPU_RC_FAST_FREQ 8500000
21
22/* Supported XTAL Frequencies */
23#define ESP32_CLK_XTAL_32M 32000000
24
25/* Supported RTC fast clock sources */
26#define ESP32_RTC_FAST_CLK_SRC_RC_FAST 0
27#define ESP32_RTC_FAST_CLK_SRC_XTAL_D2 1
28
29/* Supported RTC slow clock frequencies */
30#define ESP32_RTC_SLOW_CLK_SRC_RC_SLOW 0
31#define ESP32_RTC_SLOW_CLK_SRC_XTAL32K 1
32#define ESP32_RTC_SLOW_CLK_SRC_RC32K 2
33#define ESP32_RTC_SLOW_CLK_32K_EXT_OSC 9
34
35/* RTC slow clock frequencies */
36#define ESP32_RTC_SLOW_CLK_SRC_RC_SLOW_FREQ 136000
37#define ESP32_RTC_SLOW_CLK_SRC_XTAL32K_FREQ 32768
38#define ESP32_RTC_SLOW_CLK_SRC_RC32K_FREQ 32768
39
40/* Shared module IDs - must match shared_periph_module_t enum in periph_defs.h
41 * These are used by the clock control driver to identify peripheral modules.
42 */
43#define ESP32_TIMG0_MODULE 0
44#define ESP32_TIMG1_MODULE 1
45#define ESP32_UHCI0_MODULE 2
46#define ESP32_SYSTIMER_MODULE 3
47/* Peripherals clock managed by the modem_clock driver must be listed last */
48#define ESP32_BT_MODULE 4
49#define ESP32_IEEE802154_MODULE 5
50#define ESP32_COEX_MODULE 6
51#define ESP32_PHY_MODULE 7
52#define ESP32_ANA_I2C_MASTER_MODULE 8
53#define ESP32_MODEM_ETM_MODULE 9
54#define ESP32_MODEM_ADC_COMMON_FE_MODULE 10
55#define ESP32_PHY_CALIBRATION_MODULE 11
56#define ESP32_MODULE_MAX 12
57
58/* Non-shared peripherals - these have dedicated clock control in their drivers
59 * and don't use periph_module_enable(). Values start at 100.
60 */
61#define ESP32_LEDC_MODULE 100
62#define ESP32_UART0_MODULE 101
63#define ESP32_UART1_MODULE 102
64#define ESP32_USB_DEVICE_MODULE 103
65#define ESP32_I2C0_MODULE 104
66#define ESP32_I2C1_MODULE 105
67#define ESP32_I2S1_MODULE 106
68#define ESP32_RMT_MODULE 107
69#define ESP32_PCNT_MODULE 108
70#define ESP32_SPI_MODULE 109
71#define ESP32_SPI2_MODULE 110
72#define ESP32_TWAI0_MODULE 111
73#define ESP32_RNG_MODULE 112
74#define ESP32_GDMA_MODULE 113
75#define ESP32_MCPWM0_MODULE 114
76#define ESP32_ETM_MODULE 115
77#define ESP32_PARLIO_MODULE 116
78#define ESP32_TEMPSENSOR_MODULE 117
79#define ESP32_REGDMA_MODULE 118
80#define ESP32_SARADC_MODULE 119
81#define ESP32_RSA_MODULE 120
82#define ESP32_AES_MODULE 121
83#define ESP32_SHA_MODULE 122
84#define ESP32_ECC_MODULE 123
85#define ESP32_HMAC_MODULE 124
86#define ESP32_DS_MODULE 125
87#define ESP32_ECDSA_MODULE 126
88#define ESP32_ASSIST_DEBUG_MODULE 127
89
90#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32H2_H_ */