diff options
author | Marcin Bukat <marcin.bukat@gmail.com> | 2010-06-14 10:42:41 +0000 |
---|---|---|
committer | Marcin Bukat <marcin.bukat@gmail.com> | 2010-06-14 10:42:41 +0000 |
commit | cc6747ca5ba6a8597aa134e8c51803a55f2c9d56 (patch) | |
tree | 2ae825d2e123bb1d62d7275b35e7dd78627633bc /firmware/target | |
parent | b49577b3815d1cd3a657a709c81f1ff7d0c07ae4 (diff) | |
download | rockbox-cc6747ca5ba6a8597aa134e8c51803a55f2c9d56.tar.gz rockbox-cc6747ca5ba6a8597aa134e8c51803a55f2c9d56.zip |
HD200 - make USB bridge handling more correct
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26843 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/coldfire/mpio/hd200/usb-hd200.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/firmware/target/coldfire/mpio/hd200/usb-hd200.c b/firmware/target/coldfire/mpio/hd200/usb-hd200.c index 4c9e353f66..9a82359966 100644 --- a/firmware/target/coldfire/mpio/hd200/usb-hd200.c +++ b/firmware/target/coldfire/mpio/hd200/usb-hd200.c | |||
@@ -52,27 +52,19 @@ void usb_enable(bool on) | |||
52 | if(on) | 52 | if(on) |
53 | { | 53 | { |
54 | and_l(~(1<<30),&GPIO_OUT); /* GPIO30 low */ | 54 | and_l(~(1<<30),&GPIO_OUT); /* GPIO30 low */ |
55 | /* GPIO36 low delay GPIO36 high delay */ | 55 | and_l(~(1<<22),&GPIO_OUT); /* GPIO22 low */ |
56 | and_l(~(1<<4),&GPIO1_OUT); | 56 | |
57 | or_l((1<<4),&GPIO1_OUT); | 57 | or_l((1<<4),&GPIO1_OUT); /* GPIO36 high */ |
58 | 58 | ||
59 | sleep(HZ/5); /* delay 200 ms */ | ||
60 | and_l(~(1<<22),&GPIO_OUT); /* GPIO22 low */ | ||
61 | } | 59 | } |
62 | else | 60 | else |
63 | { | 61 | { |
64 | /* GPIO36 low delay GPIO36 high delay */ | ||
65 | and_l(~(1<<4),&GPIO1_OUT); | ||
66 | sleep(HZ/100); | ||
67 | or_l((1<<4),&GPIO1_OUT); | ||
68 | sleep(HZ/100); | ||
69 | |||
70 | or_l((1<<22),&GPIO_OUT); /* GPIO22 high */ | 62 | or_l((1<<22),&GPIO_OUT); /* GPIO22 high */ |
71 | or_l((1<<30),&GPIO_OUT); /* GPIO30 high */ | 63 | or_l((1<<30),&GPIO_OUT); /* GPIO30 high */ |
72 | 64 | ||
73 | and_l(~(1<<4),&GPIO1_OUT); /* GPIO36 low */ | 65 | and_l(~(1<<4),&GPIO1_OUT); /* GPIO36 low */ |
74 | 66 | ||
75 | while ( !(GPIO1_READ & (1<<5)) ) {} | 67 | while ( !(GPIO1_READ & (1<<5)) ) {} |
76 | sleep(HZ); | 68 | sleep(HZ); |
77 | } | 69 | } |
78 | } | 70 | } |