]> granicus.if.org Git - esp-idf/commitdiff
fix(sdmmc): disable all pulldowns used by sdmmc host
authormichael <xiaoxufeng@espressif.com>
Wed, 4 Jul 2018 12:38:14 +0000 (20:38 +0800)
committermichael <xiaoxufeng@espressif.com>
Fri, 6 Jul 2018 10:17:51 +0000 (18:17 +0800)
components/driver/sdmmc_host.c

index 0887e04293c8b30c072ababd4d47e5a1c0d03e3c..2534ee5d5453aefd66c4df7ce095b0afa8c464bc 100644 (file)
@@ -290,6 +290,8 @@ static void configure_pin(int pin)
     const int sdmmc_func = 3;
     const int drive_strength = 3;
     assert(pin!=-1);
+    gpio_pulldown_dis(pin);
+
     uint32_t reg = GPIO_PIN_MUX_REG[pin];
     assert(reg != UINT32_MAX);
     PIN_INPUT_ENABLE(reg);
@@ -586,26 +588,17 @@ esp_err_t sdmmc_host_pullup_en(int slot, int width)
     }
     //according to the spec, the host control the clk, we don't to pull it up here
     gpio_pullup_en(sdmmc_slot_info[slot].cmd_gpio);
-    gpio_pulldown_dis(sdmmc_slot_info[slot].cmd_gpio);
     gpio_pullup_en(sdmmc_slot_info[slot].d0_gpio);
-    gpio_pulldown_dis(sdmmc_slot_info[slot].d0_gpio);
     if (width >= 4) {
         gpio_pullup_en(sdmmc_slot_info[slot].d1_gpio);
-        gpio_pulldown_dis(sdmmc_slot_info[slot].d1_gpio);
         gpio_pullup_en(sdmmc_slot_info[slot].d2_gpio);
-        gpio_pulldown_dis(sdmmc_slot_info[slot].d2_gpio);
         gpio_pullup_en(sdmmc_slot_info[slot].d3_gpio);
-        gpio_pulldown_dis(sdmmc_slot_info[slot].d3_gpio);
     }
     if (width == 8) {
         gpio_pullup_en(sdmmc_slot_info[slot].d4_gpio);
-        gpio_pulldown_dis(sdmmc_slot_info[slot].d4_gpio);
         gpio_pullup_en(sdmmc_slot_info[slot].d5_gpio);
-        gpio_pulldown_dis(sdmmc_slot_info[slot].d5_gpio);
         gpio_pullup_en(sdmmc_slot_info[slot].d6_gpio);
-        gpio_pulldown_dis(sdmmc_slot_info[slot].d6_gpio);
         gpio_pullup_en(sdmmc_slot_info[slot].d7_gpio);
-        gpio_pulldown_dis(sdmmc_slot_info[slot].d7_gpio);
     }
     return ESP_OK;
 }
\ No newline at end of file