diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2006-03-22 11:06:45 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2006-03-22 11:06:45 +0000 |
commit | 8f186803a53a907431e428355dc355996c77f9e7 (patch) | |
tree | 6ebc8569b41145c3add6554e1dddd3b05965717d | |
parent | d257683f3edbb0a2b819b27d34c2708809d3d57d (diff) | |
download | rockbox-8f186803a53a907431e428355dc355996c77f9e7.tar.gz rockbox-8f186803a53a907431e428355dc355996c77f9e7.zip |
USB mode for iAudio X5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9179 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/SOURCES | 1 | ||||
-rwxr-xr-x | firmware/target/coldfire/iaudio/x5/usb-target.h | 24 | ||||
-rwxr-xr-x | firmware/target/coldfire/iaudio/x5/usb-x5.c | 46 | ||||
-rw-r--r-- | firmware/usb.c | 7 |
4 files changed, 78 insertions, 0 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES index 6b80c5ee17..e99657c6f8 100644 --- a/firmware/SOURCES +++ b/firmware/SOURCES | |||
@@ -211,5 +211,6 @@ target/coldfire/iaudio/x5/pcf50606-x5.c | |||
211 | target/coldfire/iaudio/x5/adc-x5.c | 211 | target/coldfire/iaudio/x5/adc-x5.c |
212 | target/coldfire/iaudio/x5/ata-x5.c | 212 | target/coldfire/iaudio/x5/ata-x5.c |
213 | target/coldfire/iaudio/x5/system-x5.c | 213 | target/coldfire/iaudio/x5/system-x5.c |
214 | target/coldfire/iaudio/x5/usb-x5.c | ||
214 | #endif | 215 | #endif |
215 | #endif | 216 | #endif |
diff --git a/firmware/target/coldfire/iaudio/x5/usb-target.h b/firmware/target/coldfire/iaudio/x5/usb-target.h new file mode 100755 index 0000000000..ab8cac6f99 --- /dev/null +++ b/firmware/target/coldfire/iaudio/x5/usb-target.h | |||
@@ -0,0 +1,24 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2006 by Linus Nielsen Feltzing | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | #ifndef USB_TARGET_H | ||
20 | #define USB_TARGET_H | ||
21 | |||
22 | bool usb_init_device(void); | ||
23 | |||
24 | #endif | ||
diff --git a/firmware/target/coldfire/iaudio/x5/usb-x5.c b/firmware/target/coldfire/iaudio/x5/usb-x5.c new file mode 100755 index 0000000000..4f305010e2 --- /dev/null +++ b/firmware/target/coldfire/iaudio/x5/usb-x5.c | |||
@@ -0,0 +1,46 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2006 by Linus Nielsen Feltzing | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | #include "config.h" | ||
20 | #include <stdbool.h> | ||
21 | #include "cpu.h" | ||
22 | #include "system.h" | ||
23 | |||
24 | void usb_init_device(void) | ||
25 | { | ||
26 | and_l(~0x00000010, &GPIO_OUT); /* Self powered */ | ||
27 | or_l(0x00800000, &GPIO_OUT); /* RESET deasserted */ | ||
28 | or_l(0x00800010, &GPIO_FUNCTION); | ||
29 | or_l(0x00800010, &GPIO_ENABLE); | ||
30 | |||
31 | or_l(0x00800000, &GPIO1_FUNCTION); /* USB detect */ | ||
32 | } | ||
33 | |||
34 | bool usb_detect(void) | ||
35 | { | ||
36 | return (GPIO1_READ & 0x00800000)?true:false; | ||
37 | } | ||
38 | |||
39 | void usb_enable(bool on) | ||
40 | { | ||
41 | if(on) { | ||
42 | or_l(0x00000008, &GPIO1_OUT); | ||
43 | } else { | ||
44 | and_l(~0x00000008, &GPIO1_OUT); | ||
45 | } | ||
46 | } | ||
diff --git a/firmware/usb.c b/firmware/usb.c index 9fd18187b3..ad4f2b9325 100644 --- a/firmware/usb.c +++ b/firmware/usb.c | |||
@@ -41,6 +41,9 @@ | |||
41 | #ifdef HAVE_MMC | 41 | #ifdef HAVE_MMC |
42 | #include "ata_mmc.h" | 42 | #include "ata_mmc.h" |
43 | #endif | 43 | #endif |
44 | #ifdef TARGET_TREE | ||
45 | #include "usb-target.h" | ||
46 | #endif | ||
44 | 47 | ||
45 | extern void dbg_ports(void); /* NASTY! defined in apps/ */ | 48 | extern void dbg_ports(void); /* NASTY! defined in apps/ */ |
46 | 49 | ||
@@ -99,6 +102,7 @@ static struct event_queue usb_queue; | |||
99 | static bool last_usb_status; | 102 | static bool last_usb_status; |
100 | static bool usb_monitor_enabled; | 103 | static bool usb_monitor_enabled; |
101 | 104 | ||
105 | #ifndef TARGET_TREE | ||
102 | void usb_enable(bool on) | 106 | void usb_enable(bool on) |
103 | { | 107 | { |
104 | #ifdef USB_ENABLE_ONDIOSTYLE | 108 | #ifdef USB_ENABLE_ONDIOSTYLE |
@@ -203,6 +207,7 @@ void usb_enable(bool on) | |||
203 | or_b(0x04, &PAIORH); | 207 | or_b(0x04, &PAIORH); |
204 | #endif | 208 | #endif |
205 | } | 209 | } |
210 | #endif | ||
206 | 211 | ||
207 | #ifndef BOOTLOADER | 212 | #ifndef BOOTLOADER |
208 | static void usb_slave_mode(bool on) | 213 | static void usb_slave_mode(bool on) |
@@ -381,6 +386,7 @@ static void usb_thread(void) | |||
381 | } | 386 | } |
382 | #endif | 387 | #endif |
383 | 388 | ||
389 | #ifndef TARGET_TREE | ||
384 | bool usb_detect(void) | 390 | bool usb_detect(void) |
385 | { | 391 | { |
386 | bool current_status; | 392 | bool current_status; |
@@ -414,6 +420,7 @@ bool usb_detect(void) | |||
414 | #endif | 420 | #endif |
415 | return current_status; | 421 | return current_status; |
416 | } | 422 | } |
423 | #endif | ||
417 | 424 | ||
418 | #ifndef BOOTLOADER | 425 | #ifndef BOOTLOADER |
419 | static void usb_tick(void) | 426 | static void usb_tick(void) |