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
# 2021 Gunar Schorcht
#
# 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
@ -98,21 +99,36 @@ config CPU_MODEL
config CPU
default "esp32" if CPU_FAM_ESP32
menu "ESP32 configurations"
menu "ESP32 specific configurations"
depends on TEST_KCONFIG
depends on HAS_ARCH_ESP32
config MODULE_ESP_SPI_RAM
bool "SPI RAM support"
select MODULE_ESP_IDF_HEAP
depends on HAS_ESP_SPI_RAM
select MODULE_ESP_IDF_HEAP
help
Say y to use external SPI RAM connected through the FSPI interface.
choice
bool "CPU clock frequency"
default ESP32_DEFAULT_CPU_FREQ_MHZ_80
config MODULE_ESP_JTAG
bool "Enable JTAG debugging interface"
depends on HAS_ESP_JTAG
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
bool "SPI RAM support"
depends on HAS_ESP_SPI_RAM
select MODULE_ESP_IDF_HEAP
help
Say y to use external SPI RAM connected through the FSPI interface.
config MODULE_ESP_JTAG
bool "Enable JTAG debugging interface"
depends on HAS_ESP_JTAG
endmenu

View File

@ -29,15 +29,34 @@ extern "C" {
#endif
/**
* @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]
*/
#ifndef CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ
#define CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ 80
#endif
/**
* @brief Mapping configured ESP32 default clock to CLOCK_CORECLOCK define
*/
#define CLOCK_CORECLOCK (1000000UL * CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ)
/** @} */
@ -60,16 +79,6 @@ extern "C" {
#define CONFIG_LOG_DEFAULT_LEVEL LOG_LEVEL
#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
*