]> granicus.if.org Git - esp-idf/commitdiff
soc: Fix description of rtc_config_t.tieh, add macros
authorAngus Gratton <angus@espressif.com>
Fri, 25 May 2018 04:52:41 +0000 (14:52 +1000)
committerAngus Gratton <gus@projectgus.com>
Fri, 25 May 2018 04:58:37 +0000 (14:58 +1000)
Usage of TIEH was correct but description had 1.8V & 3.3V backwards.

Add macro definitions for TIEH values to improve readability.

components/bootloader_support/src/bootloader_init.c
components/esp32/spiram_psram.c
components/soc/esp32/include/soc/rtc.h
components/soc/esp32/rtc_init.c

index 5a1ecd6ab9f4e45b7fd9355e7546cb3506f76658..73a79956252764e4eb8fb7c8e4850ceccec9e6d2 100644 (file)
@@ -276,7 +276,7 @@ static void vddsdio_configure()
 {
 #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
+    if (cfg.enable == 1 && cfg.tieh == RTC_VDDSDIO_TIEH_1_8V) {    // VDDSDIO regulator is enabled @ 1.8V
         cfg.drefh = 3;
         cfg.drefm = 3;
         cfg.drefl = 3;
index 50a8571d84e91e2b4e89a1fb12404ac18827975b..ed20375da8ed4337ae773cb42ffe36b9e8842d02 100644 (file)
@@ -570,7 +570,7 @@ esp_err_t IRAM_ATTR psram_enable(psram_cache_mode_t mode, psram_vaddr_mode_t vad
     #if CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V
         // For flash 80Mhz, we must update ldo voltage in case older version of bootloader didn't do this.
         rtc_vddsdio_config_t cfg = rtc_vddsdio_get_config();
-        if (cfg.enable == 1 && cfg.tieh == 0) {    // VDDSDIO regulator is enabled @ 1.8V
+        if (cfg.enable == 1 && cfg.tieh == RTC_VDDSDIO_TIEH_1_8V) {    // VDDSDIO regulator is enabled @ 1.8V
             cfg.drefh = 3;
             cfg.drefm = 3;
             cfg.drefl = 3;
index 86beea53427486f9a2b68f6ff969e30c12853d78..1ece26c9754531f71c4ca350fb9917b87f98dba3 100644 (file)
@@ -578,13 +578,16 @@ typedef struct {
  */
 void rtc_init(rtc_config_t cfg);
 
+#define RTC_VDDSDIO_TIEH_1_8V 0 //!< TIEH field value for 1.8V VDDSDIO
+#define RTC_VDDSDIO_TIEH_3_3V 1 //!< TIEH field value for 3.3V VDDSDIO
+
 /**
  * Structure describing vddsdio configuration
  */
 typedef struct {
     uint32_t force : 1;     //!< If 1, use configuration from RTC registers; if 0, use EFUSE/bootstrapping pins.
     uint32_t enable : 1;    //!< Enable VDDSDIO regulator
-    uint32_t tieh  : 1;     //!< Select VDDSDIO voltage: 1 — 1.8V, 0 — 3.3V
+    uint32_t tieh  : 1;     //!< Select VDDSDIO voltage. One of RTC_VDDSDIO_TIEH_1_8V, RTC_VDDSDIO_TIEH_3_3V
     uint32_t drefh : 2;     //!< Tuning parameter for VDDSDIO regulator
     uint32_t drefm : 2;     //!< Tuning parameter for VDDSDIO regulator
     uint32_t drefl : 2;     //!< Tuning parameter for VDDSDIO regulator
index 43374d6b0276c52b45e7f9b3a7e8e99f2907f975..0fa5d8687dd39de93fd0a670dfde2510ac7f26f8 100644 (file)
@@ -132,8 +132,8 @@ rtc_vddsdio_config_t rtc_vddsdio_get_config()
     // Otherwise, VDD_SDIO is controlled by bootstrapping pin
     uint32_t strap_reg = REG_READ(GPIO_STRAP_REG);
     result.force = 0;
-    result.tieh = (strap_reg & BIT(5)) ? 0 : 1;
-    result.enable = result.tieh == 0; // only power on the regulator if VDD=1.8
+    result.tieh = (strap_reg & BIT(5)) ? RTC_VDDSDIO_TIEH_1_8V : RTC_VDDSDIO_TIEH_3_3V;
+    result.enable = result.tieh == RTC_VDDSDIO_TIEH_1_8V; // only power on the regulator if VDD=1.8
     return result;
 }