Zephyr Project API 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
esp32c2_clock.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32C2_H_
8#define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32C2_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
15/* Supported CPU frequencies */
16#define ESP32_CLK_CPU_PLL_40M 40000000
17#define ESP32_CLK_CPU_PLL_60M 60000000
18#define ESP32_CLK_CPU_PLL_80M 80000000
19#define ESP32_CLK_CPU_PLL_120M 120000000
20#define ESP32_CLK_CPU_RC_FAST_FREQ 8750000
21
22/* Supported XTAL frequencies */
23#define ESP32_CLK_XTAL_26M 26000000
24#define ESP32_CLK_XTAL_32M 32000000
25#define ESP32_CLK_XTAL_40M 40000000
26
27/* Supported RTC fast clock sources */
28#define ESP32_RTC_FAST_CLK_SRC_XTAL_D2 0
29#define ESP32_RTC_FAST_CLK_SRC_RC_FAST 1
30
31/* Supported RTC slow clock sources */
32#define ESP32_RTC_SLOW_CLK_SRC_RC_SLOW 0
33#define ESP32_RTC_SLOW_CLK_SRC_OSC_SLOW 1
34#define ESP32_RTC_SLOW_CLK_SRC_RC_FAST_D256 2
35
36/* RTC slow clock frequencies */
37#define ESP32_RTC_SLOW_CLK_SRC_RC_SLOW_FREQ 136000
38#define ESP32_RTC_SLOW_CLK_SRC_OSC_SLOW_FREQ 32768
39#define ESP32_RTC_SLOW_CLK_SRC_RC_FAST_D256_FREQ 68359
40
41/* Modules IDs
42 * These are used by the clock control driver to identify peripheral modules.
43 */
44#define ESP32_TIMG0_MODULE 0
45#define ESP32_UHCI0_MODULE 1
46#define ESP32_RNG_MODULE 2
47#define ESP32_WIFI_MODULE 3
48#define ESP32_BT_MODULE 4
49#define ESP32_WIFI_BT_COMMON_MODULE 5
50#define ESP32_SYSTIMER_MODULE 6
51#define ESP32_PHY_CALIBRATION_MODULE 7
52#define ESP32_COEX_MODULE 8
53#define ESP32_MODULE_MAX 9
54
55/* Non-shared peripherals - these have dedicated clock control in their drivers
56 * and don't use periph_module_enable(). Values start after MODULE_MAX.
57 */
58#define ESP32_LEDC_MODULE 100
59#define ESP32_UART0_MODULE 101
60#define ESP32_UART1_MODULE 102
61#define ESP32_I2C0_MODULE 103
62#define ESP32_TIMG1_MODULE 104
63#define ESP32_SPI_MODULE 105
64#define ESP32_SPI2_MODULE 106
65#define ESP32_BT_BASEBAND_MODULE 107
66#define ESP32_BT_LC_MODULE 108
67#define ESP32_AES_MODULE 109
68#define ESP32_SHA_MODULE 110
69#define ESP32_ECC_MODULE 111
70#define ESP32_GDMA_MODULE 112
71#define ESP32_SARADC_MODULE 113
72#define ESP32_TEMPSENSOR_MODULE 114
73#define ESP32_MODEM_RPA_MODULE 115
74
75#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32C2_H_ */