diff --git a/components/esp_hw_support/port/esp32p4/Kconfig.ldo b/components/esp_hw_support/port/esp32p4/Kconfig.ldo index 0e5a20fdd8d4..804f685f87fd 100644 --- a/components/esp_hw_support/port/esp32p4/Kconfig.ldo +++ b/components/esp_hw_support/port/esp32p4/Kconfig.ldo @@ -52,15 +52,15 @@ menu "LDO Regulator Configurations" choice ESP_LDO_VOLTAGE_PSRAM_DOMAIN prompt "PSRAM power domain voltage" depends on ESP_LDO_RESERVE_PSRAM - default ESP_LDO_VOLTAGE_PSRAM_1900_MV + default ESP_LDO_VOLTAGE_PSRAM_1800_MV help Select the voltage used by the PSRAM power domain. - config ESP_LDO_VOLTAGE_PSRAM_1900_MV - bool "1.9V" + config ESP_LDO_VOLTAGE_PSRAM_1800_MV + bool "1.8V" endchoice config ESP_LDO_VOLTAGE_PSRAM_DOMAIN int - default 1900 if ESP_LDO_VOLTAGE_PSRAM_1900_MV + default 1800 if ESP_LDO_VOLTAGE_PSRAM_1800_MV endmenu diff --git a/components/esp_hw_support/test_apps/esp_hw_support_unity_tests/main/test_ldo.c b/components/esp_hw_support/test_apps/esp_hw_support_unity_tests/main/test_ldo.c index fbf38beb4aa6..4144bfeeda38 100644 --- a/components/esp_hw_support/test_apps/esp_hw_support_unity_tests/main/test_ldo.c +++ b/components/esp_hw_support/test_apps/esp_hw_support_unity_tests/main/test_ldo.c @@ -72,7 +72,7 @@ TEST_CASE("LDO channel state dump", "[LDO][manual][ignore]") esp_ldo_channel_handle_t success_ldo_chans[3] = {}; esp_ldo_channel_config_t ldo_chan_config = { .chan_id = 2, - .voltage_mv = 1900, + .voltage_mv = 1800, }; TEST_ESP_OK(esp_ldo_acquire_channel(&ldo_chan_config, &success_ldo_chans[0])); diff --git a/components/esp_psram/device/esp_psram_impl_ap_hex.c b/components/esp_psram/device/esp_psram_impl_ap_hex.c index 27ab8941241d..e7b7001fba94 100644 --- a/components/esp_psram/device/esp_psram_impl_ap_hex.c +++ b/components/esp_psram/device/esp_psram_impl_ap_hex.c @@ -57,6 +57,8 @@ #if CONFIG_SPIRAM_SPEED_80M #define AP_HEX_PSRAM_MPLL_DEFAULT_FREQ_MHZ 320 +#elif CONFIG_SPIRAM_SPEED_250M +#define AP_HEX_PSRAM_MPLL_DEFAULT_FREQ_MHZ 500 #else #define AP_HEX_PSRAM_MPLL_DEFAULT_FREQ_MHZ 400 #endif @@ -467,13 +469,6 @@ esp_err_t esp_psram_impl_enable(void) mode_reg.mr2.density == 0x7 ? PSRAM_SIZE_32MB : mode_reg.mr2.density == 0x6 ? PSRAM_SIZE_64MB : 0; -#if CONFIG_SPIRAM_SPEED_250M - if (mode_reg.mr2.density == 0x7) { - ESP_EARLY_LOGE(TAG, "PSRAM Not support 250MHz speed"); - return ESP_ERR_NOT_SUPPORTED; - } -#endif - s_config_mspi_for_psram(); mspi_timing_psram_tuning(); psram_ctrlr_ll_enable_variable_dummy(PSRAM_CTRLR_LL_MSPI_ID_2, true); diff --git a/components/esp_psram/esp32p4/Kconfig.spiram b/components/esp_psram/esp32p4/Kconfig.spiram index b8e741fa247c..3dd2074bf350 100644 --- a/components/esp_psram/esp32p4/Kconfig.spiram +++ b/components/esp_psram/esp32p4/Kconfig.spiram @@ -26,12 +26,15 @@ menu "PSRAM config" choice SPIRAM_SPEED prompt "Set PSRAM clock speed" - default SPIRAM_SPEED_20M + default SPIRAM_SPEED_200M help Select the speed for the PSRAM chip. + config SPIRAM_SPEED_250M + depends on !ESP32P4_SELECTS_REV_LESS_V3 + bool "250MHz clock speed" + config SPIRAM_SPEED_200M - depends on IDF_EXPERIMENTAL_FEATURES bool "200MHz clock speed" config SPIRAM_SPEED_80M @@ -47,6 +50,7 @@ menu "PSRAM config" default 80 if SPIRAM_SPEED_80M default 100 if SPIRAM_SPEED_100M default 200 if SPIRAM_SPEED_200M + default 250 if SPIRAM_SPEED_250M config SPIRAM_FETCH_INSTRUCTIONS bool diff --git a/components/hal/esp32p4/include/hal/ldo_ll.h b/components/hal/esp32p4/include/hal/ldo_ll.h index 2b443b49ba0e..c54d3207879f 100644 --- a/components/hal/esp32p4/include/hal/ldo_ll.h +++ b/components/hal/esp32p4/include/hal/ldo_ll.h @@ -128,7 +128,7 @@ static inline void ldo_ll_voltage_to_dref_mul(int ldo_unit, int voltage_mv, uint matched_dref = EFUSE.rd_mac_sys_2.ldo_vo1_dref; } } - if (ldo_unit == 1 && voltage_mv == 1900) { + if (ldo_unit == 1 && voltage_mv == 1800) { if (EFUSE.rd_mac_sys_2.ldo_vo2_dref && EFUSE.rd_mac_sys_3.ldo_vo2_mul) { matched_mul = EFUSE.rd_mac_sys_3.ldo_vo2_mul; matched_dref = EFUSE.rd_mac_sys_2.ldo_vo2_dref;