diff options
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/usb-drv-pp502x.c | 6 | ||||
-rw-r--r-- | firmware/target/arm/usb-fw-pp502x.c | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/firmware/target/arm/usb-drv-pp502x.c b/firmware/target/arm/usb-drv-pp502x.c index 06358669c6..7a88e2bbc2 100644 --- a/firmware/target/arm/usb-drv-pp502x.c +++ b/firmware/target/arm/usb-drv-pp502x.c | |||
@@ -353,6 +353,7 @@ bool usb_drv_powered(void) | |||
353 | /* manual: 32.14.1 Device Controller Initialization */ | 353 | /* manual: 32.14.1 Device Controller Initialization */ |
354 | void usb_drv_init(void) | 354 | void usb_drv_init(void) |
355 | { | 355 | { |
356 | trigger_cpu_boost(); | ||
356 | REG_USBCMD &= ~USBCMD_RUN; | 357 | REG_USBCMD &= ~USBCMD_RUN; |
357 | udelay(50000); | 358 | udelay(50000); |
358 | REG_USBCMD |= USBCMD_CTRL_RESET; | 359 | REG_USBCMD |= USBCMD_CTRL_RESET; |
@@ -522,6 +523,11 @@ int usb_drv_port_speed(void) | |||
522 | return (REG_PORTSC1 & 0x08000000) ? 1 : 0; | 523 | return (REG_PORTSC1 & 0x08000000) ? 1 : 0; |
523 | } | 524 | } |
524 | 525 | ||
526 | bool usb_drv_connected(void) | ||
527 | { | ||
528 | return ((REG_PORTSC1 & PORTSCX_CURRENT_CONNECT_STATUS) !=0); | ||
529 | } | ||
530 | |||
525 | void usb_drv_set_address(int address) | 531 | void usb_drv_set_address(int address) |
526 | { | 532 | { |
527 | REG_DEVICEADDR = address << USBDEVICEADDRESS_BIT_POS; | 533 | REG_DEVICEADDR = address << USBDEVICEADDRESS_BIT_POS; |
diff --git a/firmware/target/arm/usb-fw-pp502x.c b/firmware/target/arm/usb-fw-pp502x.c index 008d42d991..d881488094 100644 --- a/firmware/target/arm/usb-fw-pp502x.c +++ b/firmware/target/arm/usb-fw-pp502x.c | |||
@@ -119,7 +119,12 @@ static bool usb_pin_detect(void) | |||
119 | int usb_detect(void) | 119 | int usb_detect(void) |
120 | { | 120 | { |
121 | if(usb_pin_detect()) { | 121 | if(usb_pin_detect()) { |
122 | return USB_INSERTED; | 122 | if(usb_drv_connected()) { |
123 | return USB_INSERTED; | ||
124 | } | ||
125 | else { | ||
126 | return USB_POWERED; | ||
127 | } | ||
123 | } | 128 | } |
124 | else { | 129 | else { |
125 | return USB_EXTRACTED; | 130 | return USB_EXTRACTED; |