mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-15 09:33:50 +01:00
cpu/esp32: add flashpage support to Kconfig
This commit is contained in:
parent
f4c0d7da71
commit
6f9c64c6cb
@ -17,6 +17,9 @@ config CPU_FAM_ESP32
|
||||
select HAS_ESP_BLE_ESP32
|
||||
select HAS_ESP_HW_COUNTER
|
||||
select HAS_ESP_WIFI_ENTERPRISE
|
||||
select HAS_PERIPH_FLASHPAGE
|
||||
select HAS_PERIPH_FLASHPAGE_IN_ADDRESS_SPACE
|
||||
select HAS_PERIPH_FLASHPAGE_PAGEWISE
|
||||
select HAS_PERIPH_GPIO_LL
|
||||
select HAS_PERIPH_GPIO_LL_IRQ
|
||||
select HAS_PERIPH_GPIO_LL_IRQ_LEVEL_TRIGGERED_HIGH
|
||||
|
||||
@ -18,6 +18,9 @@ config CPU_FAM_ESP32C3
|
||||
select HAS_ESP_BLE
|
||||
select HAS_ESP_BLE_ESP32C3
|
||||
select HAS_ESP_WIFI_ENTERPRISE
|
||||
select HAS_PERIPH_FLASHPAGE
|
||||
select HAS_PERIPH_FLASHPAGE_IN_ADDRESS_SPACE
|
||||
select HAS_PERIPH_FLASHPAGE_PAGEWISE
|
||||
select HAS_PERIPH_GPIO_LL
|
||||
select HAS_PERIPH_GPIO_LL_IRQ
|
||||
select HAS_PERIPH_GPIO_LL_IRQ_LEVEL_TRIGGERED_HIGH
|
||||
|
||||
@ -13,6 +13,9 @@ config CPU_FAM_ESP32S2
|
||||
select HAS_CPU_ESP32
|
||||
select HAS_ESP_HW_COUNTER
|
||||
select HAS_ESP_WIFI_ENTERPRISE
|
||||
select HAS_PERIPH_FLASHPAGE
|
||||
select HAS_PERIPH_FLASHPAGE_IN_ADDRESS_SPACE
|
||||
select HAS_PERIPH_FLASHPAGE_PAGEWISE
|
||||
select HAS_PERIPH_GPIO_LL
|
||||
select HAS_PERIPH_GPIO_LL_IRQ
|
||||
select HAS_PERIPH_GPIO_LL_IRQ_LEVEL_TRIGGERED_HIGH
|
||||
|
||||
@ -19,6 +19,9 @@ config CPU_FAM_ESP32S3
|
||||
select HAS_ESP_BLE_ESP32C3
|
||||
select HAS_ESP_HW_COUNTER
|
||||
select HAS_ESP_WIFI_ENTERPRISE
|
||||
select HAS_PERIPH_FLASHPAGE
|
||||
select HAS_PERIPH_FLASHPAGE_IN_ADDRESS_SPACE
|
||||
select HAS_PERIPH_FLASHPAGE_PAGEWISE
|
||||
select HAS_PERIPH_GPIO_LL
|
||||
select HAS_PERIPH_GPIO_LL_IRQ
|
||||
select HAS_PERIPH_GPIO_LL_IRQ_LEVEL_TRIGGERED_HIGH
|
||||
|
||||
@ -23,6 +23,38 @@ else ifneq (,$(filter esp32s2,$(CPU_FAM)))
|
||||
else
|
||||
$(error Unkwnown ESP32x SoC variant (family))
|
||||
endif
|
||||
|
||||
ifneq (,$(filter periph_flashpage,$(USEMODULE)))
|
||||
ifneq (,$(CONFIG_ESP_FLASHPAGE_CAPACITY_64K))
|
||||
FLASHFILE_POS = 0x20000
|
||||
FLASHPAGE_CAP = 0x10000
|
||||
else ifneq (,$(CONFIG_ESP_FLASHPAGE_CAPACITY_128K))
|
||||
FLASHFILE_POS = 0x30000
|
||||
FLASHPAGE_CAP = 0x20000
|
||||
else ifneq (,$(CONFIG_ESP_FLASHPAGE_CAPACITY_256K))
|
||||
FLASHFILE_POS = 0x50000
|
||||
FLASHPAGE_CAP = 0x40000
|
||||
else ifneq (,$(CONFIG_ESP_FLASHPAGE_CAPACITY_512K))
|
||||
FLASHFILE_POS = 0x90000
|
||||
FLASHPAGE_CAP = 0x80000
|
||||
else ifneq (,$(CONFIG_ESP_FLASHPAGE_CAPACITY_1M))
|
||||
FLASHFILE_POS = 0x110000
|
||||
FLASHPAGE_CAP = 0x100000
|
||||
else ifneq (,$(CONFIG_ESP_FLASHPAGE_CAPACITY_2M))
|
||||
FLASHFILE_POS = 0x210000
|
||||
FLASHPAGE_CAP = 0x200000
|
||||
else
|
||||
# use 512 kByte for periph_flashpage by default
|
||||
FLASHFILE_POS = 0x90000
|
||||
FLASHPAGE_CAP = 0x80000
|
||||
CFLAGS += -DCONFIG_ESP_FLASHPAGE_CAPACITY_512K
|
||||
endif
|
||||
FLASHPAGE_ADDR_START = 0x10000
|
||||
FLASHPAGE_ADDR_END = $(FLASHFILE_POS)
|
||||
CFLAGS += -DFLASHPAGE_ADDR_START=$(FLASHPAGE_ADDR_START)
|
||||
CFLAGS += -DFLASHPAGE_ADDR_END=$(FLASHPAGE_ADDR_END)
|
||||
endif
|
||||
|
||||
FLASHFILE_POS ?= 0x10000
|
||||
|
||||
ESPTOOL ?= $(RIOTTOOLS)/esptools/esptool_v3.2.py
|
||||
|
||||
@ -206,6 +206,33 @@
|
||||
#define CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE
|
||||
#define CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER CONFIG_ESP_PHY_MAX_WIFI_TX_POWER
|
||||
|
||||
/**
|
||||
* Flashpage configuration
|
||||
*/
|
||||
#ifndef CONFIG_ESP_FLASHPAGE_CAPACITY
|
||||
|
||||
#ifdef MODULE_PERIPH_FLASHPAGE
|
||||
#if CONFIG_ESP_FLASHPAGE_CAPACITY_64K
|
||||
#define CONFIG_ESP_FLASHPAGE_CAPACITY 0x10000
|
||||
#elif CONFIG_ESP_FLASHPAGE_CAPACITY_128K
|
||||
#define CONFIG_ESP_FLASHPAGE_CAPACITY 0x20000
|
||||
#elif CONFIG_ESP_FLASHPAGE_CAPACITY_256K
|
||||
#define CONFIG_ESP_FLASHPAGE_CAPACITY 0x40000
|
||||
#elif CONFIG_ESP_FLASHPAGE_CAPACITY_512K
|
||||
#define CONFIG_ESP_FLASHPAGE_CAPACITY 0x80000
|
||||
#elif CONFIG_ESP_FLASHPAGE_CAPACITY_1M
|
||||
#define CONFIG_ESP_FLASHPAGE_CAPACITY 0x100000
|
||||
#elif CONFIG_ESP_FLASHPAGE_CAPACITY_2M
|
||||
#define CONFIG_ESP_FLASHPAGE_CAPACITY 0x200000
|
||||
#else
|
||||
#define CONFIG_ESP_FLASHPAGE_CAPACITY 0x80000
|
||||
#endif
|
||||
#else /* MODULE_PERIPH_FLASHPAGE_IN_ADDRESS_SPACE */
|
||||
#define CONFIG_ESP_FLASHPAGE_CAPACITY 0x0
|
||||
#endif /* MODULE_PERIPH_FLASHPAGE_IN_ADDRESS_SPACE */
|
||||
|
||||
#endif /* !CONFIG_ESP_FLASHPAGE_CAPACITY */
|
||||
|
||||
#endif /* DOXYGEN */
|
||||
|
||||
/**
|
||||
|
||||
@ -31,4 +31,22 @@ config MODULE_ESP_HW_COUNTER
|
||||
registers that can be used as low-level timer peripherals. Use this
|
||||
option to enable these CCOUNT and CCOMPARE register as low-level timer.
|
||||
|
||||
choice ESP_FLASHPAGE_CAPACITY
|
||||
bool "Flashpage capacity"
|
||||
default ESP_FLASHPAGE_CAPACITY_512K
|
||||
depends on MODULE_PERIPH_FLASHPAGE
|
||||
config ESP_FLASHPAGE_CAPACITY_64K
|
||||
bool "64 kByte"
|
||||
config ESP_FLASHPAGE_CAPACITY_128K
|
||||
bool "128 kByte"
|
||||
config ESP_FLASHPAGE_CAPACITY_256K
|
||||
bool "256 kByte"
|
||||
config ESP_FLASHPAGE_CAPACITY_512K
|
||||
bool "512 kByte"
|
||||
config ESP_FLASHPAGE_CAPACITY_1M
|
||||
bool "1 MByte"
|
||||
config ESP_FLASHPAGE_CAPACITY_2M
|
||||
bool "2 MByte"
|
||||
endchoice
|
||||
|
||||
endif # TEST_KCONFIG
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user