diff options
Diffstat (limited to 'firmware/target/coldfire/mpio/ata-mpio.c')
-rw-r--r-- | firmware/target/coldfire/mpio/ata-mpio.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/firmware/target/coldfire/mpio/ata-mpio.c b/firmware/target/coldfire/mpio/ata-mpio.c index db03095e3d..f993dd9178 100644 --- a/firmware/target/coldfire/mpio/ata-mpio.c +++ b/firmware/target/coldfire/mpio/ata-mpio.c | |||
@@ -39,13 +39,22 @@ void ata_reset(void) | |||
39 | 39 | ||
40 | void ata_enable(bool on) | 40 | void ata_enable(bool on) |
41 | { | 41 | { |
42 | (void)on; | 42 | /* GPO36 /reset line of GL811E */ |
43 | if (on) | ||
44 | and_l(~(1<<4), &GPIO1_OUT); | ||
45 | else | ||
46 | or_l((1<<4), &GPIO1_OUT); | ||
47 | |||
48 | or_l((1<<4), &GPIO1_ENABLE); | ||
49 | or_l((1<<4), &GPIO1_FUNCTION); | ||
43 | } | 50 | } |
44 | 51 | ||
45 | /* to be fixed */ | ||
46 | bool ata_is_coldstart(void) | 52 | bool ata_is_coldstart(void) |
47 | { | 53 | { |
48 | return true; | 54 | /* check if ATA reset line is configured |
55 | * as GPIO | ||
56 | */ | ||
57 | return (GPIO_FUNCTION & (1<<19)) == 0; | ||
49 | } | 58 | } |
50 | 59 | ||
51 | void ata_device_init(void) | 60 | void ata_device_init(void) |