feat(psram): support 250MHz in experimental

This commit is contained in:
Armando
2024-07-12 10:39:49 +08:00
committed by armando
parent 4495803370
commit 3bb766fc25
5 changed files with 15 additions and 14 deletions
@@ -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
@@ -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]));
@@ -55,7 +55,11 @@
#define AP_HEX_PSRAM_CS_ECC_HOLD_TIME 4
#define AP_HEX_PSRAM_CS_HOLD_DELAY 3
#if CONFIG_SPIRAM_SPEED_250M
#define AP_HEX_PSRAM_MPLL_DEFAULT_FREQ_MHZ 500
#else
#define AP_HEX_PSRAM_MPLL_DEFAULT_FREQ_MHZ 400
#endif
#define AP_HEX_PSRAM_REF_DATA 0x5a6b7c8d
@@ -461,13 +465,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);
+5 -1
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_20M
@@ -43,6 +46,7 @@ menu "PSRAM config"
default 20 if SPIRAM_SPEED_20M
default 100 if SPIRAM_SPEED_100M
default 200 if SPIRAM_SPEED_200M
default 250 if SPIRAM_SPEED_250M
config SPIRAM_FETCH_INSTRUCTIONS
bool
+1 -1
View File
@@ -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;