diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2008-05-21 08:42:11 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2008-05-21 08:42:11 +0000 |
commit | a9c20f5789c13b486d217024a020f9d6163e2d51 (patch) | |
tree | 5da52ca9cc7a28ba21ced042cb739e6160d5f87b /firmware/target/arm/imx31/gigabeat-s/usb-imx31.c | |
parent | 5f796087b009fee1ae60904b0355cc7febe3330f (diff) | |
download | rockbox-a9c20f5789c13b486d217024a020f9d6163e2d51.tar.gz rockbox-a9c20f5789c13b486d217024a020f9d6163e2d51.zip |
Gigabeat S:
1) Rework event handling and static registration mechanism. No target-
specific code in mc13783 driver. GPIO event driver interfaces more
cleanly.
2) Somewhat related - enable thread priority for bootloader which is
desireable here (ffs is used for GPIO event enabling anyway and that
goes along with priority).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17593 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/imx31/gigabeat-s/usb-imx31.c')
-rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/usb-imx31.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/usb-imx31.c b/firmware/target/arm/imx31/gigabeat-s/usb-imx31.c index f12fd8f0b1..ad6c77138c 100644 --- a/firmware/target/arm/imx31/gigabeat-s/usb-imx31.c +++ b/firmware/target/arm/imx31/gigabeat-s/usb-imx31.c | |||
@@ -48,9 +48,10 @@ static void enable_transceiver(bool enable) | |||
48 | } | 48 | } |
49 | } | 49 | } |
50 | 50 | ||
51 | void usb_set_status(bool plugged) | 51 | void usb_connect_event(void) |
52 | { | 52 | { |
53 | usb_status = plugged ? USB_INSERTED : USB_EXTRACTED; | 53 | uint32_t status = mc13783_read(MC13783_INTERRUPT_SENSE0); |
54 | usb_status = (status & MC13783_USB4V4S) ? USB_INSERTED : USB_EXTRACTED; | ||
54 | } | 55 | } |
55 | 56 | ||
56 | int usb_detect(void) | 57 | int usb_detect(void) |
@@ -73,7 +74,11 @@ void usb_init_device(void) | |||
73 | /* Module will be turned off later after firmware init */ | 74 | /* Module will be turned off later after firmware init */ |
74 | usb_drv_startup(); | 75 | usb_drv_startup(); |
75 | 76 | ||
76 | mc13783_clear(MC13783_INTERRUPT_MASK0, MC13783_USB4V4M); | 77 | /* Initially poll */ |
78 | usb_connect_event(); | ||
79 | |||
80 | /* Enable PMIC event */ | ||
81 | mc13783_enable_event(MC13783_USB4V4_EVENT); | ||
77 | } | 82 | } |
78 | 83 | ||
79 | void usb_enable(bool on) | 84 | void usb_enable(bool on) |