usbdev_rk30 fix error
authorlyz <lyz@rock-chips.com>
Wed, 5 Sep 2012 09:31:55 +0000 (17:31 +0800)
committerlyz <lyz@rock-chips.com>
Wed, 5 Sep 2012 09:31:55 +0000 (17:31 +0800)
drivers/usb/dwc_otg/usbdev_rk30.c

index 2c3adc8dd9650a51917672c938eb99fbbef0527a..7dcca5f9d89c4dbcc2dac82dadb53f01f4fd12e3 100755 (executable)
 #define USBGRF_UOC0_CON3       (GRF_REG_BASE+0x118)\r
 #define USBGRF_UOC1_CON2       (GRF_REG_BASE+0x124)\r
 #define USBGRF_UOC1_CON3       (GRF_REG_BASE+0x128)\r
+\r
+#define RK3066B_HOST_DRV_VBUS RK30_PIN0_PD7\r
+#define RK3066B_OTG_DRV_VBUS  RK30_PIN0_PD6\r
+\r
 #else\r
 #define USBGRF_SOC_STATUS0     (GRF_REG_BASE+0x15c)\r
 #define USBGRF_UOC0_CON2       (GRF_REG_BASE+0x184)\r
@@ -169,6 +173,7 @@ void usb20otg_clock_init(void* pdata)
 }\r
 void usb20otg_clock_enable(void* pdata, int enable)\r
 {\r
+#\r
     struct dwc_otg_platform_data *usbpdata=pdata;\r
 \r
     if(enable){\r
@@ -220,28 +225,29 @@ int usb20otg_get_status(int id)
 }\r
  \r
 void usb20otg_power_enable(int enable)\r
-{\r
+{ \r
     int ret;\r
+    unsigned int usbgrf_status = *(unsigned int*)(USBGRF_SOC_STATUS0);\r
     if(0 == enable)//disable\r
     {\r
-    /*    ret = gpio_request(RK30_PIN0_PD6, NULL);\r
-        if (ret != 0) {\r
-            gpio_free(RK30_PIN0_PD6);\r
+        ret = gpio_request(RK3066B_OTG_DRV_VBUS, NULL);\r
+        if (ret != 0) \r
+        {\r
+            gpio_free(RK3066B_OTG_DRV_VBUS);\r
         }\r
-        gpio_direction_output(RK30_PIN0_PD6, 1);\r
-        gpio_set_value(RK30_PIN0_PD6, 0);*/ \r
-    }\r
+        gpio_direction_output(RK3066B_OTG_DRV_VBUS, GPIO_HIGH);\r
+        gpio_set_value(RK3066B_OTG_DRV_VBUS, GPIO_LOW); \r
 \r
+    }\r
     if(1 == enable)//enable\r
     {\r
-        ret = gpio_request(RK30_PIN0_PD6, NULL);\r
+        ret = gpio_request(RK3066B_OTG_DRV_VBUS, NULL);\r
         if (ret != 0) {\r
-            gpio_free(RK30_PIN0_PD6);\r
+            gpio_free(RK3066B_OTG_DRV_VBUS);\r
         }\r
-        gpio_direction_output(RK30_PIN0_PD6, 1);\r
-        gpio_set_value(RK30_PIN0_PD6, 1); \r
-    }  \r
-\r
+        gpio_direction_output(RK3066B_OTG_DRV_VBUS, GPIO_HIGH);\r
+        gpio_set_value(RK3066B_OTG_DRV_VBUS, GPIO_HIGH); \r
+    }   \r
 }\r
 struct dwc_otg_platform_data usb20otg_pdata = {\r
     .phyclk = NULL,\r
@@ -399,30 +405,29 @@ int usb20host_get_status(int id)
     return ret;\r
 }\r
 void usb20host_power_enable(int enable)\r
-{\r
-\r
+{ \r
     int ret;\r
     if(0 == enable)//disable\r
     {\r
-        //ret = gpio_request(RK30_PIN0_PD7, NULL);\r
+        //ret = gpio_request(RK3066B_HOST_DRV_VBUS, NULL);\r
         //if (ret != 0) {\r
-        //    gpio_free(RK30_PIN0_PD7);\r
+        //    gpio_free(RK3066B_HOST_DRV_VBUS);\r
         //}\r
-        //gpio_direction_output(RK30_PIN0_PD7, 1);\r
-        //gpio_set_value(RK30_PIN0_PD7, 0);\r
+        //gpio_direction_output(RK3066B_HOST_DRV_VBUS, 1);\r
+        //gpio_set_value(RK3066B_HOST_DRV_VBUS, 0);\r
         //printk("!!!!!!!!!!!!!!!!!!!disable host power!!!!!!!!!!!!!!!!!!\n");\r
     }\r
 \r
     if(1 == enable)//enable\r
     {\r
-        ret = gpio_request(RK30_PIN0_PD7, NULL);\r
+        ret = gpio_request(RK3066B_HOST_DRV_VBUS, NULL);\r
         if (ret != 0) {\r
-            gpio_free(RK30_PIN0_PD7);\r
+            gpio_free(RK3066B_HOST_DRV_VBUS);\r
         }\r
-        gpio_direction_output(RK30_PIN0_PD7, 1);\r
-        gpio_set_value(RK30_PIN0_PD7, 1);\r
+        gpio_direction_output(RK3066B_HOST_DRV_VBUS, GPIO_HIGH);\r
+        gpio_set_value(RK3066B_HOST_DRV_VBUS, GPIO_HIGH);\r
         //printk("!!!!!!!!!!!!!!!!!!!!!enable host power!!!!!!!!!!!!!!!!!!\n");\r
-    }  \r
+    }   \r
 }\r
 struct dwc_otg_platform_data usb20host_pdata = {\r
     .phyclk = NULL,\r