diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2011-01-17 12:24:41 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2011-01-17 12:24:41 +0000 |
commit | 05f6f3419aec991307e7c81e0738e0496a21d89b (patch) | |
tree | 4bad4a187bc2a2bdd714e086ac9910a9b3de6357 /firmware/target/arm/usb-drv-arc.c | |
parent | bcc0f88372fd2be986a5e279dd7e3bd556d6c984 (diff) | |
download | rockbox-05f6f3419aec991307e7c81e0738e0496a21d89b.tar.gz rockbox-05f6f3419aec991307e7c81e0738e0496a21d89b.zip |
Add a higher level USB detection that prevents fraudulent bus resets from causing USB mode to be entered. Enable for SA9200 only at this time. Also, for SA9200, use the bus power GPIO rather than the 'connector inserted' GPIO to detect the cable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29068 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/usb-drv-arc.c')
-rw-r--r-- | firmware/target/arm/usb-drv-arc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/firmware/target/arm/usb-drv-arc.c b/firmware/target/arm/usb-drv-arc.c index 86a1637bc8..fc74ce5bf0 100644 --- a/firmware/target/arm/usb-drv-arc.c +++ b/firmware/target/arm/usb-drv-arc.c | |||
@@ -498,15 +498,23 @@ static void log_ep(int ep_num, int ep_dir, char* prefix) | |||
498 | 498 | ||
499 | void usb_drv_init(void) | 499 | void usb_drv_init(void) |
500 | { | 500 | { |
501 | #ifdef USB_DETECT_BY_CORE | ||
502 | /* USB core decides */ | ||
503 | _usb_drv_init(true); | ||
504 | #else | ||
505 | /* Use bus reset condition */ | ||
501 | _usb_drv_init(false); | 506 | _usb_drv_init(false); |
507 | #endif | ||
502 | } | 508 | } |
503 | 509 | ||
504 | /* fully enable driver */ | 510 | /* fully enable driver */ |
505 | void usb_drv_attach(void) | 511 | void usb_drv_attach(void) |
506 | { | 512 | { |
507 | logf("usb_drv_attach"); | 513 | logf("usb_drv_attach"); |
514 | #ifndef USB_DETECT_BY_CORE | ||
508 | sleep(HZ/10); | 515 | sleep(HZ/10); |
509 | _usb_drv_init(true); | 516 | _usb_drv_init(true); |
517 | #endif | ||
510 | } | 518 | } |
511 | 519 | ||
512 | void usb_drv_exit(void) | 520 | void usb_drv_exit(void) |