#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
}\r
void usb20otg_clock_enable(void* pdata, int enable)\r
{\r
+#\r
struct dwc_otg_platform_data *usbpdata=pdata;\r
\r
if(enable){\r
}\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
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