blob: bcf1f1198581a6c19b828b71c857539a9cd48730 [file] [log] [blame]
/*
* Copyright (c) 2020 Mohamed ElShahawi
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32_H_
#define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32_H_
/* System Clock Source */
#define ESP32_CLK_SRC_XTAL 0U
#define ESP32_CLK_SRC_PLL 1U
#define ESP32_CLK_SRC_RTC8M 2U
/* Supported CPU Frequencies */
#define ESP32_CLK_CPU_26M 26U
#define ESP32_CLK_CPU_40M 40U
#define ESP32_CLK_CPU_80M 80U
#define ESP32_CLK_CPU_160M 160U
#define ESP32_CLK_CPU_240M 240U
/* Supported XTAL Frequencies */
#define ESP32_CLK_XTAL_40M 0U
#define ESP32_CLK_XTAL_26M 1U
/* Modules IDs
* These IDs are actually offsets in CLK and RST Control registers.
* These IDs shouldn't be changed unless there is a Hardware change
* from Espressif.
*
* Basic Modules
* Registers: DPORT_PERIP_CLK_EN_REG, DPORT_PERIP_RST_EN_REG
*/
#define ESP32_TIMERS_MODULE 0
#define ESP32_SPI1_MODULE 1
#define ESP32_UART0_MODULE 2
#define ESP32_WDG_MODULE 3
#define ESP32_I2S0_MODULE 4
#define ESP32_UART1_MODULE 5
#define ESP32_SPI2_MODULE 6
#define ESP32_I2C_EXT0_MODULE 7
#define ESP32_UHCI0_MODULE 8
#define ESP32_RMT_MODULE 9
#define ESP32_PCNT_MODULE 10
#define ESP32_LEDC_MODULE 11
#define ESP32_UHCI1_MODULE 12
#define ESP32_TIMERGROUP_MODULE 13
#define ESP32_EFUSE_MODULE 14
#define ESP32_TIMERGROUP1_MODULE 15
#define ESP32_SPI3_MODULE 16
#define ESP32_PWM0_MODULE 17
#define ESP32_I2C_EXT1_MODULE 18
#define ESP32_CAN_MODULE 19
#define ESP32_PWM1_MODULE 20
#define ESP32_I2S1_MODULE 21
#define ESP32_SPI_DMA_MODULE 22
#define ESP32_UART2_MODULE 23
#define ESP32_UART_MEM_MODULE 24
#define ESP32_PWM2_MODULE 25
#define ESP32_PWM3_MODULE 26
/* HW Security Modules
* Registers: DPORT_PERI_CLK_EN_REG, DPORT_PERI_RST_EN_REG
*/
#define ESP32_AES_MODULE 32
#define ESP32_SHA_MODULE 33
#define ESP32_RSA_MODULE 34
#define ESP32_SECUREBOOT_MODULE 35 /* Secure boot reset will hold SHA & AES in reset */
#define ESP32_DIGITAL_SIGNATURE_MODULE 36 /* Digital signature reset will hold AES & RSA in reset */
/* WiFi/BT
* Registers: DPORT_WIFI_CLK_EN_REG, DPORT_CORE_RST_EN_REG
*/
#define ESP32_SDMMC_MODULE 64
#define ESP32_SDIO_SLAVE_MODULE 65
#define ESP32_EMAC_MODULE 66
#define ESP32_RNG_MODULE 67
#define ESP32_WIFI_MODULE 68
#define ESP32_BT_MODULE 69
#define ESP32_WIFI_BT_COMMON_MODULE 70
#define ESP32_BT_BASEBAND_MODULE 71
#define ESP32_BT_LC_MODULE 72
#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32_H_ */