]> granicus.if.org Git - esp-idf/commitdiff
bootloader: force SDIO 1.9V if flash is 80M
authorLiu Zhi Fu <liuzhifu@espressif.com>
Mon, 19 Mar 2018 08:09:52 +0000 (16:09 +0800)
committerLiu Zhi Fu <liuzhifu@espressif.com>
Mon, 19 Mar 2018 08:39:54 +0000 (16:39 +0800)
If the SPI flash frequency is 80M, the voltage of SDIO is 1.9V,
otherwise, it can configured to 1.8V or 1.9V via menuconfig.

components/bootloader/Kconfig.projbuild
components/bootloader/subproject/main/bootloader_start.c

index 3680a478a903d793ce8f64a03e4b79e3f797808b..18989dc08934b7d0ffdc63e092843de1c8291854 100644 (file)
@@ -43,9 +43,9 @@ config BOOTLOADER_SPI_WP_PIN
 
         The default value (GPIO 7) is correct for WP pin on ESP32-D2WD integrated flash.
 
-config BOOTLOADER_VDDSDIO_BOOST
-    bool "Increase VDDSDIO 1.8V LDO voltage to 1.9V"
-    default y
+choice BOOTLOADER_VDDSDIO_BOOST
+    bool "VDDSDIO LDO voltage"
+    default BOOTLOADER_VDDSDIO_BOOST_1_9V
     help
         If this option is enabled, and VDDSDIO LDO is set to 1.8V (using EFUSE
         or MTDI bootstrapping pin), bootloader will change LDO settings to
@@ -55,6 +55,13 @@ config BOOTLOADER_VDDSDIO_BOOST
         This option has no effect if VDDSDIO is set to 3.3V, or if the internal
         VDDSDIO regulator is disabled via efuse.
 
+config BOOTLOADER_VDDSDIO_BOOST_1_8V
+    bool "1.8V"
+    depends on !ESPTOOLPY_FLASHFREQ_80M
+config BOOTLOADER_VDDSDIO_BOOST_1_9V
+    bool "1.9V"
+endchoice
+
 endmenu  # Bootloader
 
 
index 56839e2f86c012d6e3717d6ee726e798ee8af32a..7c70ac964d5892ec99a8115fd990ae68d90683f4 100644 (file)
@@ -743,7 +743,7 @@ static void print_flash_info(const esp_image_header_t* phdr)
 
 static void vddsdio_configure()
 {
-#if CONFIG_BOOTLOADER_VDDSDIO_BOOST
+#if CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V
     rtc_vddsdio_config_t cfg = rtc_vddsdio_get_config();
     if (cfg.enable == 1 && cfg.tieh == 0) {    // VDDSDIO regulator is enabled @ 1.8V
         cfg.drefh = 3;