Index: yc_gpio.c
===================================================================
--- /YC3121_SDK/fw/sdk/yc_gpio.c	(revision 698)
+++ /YC3121_SDK/fw/sdk/yc_gpio.c	(working copy)
@@ -16,18 +16,11 @@
 
     int i;
 
-	if(GPIOx==GPIOC && GPIO_Pin==GPIO_Pin_0)
-	{
-		uint32_t value = lpm_bt_read(LPMBT_CONTROL1);
-		value &= ~(1<<17);
-		lpm_bt_write(LPMBT_CONTROL1, value);
-	}
-	
-	for (i = 0; i < GPIO_PIN_NUM; i++)
-	{
-		if (GPIO_Pin & 1 << i)
-			GPIO_CONFIG(GPIOx*GPIO_PIN_NUM + i) = function;
-	}
+    for (i = 0; i < GPIO_PIN_NUM; i++)
+    {
+        if (GPIO_Pin & 1 << i)
+            GPIO_CONFIG(GPIOx * GPIO_PIN_NUM + i) = function;
+    }
 }
 
 void GPIO_Init(GPIO_TypeDef GPIOx, GPIO_InitTypeDef *GPIO_InitStruct)
@@ -38,22 +31,15 @@
 
     int i;
 
-	if(GPIOx==GPIOC && GPIO_InitStruct->GPIO_Pin==GPIO_Pin_0)
-	{
-		uint32_t value = lpm_bt_read(LPMBT_CONTROL1);
-		value &= ~(1<<17);
-		lpm_bt_write(LPMBT_CONTROL1, value);
-	}
-
-	switch (GPIO_InitStruct->GPIO_Mode)
-	{
-		case GPIO_Mode_IN_FLOATING:
-			for (i = 0; i < GPIO_PIN_NUM; i++)
-			{
-				if (GPIO_InitStruct->GPIO_Pin & 1 << i)
-					GPIO_CONFIG(GPIOx*GPIO_PIN_NUM + i) = 0x00;
-			}
-			break;
+    switch (GPIO_InitStruct->GPIO_Mode)
+    {
+    case GPIO_Mode_IN_FLOATING:
+        for (i = 0; i < GPIO_PIN_NUM; i++)
+        {
+            if (GPIO_InitStruct->GPIO_Pin & 1 << i)
+                GPIO_CONFIG(GPIOx * GPIO_PIN_NUM + i) = 0x00;
+        }
+        break;
 
     case GPIO_Mode_IPU:
         for (i = 0; i < GPIO_PIN_NUM; i++)
Index: yc_lpm.h
===================================================================
--- /YC3121_SDK/fw/sdk/yc_lpm.h	(revision 698)
+++ /YC3121_SDK/fw/sdk/yc_lpm.h	(working copy)
@@ -66,4 +66,9 @@
  */
 void CM0_Sleep(uint32_t time, GPIO_TypeDef GPIOx, uint16_t GPIO_Pin, uint8_t islow_wakeup, uint8_t is_powerdownbt);
 
+/*
+ * @brief: GPIO32(GPIOC GPIO_Pin_0) enable
+ */
+void enable_gpio_32(void);
+
 #endif

Index: yc_lpm.c
===================================================================
--- /YC3121_SDK/fw/sdk/yc_lpm.c	(revision 698)
+++ /YC3121_SDK/fw/sdk/yc_lpm.c	(working copy)
@@ -186,3 +186,10 @@
 
     lpm_sleep();
 }
+
+void enable_gpio_32(void)
+{
+    uint32_t value = lpm_bt_read(LPMBT_CONTROL1);
+    value &= ~(1<<17);
+    lpm_bt_write(LPMBT_CONTROL1, value);
+}
