bugfix(psram): make sure the psram_io struct is initialized and make unknown psram package version more obvious

This commit is contained in:
chenjianqiang 2019-06-13 17:16:22 +08:00
parent 55f5c2e08d
commit 43561a40d2
2 changed files with 5 additions and 2 deletions

View file

@ -300,7 +300,7 @@ menu "ESP32-specific"
config SPIRAM_SPIWP_SD3_PIN
int "SPI PSRAM WP(SD3) Pin when customising pins via eFuse (read help)"
depends on ESPTOOLPY_FLASHMODE_DIO || ESPTOOLPY_FLASHMODE_DOUT
depends on FLASHMODE_DIO || FLASHMODE_DOUT
range 0 33
default 7
help

View file

@ -616,7 +616,7 @@ psram_size_t psram_get_size()
*/
esp_err_t IRAM_ATTR psram_enable(psram_cache_mode_t mode, psram_vaddr_mode_t vaddrmode) //psram init
{
psram_io_t psram_io;
psram_io_t psram_io = {0};
uint32_t chip_ver = REG_GET_FIELD(EFUSE_BLK0_RDATA3_REG, EFUSE_RD_CHIP_VER_PKG);
uint32_t pkg_ver = chip_ver & 0x7;
if (pkg_ver == EFUSE_RD_CHIP_VER_PKG_ESP32D2WDQ5) {
@ -642,6 +642,9 @@ esp_err_t IRAM_ATTR psram_enable(psram_cache_mode_t mode, psram_vaddr_mode_t vad
ESP_EARLY_LOGI(TAG, "This chip is ESP32-D0WD");
psram_io.psram_clk_io = D0WD_PSRAM_CLK_IO;
psram_io.psram_cs_io = D0WD_PSRAM_CS_IO;
} else {
ESP_EARLY_LOGE(TAG, "Not a valid or known package id: %d", pkg_ver);
abort();
}
const uint32_t spiconfig = ets_efuse_get_spiconfig();