feat(psram): support 250MHz in experimental

This commit is contained in:
Armando
2024-07-12 10:39:49 +08:00
committed by armando
parent ccc59ed681
commit c26ed5dba0
5 changed files with 13 additions and 14 deletions

View File

@@ -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

View File

@@ -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]));

View File

@@ -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);

View File

@@ -30,8 +30,11 @@ menu "PSRAM config"
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

View File

@@ -129,7 +129,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;