177 lines
5.1 KiB
Plaintext
177 lines
5.1 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
if ARCH_BOARD_ESP32CORE
|
|
|
|
choice
|
|
prompt "On-board Crystal Frequency"
|
|
default ESP32CORE_XTAL_40MZ
|
|
|
|
config ESP32CORE_XTAL_40MZ
|
|
bool "40MHz"
|
|
|
|
config ESP32CORE_XTAL_26MHz
|
|
bool "26MHz"
|
|
|
|
endchoice # On-board Crystal Frequency
|
|
|
|
config ESP32CORE_RUN_IRAM
|
|
bool "Run from IRAM"
|
|
default n
|
|
---help---
|
|
The default configuration is set up run from IRAM. However, the
|
|
current (2016-11-14) OpenOCD for ESP32 does not support writing to
|
|
FLASH. This option sets up the linker scripts to support execution
|
|
from IRAM. In this case, OpenOCD can be used to load directly into
|
|
IRAM.
|
|
|
|
At this stage the nuttx image is small enough to be entirely memory-
|
|
resident. Once board support is more mature you can add flash cache
|
|
mapping code to run from SPI flash after initial boot. There are at
|
|
least two possible approaches you could take: You can add the flash
|
|
cache mapping code into nuttx directly, so it is self-contained -
|
|
early nuttx initialization runs from IRAM and enables flash cache,
|
|
and then off you go. Or you can use the esp-idf software bootloader
|
|
and partition table scheme and have nuttx be an esp-idf "app" which
|
|
allows interoperability with the esp-idf system but makes you
|
|
reliant on the esp-idf design for these parts. Both are possible.
|
|
|
|
config ESP32CORE_FLASH_IMAGE
|
|
bool "esp32 flash image"
|
|
default n
|
|
---help---
|
|
Create flash_image.bin mainly used for QEMU.
|
|
|
|
choice
|
|
prompt "SPIFLASH File System"
|
|
default ESP32_SPIFLASH_SMARTFS
|
|
depends on ESP32_SPIFLASH
|
|
|
|
config ESP32_SPIFLASH_SMARTFS
|
|
bool "SmartFS"
|
|
depends on FS_SMARTFS
|
|
config ESP32_SPIFLASH_NXFFS
|
|
bool "NXFFS"
|
|
depends on FS_NXFFS
|
|
config ESP32_SPIFLASH_SPIFFS
|
|
bool "SPIFFS"
|
|
depends on FS_SPIFFS
|
|
config ESP32_SPIFLASH_LITTLEFS
|
|
bool "LittleFS"
|
|
depends on FS_LITTLEFS
|
|
endchoice
|
|
|
|
if PM
|
|
|
|
config PM_ALARM_SEC
|
|
int "PM_STANDBY delay (seconds)"
|
|
default 15
|
|
depends on PM
|
|
---help---
|
|
Number of seconds to wait in PM_STANDBY before going to PM_STANDBY mode.
|
|
|
|
config PM_ALARM_NSEC
|
|
int "PM_STANDBY delay (nanoseconds)"
|
|
default 0
|
|
depends on PM
|
|
---help---
|
|
Number of additional nanoseconds to wait in PM_STANDBY before going to PM_STANDBY mode.
|
|
|
|
config PM_SLEEP_WAKEUP_SEC
|
|
int "PM_SLEEP delay (seconds)"
|
|
default 20
|
|
depends on PM
|
|
---help---
|
|
Number of seconds to wait in PM_SLEEP.
|
|
|
|
config PM_SLEEP_WAKEUP_NSEC
|
|
int "PM_SLEEP delay (nanoseconds)"
|
|
default 0
|
|
depends on PM
|
|
---help---
|
|
Number of additional nanoseconds to wait in PM_SLEEP.
|
|
|
|
endif # PM
|
|
|
|
if ESP32_SPIRAM
|
|
|
|
menu "PSRAM clock and cs IO for ESP32-DOWD"
|
|
config D0WD_PSRAM_CLK_IO
|
|
int "PSRAM CLK IO number"
|
|
range 0 33
|
|
default 17
|
|
help
|
|
The PSRAM CLOCK IO can be any unused GPIO, user can config it
|
|
based on hardware design. If user use 1.8V flash and 1.8V psram,
|
|
this value can only be one of 6, 7, 8, 9, 10, 11, 16, 17.
|
|
|
|
config D0WD_PSRAM_CS_IO
|
|
int "PSRAM CS IO number"
|
|
range 0 33
|
|
default 16
|
|
help
|
|
The PSRAM CS IO can be any unused GPIO, user can config it based
|
|
on hardware design. If user use 1.8V flash and 1.8V psram, this
|
|
value can only be one of 6, 7, 8, 9, 10, 11, 16, 17.
|
|
endmenu
|
|
|
|
menu "PSRAM clock and cs IO for ESP32-D2WD"
|
|
config D2WD_PSRAM_CLK_IO
|
|
int "PSRAM CLK IO number"
|
|
range 0 33
|
|
default 9
|
|
help
|
|
User can config it based on hardware design. For ESP32-D2WD chip,
|
|
the psram can only be 1.8V psram, so this value can only be one
|
|
of 6, 7, 8, 9, 10, 11, 16, 17.
|
|
|
|
config D2WD_PSRAM_CS_IO
|
|
int "PSRAM CS IO number"
|
|
range 0 33
|
|
default 10
|
|
help
|
|
User can config it based on hardware design. For ESP32-D2WD chip,
|
|
the psram can only be 1.8V psram, so this value can only be one
|
|
of 6, 7, 8, 9, 10, 11, 16, 17.
|
|
endmenu
|
|
|
|
menu "PSRAM clock and cs IO for ESP32-PICO"
|
|
config PICO_PSRAM_CS_IO
|
|
int "PSRAM CS IO number"
|
|
range 0 33
|
|
default 10
|
|
help
|
|
The PSRAM CS IO can be any unused GPIO, user can config it based on
|
|
hardware design.
|
|
For ESP32-PICO chip, the psram share clock with flash, so user do
|
|
not need to configure the clock IO.
|
|
For the reference hardware design, please refer to
|
|
https://www.espressif.com/sites/default/files/documentation/esp32-pico-d4_datasheet_en.pdf
|
|
endmenu
|
|
|
|
config ESP32_SPIRAM_SPIWP_SD3_PIN
|
|
int "SPI PSRAM WP(SD3) Pin when customising pins via eFuse (read help)"
|
|
range 0 33
|
|
default 7
|
|
help
|
|
This value is ignored unless flash mode is set to DIO or DOUT and
|
|
the SPI flash pins have been overriden by setting the eFuses
|
|
SPI_PAD_CONFIG_xxx.
|
|
|
|
When this is the case, the eFuse config only defines 3 of the 4
|
|
Quad I/O data pins. The WP pin (aka ESP32 pin "SD_DATA_3" or SPI
|
|
flash pin "IO2") is not specified in eFuse. And the psram only
|
|
has QPI mode, the WP pin is necessary, so we need to configure
|
|
this value here.
|
|
|
|
When flash mode is set to QIO or QOUT, the PSRAM WP pin will be
|
|
set as the value configured in bootloader.
|
|
|
|
For ESP32-PICO chip, the default value of this config should be 7.
|
|
|
|
endif # ESP32_PSRAM
|
|
|
|
endif # ARCH_BOARD_ESP32CORE
|