diff options
Diffstat (limited to 'firmware/target/coldfire/mpio/usb-mpio.c')
-rw-r--r-- | firmware/target/coldfire/mpio/usb-mpio.c | 27 |
1 files changed, 6 insertions, 21 deletions
diff --git a/firmware/target/coldfire/mpio/usb-mpio.c b/firmware/target/coldfire/mpio/usb-mpio.c index a8c3db85bd..9436517134 100644 --- a/firmware/target/coldfire/mpio/usb-mpio.c +++ b/firmware/target/coldfire/mpio/usb-mpio.c | |||
@@ -30,9 +30,6 @@ void usb_init_device(void) | |||
30 | /* GPIO42 is USB detect input | 30 | /* GPIO42 is USB detect input |
31 | * but it also serves as MCLK2 for DAC | 31 | * but it also serves as MCLK2 for DAC |
32 | */ | 32 | */ |
33 | and_l(~(1<<4), &GPIO1_OUT); /* GPIO36 low */ | ||
34 | or_l((1<<4), &GPIO1_ENABLE); /* GPIO36 */ | ||
35 | or_l((1<<4)|(1<<5), &GPIO1_FUNCTION); /* GPIO36 GPIO37 */ | ||
36 | 33 | ||
37 | /* GPIO22 GPIO30 high */ | 34 | /* GPIO22 GPIO30 high */ |
38 | or_l((1<<22)|(1<<30), &GPIO_OUT); | 35 | or_l((1<<22)|(1<<30), &GPIO_OUT); |
@@ -48,28 +45,16 @@ int usb_detect(void) | |||
48 | 45 | ||
49 | void usb_enable(bool on) | 46 | void usb_enable(bool on) |
50 | { | 47 | { |
51 | /* one second timeout */ | ||
52 | unsigned char timeout = 10; | ||
53 | |||
54 | if(on) | 48 | if(on) |
55 | { | 49 | { |
56 | and_l(~(1<<30),&GPIO_OUT); /* GPIO30 low */ | 50 | /* Turn on power for GL811E bridge */ |
57 | and_l(~(1<<22),&GPIO_OUT); /* GPIO22 low */ | 51 | and_l(~((1<<30)|(1<<22)),&GPIO_OUT); /* GPIO30 low */ |
58 | 52 | /* GPIO22 low */ | |
59 | or_l((1<<4),&GPIO1_OUT); /* GPIO36 high */ | ||
60 | |||
61 | } | 53 | } |
62 | else | 54 | else |
63 | { | 55 | { |
64 | or_l((1<<22),&GPIO_OUT); /* GPIO22 high */ | 56 | /* Turn off power */ |
65 | or_l((1<<30),&GPIO_OUT); /* GPIO30 high */ | 57 | or_l((1<<30)|(1<<22),&GPIO_OUT); /* GPIO22 high */ |
66 | 58 | /* GPIO30 high */ | |
67 | and_l(~(1<<4),&GPIO1_OUT); /* GPIO36 low */ | ||
68 | |||
69 | while ( !(GPIO1_READ & (1<<5)) && timeout--) | ||
70 | { | ||
71 | sleep(HZ/10); | ||
72 | } | ||
73 | sleep(HZ); | ||
74 | } | 59 | } |
75 | } | 60 | } |