summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/SOURCES1
-rwxr-xr-xfirmware/target/coldfire/iaudio/x5/usb-target.h24
-rwxr-xr-xfirmware/target/coldfire/iaudio/x5/usb-x5.c46
-rw-r--r--firmware/usb.c7
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
211target/coldfire/iaudio/x5/adc-x5.c 211target/coldfire/iaudio/x5/adc-x5.c
212target/coldfire/iaudio/x5/ata-x5.c 212target/coldfire/iaudio/x5/ata-x5.c
213target/coldfire/iaudio/x5/system-x5.c 213target/coldfire/iaudio/x5/system-x5.c
214target/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
22bool 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
24void 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
34bool usb_detect(void)
35{
36 return (GPIO1_READ & 0x00800000)?true:false;
37}
38
39void 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
45extern void dbg_ports(void); /* NASTY! defined in apps/ */ 48extern void dbg_ports(void); /* NASTY! defined in apps/ */
46 49
@@ -99,6 +102,7 @@ static struct event_queue usb_queue;
99static bool last_usb_status; 102static bool last_usb_status;
100static bool usb_monitor_enabled; 103static bool usb_monitor_enabled;
101 104
105#ifndef TARGET_TREE
102void usb_enable(bool on) 106void 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
208static void usb_slave_mode(bool on) 213static 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
384bool usb_detect(void) 390bool 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
419static void usb_tick(void) 426static void usb_tick(void)