summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2012-01-04 21:55:09 +0000
committerFrank Gevaerts <frank@gevaerts.be>2012-01-04 21:55:09 +0000
commit4fcffcbdf34fc7a619c0626f8478cf06cdf1a043 (patch)
treead3a951e3ec9566b315807af8ab4045529c8878c /firmware/export
parentfd5524ff92b49d9fb14d3feaca4d26d86a05b2b2 (diff)
downloadrockbox-4fcffcbdf34fc7a619c0626f8478cf06cdf1a043.tar.gz
rockbox-4fcffcbdf34fc7a619c0626f8478cf06cdf1a043.zip
Reorganise USB initialisation to not depend on a specific enumeration sequence, by Bartosz Fabianowski, with minor tweaks by Michael Sevakis (FS#12497)
FreeBSD apparently sends a SET_ADDRESS first, which confused our code. This patch fixes that, and also simplifies the connection handling a bit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31582 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/config.h10
-rw-r--r--firmware/export/usb.h3
-rw-r--r--firmware/export/usb_drv.h1
3 files changed, 5 insertions, 9 deletions
diff --git a/firmware/export/config.h b/firmware/export/config.h
index 85c83015bd..9af8b1f70d 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -787,7 +787,7 @@ Lyre prototype 1 */
787/* Priority in bootloader is wanted */ 787/* Priority in bootloader is wanted */
788#define HAVE_PRIORITY_SCHEDULING 788#define HAVE_PRIORITY_SCHEDULING
789#define USB_STATUS_BY_EVENT 789#define USB_STATUS_BY_EVENT
790#define USB_DETECT_BY_CORE 790#define USB_DETECT_BY_REQUEST
791#if defined(HAVE_USBSTACK) && CONFIG_USBOTG == USBOTG_ARC 791#if defined(HAVE_USBSTACK) && CONFIG_USBOTG == USBOTG_ARC
792#define INCLUDE_TIMEOUT_API 792#define INCLUDE_TIMEOUT_API
793#define USB_DRIVER_CLOSE 793#define USB_DRIVER_CLOSE
@@ -815,17 +815,17 @@ Lyre prototype 1 */
815#ifdef HAVE_USBSTACK 815#ifdef HAVE_USBSTACK
816#if CONFIG_USBOTG == USBOTG_ARC 816#if CONFIG_USBOTG == USBOTG_ARC
817#define USB_STATUS_BY_EVENT 817#define USB_STATUS_BY_EVENT
818#define USB_DETECT_BY_CORE 818#define USB_DETECT_BY_REQUEST
819#define INCLUDE_TIMEOUT_API 819#define INCLUDE_TIMEOUT_API
820#elif CONFIG_USBOTG == USBOTG_AS3525 820#elif CONFIG_USBOTG == USBOTG_AS3525
821#define USB_STATUS_BY_EVENT 821#define USB_STATUS_BY_EVENT
822#define USB_DETECT_BY_CORE 822#define USB_DETECT_BY_REQUEST
823#elif CONFIG_USBOTG == USBOTG_S3C6400X /* FIXME */ && CONFIG_CPU == AS3525v2 823#elif CONFIG_USBOTG == USBOTG_S3C6400X /* FIXME */ && CONFIG_CPU == AS3525v2
824#define USB_STATUS_BY_EVENT 824#define USB_STATUS_BY_EVENT
825#define USB_DETECT_BY_CORE 825#define USB_DETECT_BY_REQUEST
826#elif CONFIG_USBOTG == USBOTG_RK27XX 826#elif CONFIG_USBOTG == USBOTG_RK27XX
827#define USB_STATUS_BY_EVENT 827#define USB_STATUS_BY_EVENT
828#define USB_DETECT_BY_CORE 828#define USB_DETECT_BY_REQUEST
829#endif /* CONFIG_USB == */ 829#endif /* CONFIG_USB == */
830#endif /* HAVE_USBSTACK */ 830#endif /* HAVE_USBSTACK */
831 831
diff --git a/firmware/export/usb.h b/firmware/export/usb.h
index 4af5617b3e..8954e9cc59 100644
--- a/firmware/export/usb.h
+++ b/firmware/export/usb.h
@@ -39,9 +39,6 @@ enum
39 USB_EXTRACTED = 0, /* Event+State */ 39 USB_EXTRACTED = 0, /* Event+State */
40 USB_INSERTED, /* Event+State */ 40 USB_INSERTED, /* Event+State */
41 USB_POWERED, /* State - transitional indicator if no power */ 41 USB_POWERED, /* State - transitional indicator if no power */
42#ifdef USB_DETECT_BY_CORE
43 USB_HOSTED, /* Event - host presence was detected */
44#endif
45#if (CONFIG_STORAGE & STORAGE_MMC) 42#if (CONFIG_STORAGE & STORAGE_MMC)
46 USB_REENABLE, /* Event */ 43 USB_REENABLE, /* Event */
47#endif 44#endif
diff --git a/firmware/export/usb_drv.h b/firmware/export/usb_drv.h
index c0b4d561f2..969a7b358a 100644
--- a/firmware/export/usb_drv.h
+++ b/firmware/export/usb_drv.h
@@ -24,7 +24,6 @@
24#include "kernel.h" 24#include "kernel.h"
25 25
26void usb_drv_startup(void); 26void usb_drv_startup(void);
27void usb_drv_usb_detect_event(void); /* Target implemented */
28void usb_drv_int_enable(bool enable); /* Target implemented */ 27void usb_drv_int_enable(bool enable); /* Target implemented */
29void usb_drv_init(void); 28void usb_drv_init(void);
30void usb_drv_exit(void); 29void usb_drv_exit(void);