Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
esp32p4_clock.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Espressif Systems (Shanghai) Co., Ltd.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
14
15#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32P4_H_
16#define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32P4_H_
17
18/* Supported CPU clock Sources
19 * Derived from components/soc/esp32p4/include/soc/clk_tree_defs.h
20 */
21#define ESP32_CPU_CLK_SRC_XTAL 0U
22#define ESP32_CPU_CLK_SRC_PLL 1U
23#define ESP32_CLK_SRC_RC_FAST 2U
24
25/* Supported CPU frequencies (from CPLL 400MHz, ECO5+) */
26#define ESP32_CLK_CPU_PLL_100M 100000000
27#define ESP32_CLK_CPU_PLL_200M 200000000
28#define ESP32_CLK_CPU_PLL_400M 400000000
29#define ESP32_CLK_CPU_RC_FAST_FREQ 17500000
30
31/* Supported XTAL Frequency */
32#define ESP32_CLK_XTAL_40M 40000000
33
34/* Supported RTC fast clock sources */
35#define ESP32_RTC_FAST_CLK_SRC_RC_FAST 0
36#define ESP32_RTC_FAST_CLK_SRC_XTAL 1
37#define ESP32_RTC_FAST_CLK_SRC_LP_PLL 2
38
39/* RTC fast clock frequencies */
40#define ESP32_RTC_FAST_CLK_SRC_LP_PLL_FREQ 8000000
41
42/* Supported RTC slow clock sources */
43#define ESP32_RTC_SLOW_CLK_SRC_RC_SLOW 0
44#define ESP32_RTC_SLOW_CLK_SRC_XTAL32K 1
45#define ESP32_RTC_SLOW_CLK_SRC_RC32K 2
46#define ESP32_RTC_SLOW_CLK_32K_EXT_OSC 9
47
48/* RTC slow clock frequencies */
49#define ESP32_RTC_SLOW_CLK_SRC_RC_SLOW_FREQ 136000
50#define ESP32_RTC_SLOW_CLK_SRC_XTAL32K_FREQ 32768
51#define ESP32_RTC_SLOW_CLK_SRC_RC32K_FREQ 32768
52
53/* Shared module IDs - must match shared_periph_module_t enum in periph_defs.h */
54#define ESP32_TIMG0_MODULE 1
55#define ESP32_TIMG1_MODULE 2
56#define ESP32_SYSTIMER_MODULE 3
57#define ESP32_MODULE_MAX 4
58
59/* Non-shared peripherals - values start at 100 */
60#define ESP32_LEDC_MODULE 100
61#define ESP32_UART0_MODULE 101
62#define ESP32_UART1_MODULE 102
63#define ESP32_UART2_MODULE 103
64#define ESP32_UART3_MODULE 104
65#define ESP32_UART4_MODULE 105
66#define ESP32_USB_MODULE 106
67#define ESP32_I2C0_MODULE 107
68#define ESP32_I2C1_MODULE 108
69#define ESP32_I2S0_MODULE 109
70#define ESP32_I2S1_MODULE 110
71#define ESP32_I2S2_MODULE 111
72#define ESP32_RMT_MODULE 112
73#define ESP32_PCNT_MODULE 113
74#define ESP32_SPI2_MODULE 114
75#define ESP32_SPI3_MODULE 115
76#define ESP32_TWAI0_MODULE 116
77#define ESP32_TWAI1_MODULE 117
78#define ESP32_TWAI2_MODULE 118
79#define ESP32_RNG_MODULE 119
80#define ESP32_GDMA_MODULE 120
81#define ESP32_MCPWM0_MODULE 121
82#define ESP32_MCPWM1_MODULE 122
83#define ESP32_ETM_MODULE 123
84#define ESP32_PARLIO_MODULE 124
85#define ESP32_TEMPSENSOR_MODULE 125
86#define ESP32_SARADC_MODULE 126
87#define ESP32_RSA_MODULE 127
88#define ESP32_AES_MODULE 128
89#define ESP32_SHA_MODULE 129
90#define ESP32_ECC_MODULE 130
91#define ESP32_HMAC_MODULE 131
92#define ESP32_DS_MODULE 132
93#define ESP32_ASSIST_DEBUG_MODULE 133
94#define ESP32_EMAC_MODULE 134
95#define ESP32_USB_OTG_MODULE 135
96#define ESP32_SDMMC_MODULE 136
97/* LP peripherals */
98#define ESP32_LP_I2C0_MODULE 137
99#define ESP32_LP_UART0_MODULE 138
100
101#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32P4_H_ */