summaryrefslogtreecommitdiff
path: root/firmware/target/arm/usb-drv-arc.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2011-01-17 12:24:41 +0000
committerMichael Sevakis <jethead71@rockbox.org>2011-01-17 12:24:41 +0000
commit05f6f3419aec991307e7c81e0738e0496a21d89b (patch)
tree4bad4a187bc2a2bdd714e086ac9910a9b3de6357 /firmware/target/arm/usb-drv-arc.c
parentbcc0f88372fd2be986a5e279dd7e3bd556d6c984 (diff)
downloadrockbox-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.c8
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
499void usb_drv_init(void) 499void 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 */
505void usb_drv_attach(void) 511void 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
512void usb_drv_exit(void) 520void usb_drv_exit(void)