esp_psram: Use efuse_ll instead of efuse API

When the virt efuse mode is on and psram is on as well
then efuse buffer is not filled by efuses (it is filled by 0).
So the psram init func gets wrong pkg_ver = 0.

Closes https://github.com/espressif/esp-idf/issues/10925
Close IDFGH-9576
pull/11147/head
KonstantinKondrashov 2023-03-08 01:32:11 +08:00
rodzic 60b90c5144
commit 9e0a8e2dca
1 zmienionych plików z 2 dodań i 1 usunięć

Wyświetl plik

@ -26,6 +26,7 @@
#include "soc/soc_caps.h"
#include "driver/gpio.h"
#include "hal/efuse_hal.h"
#include "hal/efuse_ll.h"
#include "hal/gpio_hal.h"
#include "driver/spi_common_internal.h"
#include "driver/periph_ctrl.h"
@ -822,7 +823,7 @@ bool psram_is_32mbit_ver0(void)
esp_err_t IRAM_ATTR psram_enable(psram_cache_mode_t mode, psram_vaddr_mode_t vaddrmode) //psram init
{
psram_io_t psram_io={0};
uint32_t pkg_ver = esp_efuse_get_pkg_ver();
uint32_t pkg_ver = efuse_ll_get_chip_ver_pkg();
if (pkg_ver == EFUSE_RD_CHIP_VER_PKG_ESP32D2WDQ5) {
ESP_EARLY_LOGI(TAG, "This chip is ESP32-D2WD");
rtc_vddsdio_config_t cfg = rtc_vddsdio_get_config();