Переглянути джерело

Merge pull request #2 from enkiller/master

sdio关闭log打印,格式化代码
朱天龙 (Armink) 7 роки тому
батько
коміт
e6c458f4dd
2 змінених файлів з 108 додано та 72 видалено
  1. 107 71
      stm32_sdio.c
  2. 1 1
      stm32_sdio.h

+ 107 - 71
stm32_sdio.c

@@ -29,7 +29,7 @@
 
 #include <stm32_sdio.h>
 
-#define DBG_ENABLE
+// #define DBG_ENABLE
 #define DBG_SECTION_NAME    "SDIO"
 #define DBG_COLOR
 #define DBG_LEVEL           _dbg_level
@@ -38,7 +38,9 @@
 #define RTHW_SDIO_LOCK(_sdio)   rt_mutex_take(&_sdio->mutex, RT_WAITING_FOREVER)
 #define RTHW_SDIO_UNLOCK(_sdio) rt_mutex_release(&_sdio->mutex);
 
+#ifdef DBG_ENABLE
 static int _dbg_level = 3;
+#endif
 
 struct sdio_pkg
 {
@@ -70,22 +72,54 @@ static int get_order(rt_uint32_t data)
 
     switch (data)
     {
-    case 1: order = 0; break;
-    case 2: order = 1; break;
-    case 4: order = 2; break;
-    case 8: order = 3; break;
-    case 16: order = 4; break;
-    case 32: order = 5; break;
-    case 64: order = 6; break;
-    case 128: order = 7; break;
-    case 256: order = 8; break;
-    case 512: order = 9; break;
-    case 1024: order = 10; break;
-    case 2048: order = 11; break;
-    case 4096: order = 12; break;
-    case 8192: order = 13; break;
-    case 16384: order = 14; break;
-    default : order = -1; break;
+    case 1:
+        order = 0;
+        break;
+    case 2:
+        order = 1;
+        break;
+    case 4:
+        order = 2;
+        break;
+    case 8:
+        order = 3;
+        break;
+    case 16:
+        order = 4;
+        break;
+    case 32:
+        order = 5;
+        break;
+    case 64:
+        order = 6;
+        break;
+    case 128:
+        order = 7;
+        break;
+    case 256:
+        order = 8;
+        break;
+    case 512:
+        order = 9;
+        break;
+    case 1024:
+        order = 10;
+        break;
+    case 2048:
+        order = 11;
+        break;
+    case 4096:
+        order = 12;
+        break;
+    case 8192:
+        order = 13;
+        break;
+    case 16384:
+        order = 14;
+        break;
+    default :
+        order = -1;
+        break;
     }
 
     return order;
@@ -98,8 +132,8 @@ static void rthw_sdio_wait_completed(struct rthw_sdio *sdio)
     struct rt_mmcsd_data *data = cmd->data;
     struct stm32_sdio *hw_sdio = sdio->sdio_des.hw_sdio;
 
-    if (rt_event_recv(&sdio->event, 0xffffffff, RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, 
-            rt_tick_from_millisecond(5000), &status) != RT_EOK)
+    if (rt_event_recv(&sdio->event, 0xffffffff, RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR,
+                      rt_tick_from_millisecond(5000), &status) != RT_EOK)
     {
         dbg_log(DBG_ERROR, "wait completed timeout!!\n");
         cmd->err = -RT_ETIMEOUT;
@@ -131,7 +165,7 @@ static void rthw_sdio_wait_completed(struct rthw_sdio *sdio)
         {
             cmd->err = -RT_ETIMEOUT;
         }
-        
+
         if (status & HW_SDIO_IT_DCRCFAIL)
         {
             data->err = -RT_ERROR;
@@ -149,20 +183,20 @@ static void rthw_sdio_wait_completed(struct rthw_sdio *sdio)
         else
         {
             dbg_log(DBG_ERROR, "err:0x%08x, %s%s%s%s%s%s%s cmd:%d arg:0x%08x rw:%c len:%d blksize:%d\n",
-               status,
-               status & HW_SDIO_IT_CCRCFAIL  ? "CCRCFAIL "    : "",
-               status & HW_SDIO_IT_DCRCFAIL  ? "DCRCFAIL "    : "",
-               status & HW_SDIO_IT_CTIMEOUT  ? "CTIMEOUT "    : "",
-               status & HW_SDIO_IT_DTIMEOUT  ? "DTIMEOUT "    : "",
-               status & HW_SDIO_IT_TXUNDERR  ? "TXUNDERR "    : "",
-               status & HW_SDIO_IT_RXOVERR   ? "RXOVERR "     : "",
-               status == 0                   ? "NULL"        : "",
-               cmd->cmd_code,
-               cmd->arg,
-               data ? (data->flags & DATA_DIR_WRITE ?  'w' : 'r') : '-',
-               data ? data->blks * data->blksize : 0,
-               data ? data->blksize : 0
-              );
+                    status,
+                    status & HW_SDIO_IT_CCRCFAIL  ? "CCRCFAIL "    : "",
+                    status & HW_SDIO_IT_DCRCFAIL  ? "DCRCFAIL "    : "",
+                    status & HW_SDIO_IT_CTIMEOUT  ? "CTIMEOUT "    : "",
+                    status & HW_SDIO_IT_DTIMEOUT  ? "DTIMEOUT "    : "",
+                    status & HW_SDIO_IT_TXUNDERR  ? "TXUNDERR "    : "",
+                    status & HW_SDIO_IT_RXOVERR   ? "RXOVERR "     : "",
+                    status == 0                   ? "NULL"        : "",
+                    cmd->cmd_code,
+                    cmd->arg,
+                    data ? (data->flags & DATA_DIR_WRITE ?  'w' : 'r') : '-',
+                    data ? data->blks * data->blksize : 0,
+                    data ? data->blksize : 0
+                   );
         }
     }
     else
@@ -175,7 +209,7 @@ static void rthw_sdio_wait_completed(struct rthw_sdio *sdio)
 #if 0
 static void rthw_sdio_transfer_by_cpu(struct rthw_sdio *sdio, struct sdio_pkg *pkg)
 {
-    
+
 }
 #endif
 
@@ -213,21 +247,21 @@ static void rthw_sdio_send_command(struct rthw_sdio *sdio, struct sdio_pkg *pkg)
     //save pkg
     sdio->pkg = pkg;
 
-    dbg_log(DBG_LOG, "CMD:%d ARG:0x%08x RES:%s%s%s%s%s%s%s%s%s rw:%c len:%d blksize:%d\n", 
-             cmd->cmd_code, 
-             cmd->arg,
-             resp_type(cmd) == RESP_NONE ? "NONE"  : "",
-             resp_type(cmd) == RESP_R1  ? "R1"  : "",
-             resp_type(cmd) == RESP_R1B ? "R1B"  : "",
-             resp_type(cmd) == RESP_R2  ? "R2"  : "",
-             resp_type(cmd) == RESP_R3  ? "R3"  : "",
-             resp_type(cmd) == RESP_R4  ? "R4"  : "",
-             resp_type(cmd) == RESP_R5  ? "R5"  : "",
-             resp_type(cmd) == RESP_R6  ? "R6"  : "",
-             resp_type(cmd) == RESP_R7  ? "R7"  : "",
-             data ? (data->flags & DATA_DIR_WRITE ?  'w' : 'r') : '-',
-             data ? data->blks * data->blksize : 0,
-             data ? data->blksize : 0
+    dbg_log(DBG_LOG, "CMD:%d ARG:0x%08x RES:%s%s%s%s%s%s%s%s%s rw:%c len:%d blksize:%d\n",
+            cmd->cmd_code,
+            cmd->arg,
+            resp_type(cmd) == RESP_NONE ? "NONE"  : "",
+            resp_type(cmd) == RESP_R1  ? "R1"  : "",
+            resp_type(cmd) == RESP_R1B ? "R1B"  : "",
+            resp_type(cmd) == RESP_R2  ? "R2"  : "",
+            resp_type(cmd) == RESP_R3  ? "R3"  : "",
+            resp_type(cmd) == RESP_R4  ? "R4"  : "",
+            resp_type(cmd) == RESP_R5  ? "R5"  : "",
+            resp_type(cmd) == RESP_R6  ? "R6"  : "",
+            resp_type(cmd) == RESP_R7  ? "R7"  : "",
+            data ? (data->flags & DATA_DIR_WRITE ?  'w' : 'r') : '-',
+            data ? data->blks * data->blksize : 0,
+            data ? data->blksize : 0
            );
 
     //config cmd reg
@@ -270,7 +304,7 @@ static void rthw_sdio_send_command(struct rthw_sdio *sdio, struct sdio_pkg *pkg)
 
     //open irq
     hw_sdio->mask |= HW_SDIO_IT_CMDSENT | HW_SDIO_IT_CMDREND | HW_SDIO_ERRORS;
-    if(data != RT_NULL)
+    if (data != RT_NULL)
     {
         hw_sdio->mask |= HW_SDIO_IT_DATAEND;
     }
@@ -351,17 +385,17 @@ static void rthw_sdio_iocfg(struct rt_mmcsd_host *host, struct rt_mmcsd_io_cfg *
     struct stm32_sdio *hw_sdio = sdio->sdio_des.hw_sdio;
 
     if (clk > host->freq_max) clk = host->freq_max;
-    
+
     dbg_log(DBG_LOG, "clk:%d width:%s%s%s power:%s%s%s\n",
-             clk,
-             io_cfg->bus_width == MMCSD_BUS_WIDTH_8 ? "8" : "",
-             io_cfg->bus_width == MMCSD_BUS_WIDTH_4 ? "4" : "",
-             io_cfg->bus_width == MMCSD_BUS_WIDTH_1 ? "1" : "",
-             io_cfg->power_mode == MMCSD_POWER_OFF ? "OFF" : "",
-             io_cfg->power_mode == MMCSD_POWER_UP ? "UP" : "",
-             io_cfg->power_mode == MMCSD_POWER_ON ? "ON" : ""
+            clk,
+            io_cfg->bus_width == MMCSD_BUS_WIDTH_8 ? "8" : "",
+            io_cfg->bus_width == MMCSD_BUS_WIDTH_4 ? "4" : "",
+            io_cfg->bus_width == MMCSD_BUS_WIDTH_1 ? "1" : "",
+            io_cfg->power_mode == MMCSD_POWER_OFF ? "OFF" : "",
+            io_cfg->power_mode == MMCSD_POWER_UP ? "UP" : "",
+            io_cfg->power_mode == MMCSD_POWER_ON ? "ON" : ""
            );
-    
+
     RTHW_SDIO_LOCK(sdio);
 
     div = sdio->sdio_des.clk_get(sdio->sdio_des.hw_sdio) / clk;
@@ -413,7 +447,7 @@ static void rthw_sdio_iocfg(struct rt_mmcsd_host *host, struct rt_mmcsd_io_cfg *
         rt_kprintf("unknown power_mode %d\n", io_cfg->power_mode);
         break;
     }
-    
+
     RTHW_SDIO_UNLOCK(sdio);
 }
 
@@ -514,15 +548,15 @@ struct rt_mmcsd_host *sdio_host_create(struct stm32_sdio_des *sdio_des)
     struct rt_mmcsd_host *host;
     struct rthw_sdio *sdio = RT_NULL;
 
-    if ((sdio_des == RT_NULL) || 
-        (sdio_des->txconfig == RT_NULL) ||
-        (sdio_des->rxconfig == RT_NULL))
+    if ((sdio_des == RT_NULL) ||
+            (sdio_des->txconfig == RT_NULL) ||
+            (sdio_des->rxconfig == RT_NULL))
     {
-        rt_kprintf("L:%d F:%s %s %s %s\n", 
-         (sdio_des == RT_NULL ? "sdio_des is NULL" : ""),
-         (sdio_des ? (sdio_des->txconfig ? "txconfig is NULL" : "") : ""),
-         (sdio_des ? (sdio_des->rxconfig ? "rxconfig is NULL" : "") : "")
-        );
+        rt_kprintf("L:%d F:%s %s %s %s\n",
+                   (sdio_des == RT_NULL ? "sdio_des is NULL" : ""),
+                   (sdio_des ? (sdio_des->txconfig ? "txconfig is NULL" : "") : ""),
+                   (sdio_des ? (sdio_des->rxconfig ? "rxconfig is NULL" : "") : "")
+                  );
         return RT_NULL;
     }
 
@@ -551,7 +585,7 @@ struct rt_mmcsd_host *sdio_host_create(struct stm32_sdio_des *sdio_des)
 
     // set host defautl attributes
     host->ops = &ops;
-    host->freq_min = 400*1000;
+    host->freq_min = 400 * 1000;
     host->freq_max = SDIO_MAX_FREQ;
     host->valid_ocr = VDD_32_33 | VDD_33_34;
 #ifndef SDIO_USING_1_BIT
@@ -576,6 +610,7 @@ struct rt_mmcsd_host *sdio_host_create(struct stm32_sdio_des *sdio_des)
     return host;
 }
 
+#ifdef DBG_ENABLE
 void rthw_sdio_log_level_set(int level)
 {
     if ((level >= DBG_LOG) && (level <= DBG_ERROR))
@@ -588,7 +623,7 @@ int rthw_sdio_log_level_Get(void)
 }
 
 #include <stdlib.h>
-rt_err_t sdio_log(int argc, char** argv)
+rt_err_t sdio_log(int argc, char **argv)
 {
     int _level;
 
@@ -607,3 +642,4 @@ rt_err_t sdio_log(int argc, char** argv)
 #include <finsh.h>
 MSH_CMD_EXPORT(sdio_log, sdio log level 0 - 3);
 #endif
+#endif

+ 1 - 1
stm32_sdio.h

@@ -47,7 +47,7 @@ extern "C" {
 #define SDIO_ALIGN       (32)
 #endif
 
-#ifndef SDIO_MAX_FREQ   
+#ifndef SDIO_MAX_FREQ
 #define SDIO_MAX_FREQ    (24 * 1000 * 1000)
 #endif