Zephyr API Documentation  3.0.0
A Scalable Open Source RTOS
3.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
esp32_clock.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2020 Mohamed ElShahawi
3 * Copyright (c) 2021 Espressif Systems (Shanghai) Co., Ltd.
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7
8#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32_H_
9#define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32_H_
10
11/* System Clock Source */
12#define ESP32_CLK_SRC_XTAL 0U
13#define ESP32_CLK_SRC_PLL 1U
14#define ESP32_CLK_SRC_RTC8M 2U
15#define ESP32_CLK_SRC_APLL 3U
16
17/* Supported CPU Frequencies */
18#define ESP32_CLK_CPU_26M 26U
19#define ESP32_CLK_CPU_40M 40U
20#define ESP32_CLK_CPU_80M 80U
21#define ESP32_CLK_CPU_160M 160U
22#define ESP32_CLK_CPU_240M 240U
23
24/* Supported XTAL Frequencies */
25#define ESP32_CLK_XTAL_24M 0U
26#define ESP32_CLK_XTAL_26M 1U
27#define ESP32_CLK_XTAL_40M 2U
28#define ESP32_CLK_XTAL_AUTO 3U
29
30/* Modules IDs
31 * These IDs are actually offsets in CLK and RST Control registers.
32 * These IDs shouldn't be changed unless there is a Hardware change
33 * from Espressif.
34 *
35 * Basic Modules
36 * Registers: DPORT_PERIP_CLK_EN_REG, DPORT_PERIP_RST_EN_REG
37 */
38#define ESP32_LEDC_MODULE 0
39#define ESP32_UART0_MODULE 1
40#define ESP32_UART1_MODULE 2
41#define ESP32_UART2_MODULE 3
42#define ESP32_I2C0_MODULE 4
43#define ESP32_I2C1_MODULE 5
44#define ESP32_I2S0_MODULE 6
45#define ESP32_I2S1_MODULE 7
46#define ESP32_TIMG0_MODULE 8
47#define ESP32_TIMG1_MODULE 9
48#define ESP32_PWM0_MODULE 10
49#define ESP32_PWM1_MODULE 11
50#define ESP32_PWM2_MODULE 12
51#define ESP32_PWM3_MODULE 13
52#define ESP32_UHCI0_MODULE 14
53#define ESP32_UHCI1_MODULE 15
54#define ESP32_RMT_MODULE 16
55#define ESP32_PCNT_MODULE 17
56#define ESP32_SPI_MODULE 18
57#define ESP32_HSPI_MODULE 19
58#define ESP32_VSPI_MODULE 20
59#define ESP32_SPI_DMA_MODULE 21
60#define ESP32_SDMMC_MODULE 22
61#define ESP32_SDIO_SLAVE_MODULE 23
62#define ESP32_TWAI_MODULE 24
63#define ESP32_CAN_MODULE ESP32_TWAI_MODULE
64#define ESP32_EMAC_MODULE 25
65#define ESP32_RNG_MODULE 26
66#define ESP32_WIFI_MODULE 27
67#define ESP32_BT_MODULE 28
68#define ESP32_WIFI_BT_COMMON_MODULE 29
69#define ESP32_BT_BASEBAND_MODULE 30
70#define ESP32_BT_LC_MODULE 31
71#define ESP32_AES_MODULE 32
72#define ESP32_SHA_MODULE 33
73#define ESP32_RSA_MODULE 34
74#define ESP32_MODULE_MAX 35
75
76#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32_H_ */