2023-08-27 22:20:56 -04:00
|
|
|
config SPIRAM
|
|
|
|
bool "Support for external PSRAM"
|
|
|
|
default "n"
|
|
|
|
help
|
|
|
|
This enables support for an external PSRAM chip, connected in parallel with the
|
|
|
|
main SPI flash chip.
|
|
|
|
|
|
|
|
menu "PSRAM config"
|
|
|
|
depends on SPIRAM
|
|
|
|
|
|
|
|
choice SPIRAM_MODE
|
|
|
|
prompt "Line Mode of PSRAM chip in use"
|
|
|
|
default SPIRAM_MODE_HEX
|
|
|
|
|
|
|
|
config SPIRAM_MODE_HEX
|
|
|
|
bool "16-Line-Mode PSRAM"
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
config SPIRAM_USE_8LINE_MODE
|
|
|
|
bool
|
|
|
|
depends on SPIRAM_MODE_HEX
|
|
|
|
default n
|
|
|
|
|
|
|
|
help
|
|
|
|
Enable 8-Line-Mode of the AP HEX PSRAM
|
|
|
|
|
|
|
|
choice SPIRAM_SPEED
|
|
|
|
prompt "Set PSRAM clock speed"
|
|
|
|
default SPIRAM_SPEED_20M
|
|
|
|
help
|
|
|
|
Select the speed for the PSRAM chip.
|
|
|
|
|
2024-01-08 23:27:07 -05:00
|
|
|
config SPIRAM_SPEED_200M
|
|
|
|
depends on IDF_EXPERIMENTAL_FEATURES
|
|
|
|
bool "200MHz clock speed"
|
|
|
|
|
2023-08-27 22:20:56 -04:00
|
|
|
config SPIRAM_SPEED_20M
|
|
|
|
bool "20MHz clock speed"
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
config SPIRAM_SPEED
|
|
|
|
int
|
|
|
|
default 20 if SPIRAM_SPEED_20M
|
2024-01-08 23:27:07 -05:00
|
|
|
default 100 if SPIRAM_SPEED_100M
|
|
|
|
default 200 if SPIRAM_SPEED_200M
|
2023-08-27 22:20:56 -04:00
|
|
|
|
2024-05-10 04:11:39 -04:00
|
|
|
config SPIRAM_FETCH_INSTRUCTIONS
|
|
|
|
bool
|
|
|
|
help
|
|
|
|
Enable this option allows moving application's instruction segment from the SPI Flash to
|
|
|
|
PSRAM
|
|
|
|
|
|
|
|
config SPIRAM_RODATA
|
|
|
|
bool
|
|
|
|
help
|
|
|
|
Enable this option allows moving application's rodata segment from the SPI Flash to
|
|
|
|
PSRAM
|
|
|
|
|
|
|
|
config SPIRAM_XIP_FROM_PSRAM
|
|
|
|
bool "Enable Executable in place from (XiP) from PSRAM feature"
|
|
|
|
default n
|
|
|
|
select SPIRAM_FETCH_INSTRUCTIONS
|
|
|
|
select SPIRAM_RODATA
|
|
|
|
select SPIRAM_FLASH_LOAD_TO_PSRAM
|
|
|
|
help
|
|
|
|
If enabled, firmware in flash including instructions and data will be moved into PSRAM on startup,
|
|
|
|
firmware code will execute directly from PSRAM.
|
|
|
|
|
|
|
|
With this option enabled, code that requires execution during an MSPI1 Flash operation
|
|
|
|
does not have to be placed in IRAM. Therefore codes that need to be executing during Flash
|
|
|
|
operations can continue working normally.
|
|
|
|
|
|
|
|
Enabling this option will have better performance (see External RAM documentation for more details).
|
|
|
|
|
|
|
|
config SPIRAM_FLASH_LOAD_TO_PSRAM
|
|
|
|
bool
|
|
|
|
help
|
|
|
|
This is a helper indicating this condition:
|
|
|
|
`CONFIG_SPIRAM_XIP_FROM_PSRAM && CONFIG_IDF_TARGET_ESP32P4`
|
|
|
|
|
2023-08-27 22:20:56 -04:00
|
|
|
config SPIRAM_ECC_ENABLE
|
|
|
|
bool "Enable PSRAM ECC"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Enable Error-Correcting Code function when accessing PSRAM.
|
|
|
|
|
|
|
|
If enabled, 1/8 of the PSRAM total size will be reserved for error-correcting code.
|
|
|
|
|
|
|
|
config SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY
|
|
|
|
bool "Allow external memory as an argument to xTaskCreateStatic"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Accessing memory in PSRAM has certain restrictions, so task stacks allocated by xTaskCreate
|
|
|
|
are by default allocated from internal RAM.
|
|
|
|
|
|
|
|
This option allows for passing memory allocated from PSRAM to be passed to xTaskCreateStatic.
|
|
|
|
This should only be used for tasks where the stack is never accessed while the L2Cache is
|
|
|
|
disabled, e.g. during SPI Flash operations
|
|
|
|
|
|
|
|
source "$IDF_PATH/components/esp_psram/Kconfig.spiram.common" # insert non-chip-specific items here
|
|
|
|
|
|
|
|
endmenu
|