1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-16 10:03:50 +01:00

cpu/esp32: add CPU frequency selection to Kconfig

t
This commit is contained in:
Gunar Schorcht 2021-12-19 12:19:15 +01:00
parent f01e0804ff
commit f6831f34fb
2 changed files with 49 additions and 24 deletions

View File

@ -1,4 +1,5 @@
# Copyright (c) 2020 HAW Hamburg # Copyright (c) 2020 HAW Hamburg
# 2021 Gunar Schorcht
# #
# This file is subject to the terms and conditions of the GNU Lesser # This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level # General Public License v2.1. See the file LICENSE in the top level
@ -98,13 +99,28 @@ config CPU_MODEL
config CPU config CPU
default "esp32" if CPU_FAM_ESP32 default "esp32" if CPU_FAM_ESP32
menu "ESP32 configurations" menu "ESP32 specific configurations"
depends on TEST_KCONFIG depends on TEST_KCONFIG
depends on HAS_ARCH_ESP32 depends on HAS_ARCH_ESP32
choice
bool "CPU clock frequency"
default ESP32_DEFAULT_CPU_FREQ_MHZ_80
config ESP32_DEFAULT_CPU_FREQ_MHZ_2
bool "2 MHz"
config ESP32_DEFAULT_CPU_FREQ_MHZ_40
bool "40 MHz"
config ESP32_DEFAULT_CPU_FREQ_MHZ_80
bool "80 MHz"
config ESP32_DEFAULT_CPU_FREQ_MHZ_160
bool "160 MHz"
config ESP32_DEFAULT_CPU_FREQ_MHZ_240
bool "240 MHz"
endchoice
config MODULE_ESP_SPI_RAM config MODULE_ESP_SPI_RAM
bool "SPI RAM support" bool "SPI RAM support"
select MODULE_ESP_IDF_HEAP
depends on HAS_ESP_SPI_RAM depends on HAS_ESP_SPI_RAM
select MODULE_ESP_IDF_HEAP select MODULE_ESP_IDF_HEAP
help help

View File

@ -32,12 +32,31 @@ extern "C" {
* @name Clock configuration * @name Clock configuration
* @{ * @{
*/ */
#ifndef DOXYGEN
/* Mapping of Kconfig defines to the respective enumeration values */
#if CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ_2
#define CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ 2
#elif CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ_40
#define CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ 40
#elif CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ_80
#define CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ 80
#elif CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ_160
#define CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ 160
#elif CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ_240
#define CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ 240
#endif
#endif
/** /**
* @brief Defines the CPU frequency [values = 2, 40, 80, 160 and 240] * @brief Defines the CPU frequency [values = 2, 40, 80, 160 and 240]
*/ */
#ifndef CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ #ifndef CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ
#define CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ 80 #define CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ 80
#endif #endif
/**
* @brief Mapping configured ESP32 default clock to CLOCK_CORECLOCK define
*/
#define CLOCK_CORECLOCK (1000000UL * CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ) #define CLOCK_CORECLOCK (1000000UL * CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ)
/** @} */ /** @} */
@ -60,16 +79,6 @@ extern "C" {
#define CONFIG_LOG_DEFAULT_LEVEL LOG_LEVEL #define CONFIG_LOG_DEFAULT_LEVEL LOG_LEVEL
#endif #endif
/**
* ESP32 specific configuration
*
* CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ can be overridden by an application
* specific SDK configuration file.
*/
#ifndef CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ
#define CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ 80
#endif
/** /**
* ESP32 specific configuration * ESP32 specific configuration
* *