Browse Source

[sdio] remove mmcsd_delay_ms

修改SD检测线程函数里面的延时实现,将mmcsd_delay_ms改为rt_thread_mdelay. mmcsd_delay_ms过时且延时计算错误。
xiao xie 2 years ago
parent
commit
1755750b2a

+ 0 - 13
components/drivers/include/drivers/mmcsd_host.h

@@ -112,19 +112,6 @@ struct rt_mmcsd_host {
 
     void *private_data;
 };
-
-rt_inline void mmcsd_delay_ms(rt_uint32_t ms)
-{
-    if (ms < 1000 / RT_TICK_PER_SECOND)
-    {
-        rt_thread_delay(1);
-    }
-    else
-    {
-        rt_thread_delay(ms/(1000 / RT_TICK_PER_SECOND));
-    }
-}
-
 #ifdef __cplusplus
 }
 #endif

+ 2 - 2
components/drivers/sdio/mmc.c

@@ -355,7 +355,7 @@ static int mmc_select_bus_width(struct rt_mmcsd_card *card, rt_uint8_t *ext_csd)
     bus_width = bus_widths[idx];
     for(trys = 0; trys < 5; trys++){
         mmcsd_set_bus_width(host, bus_width);
-        mmcsd_delay_ms(10);
+        rt_thread_mdelay(10);
         err = mmc_compare_ext_csds(card, ext_csd, bus_width);
         if(!err)
             break;
@@ -421,7 +421,7 @@ rt_err_t mmc_send_op_cond(struct rt_mmcsd_host *host,
 
       err = -RT_ETIMEOUT;
 
-      mmcsd_delay_ms(10); //delay 10ms
+      rt_thread_mdelay(10); //delay 10ms
     }
 
   if (rocr && !controller_is_spi(host))

+ 5 - 5
components/drivers/sdio/mmcsd_core.c

@@ -110,7 +110,7 @@ rt_int32_t mmcsd_go_idle(struct rt_mmcsd_host *host)
     if (!controller_is_spi(host))
     {
         mmcsd_set_chip_select(host, MMCSD_CS_HIGH);
-        mmcsd_delay_ms(1);
+        rt_thread_mdelay(1);
     }
 
     rt_memset(&cmd, 0, sizeof(struct rt_mmcsd_cmd));
@@ -121,12 +121,12 @@ rt_int32_t mmcsd_go_idle(struct rt_mmcsd_host *host)
 
     err = mmcsd_send_cmd(host, &cmd, 0);
 
-    mmcsd_delay_ms(1);
+    rt_thread_mdelay(1);
 
     if (!controller_is_spi(host))
     {
         mmcsd_set_chip_select(host, MMCSD_CS_IGNORE);
-        mmcsd_delay_ms(1);
+        rt_thread_mdelay(1);
     }
 
     return err;
@@ -564,7 +564,7 @@ static void mmcsd_power_up(struct rt_mmcsd_host *host)
      * This delay should be sufficient to allow the power supply
      * to reach the minimum voltage.
      */
-    mmcsd_delay_ms(10);
+    rt_thread_mdelay(10);
 
     host->io_cfg.clock = host->freq_min;
     host->io_cfg.power_mode = MMCSD_POWER_ON;
@@ -574,7 +574,7 @@ static void mmcsd_power_up(struct rt_mmcsd_host *host)
      * This delay must be at least 74 clock sizes, or 1 ms, or the
      * time required to reach a stable voltage.
      */
-    mmcsd_delay_ms(10);
+    rt_thread_mdelay(10);
 }
 
 static void mmcsd_power_off(struct rt_mmcsd_host *host)

+ 1 - 1
components/drivers/sdio/sd.c

@@ -403,7 +403,7 @@ rt_err_t mmcsd_send_app_op_cond(struct rt_mmcsd_host *host,
 
         err = -RT_ETIMEOUT;
 
-        mmcsd_delay_ms(10); //delay 10ms
+        rt_thread_mdelay(10); //delay 10ms
     }
 
     if (rocr && !controller_is_spi(host))

+ 1 - 1
components/drivers/sdio/sdio.c

@@ -103,7 +103,7 @@ rt_int32_t sdio_io_send_op_cond(struct rt_mmcsd_host *host,
 
         err = -RT_ETIMEOUT;
 
-        mmcsd_delay_ms(10);
+        rt_thread_mdelay(10);
     }
 
     if (cmd5_resp)