diff options
Diffstat (limited to 'firmware/target/arm/tms320dm320/creative-zvm/ata-creativezvm.c')
-rw-r--r-- | firmware/target/arm/tms320dm320/creative-zvm/ata-creativezvm.c | 52 |
1 files changed, 28 insertions, 24 deletions
diff --git a/firmware/target/arm/tms320dm320/creative-zvm/ata-creativezvm.c b/firmware/target/arm/tms320dm320/creative-zvm/ata-creativezvm.c index 5cbcd72415..331803360f 100644 --- a/firmware/target/arm/tms320dm320/creative-zvm/ata-creativezvm.c +++ b/firmware/target/arm/tms320dm320/creative-zvm/ata-creativezvm.c | |||
@@ -26,7 +26,8 @@ | |||
26 | #include "panic.h" | 26 | #include "panic.h" |
27 | #include "ata-target.h" | 27 | #include "ata-target.h" |
28 | 28 | ||
29 | void ide_power_enable(bool on){ | 29 | void ide_power_enable(bool on) |
30 | { | ||
30 | #if 0 | 31 | #if 0 |
31 | IO_INTC_EINT1 &= ~INTR_EINT1_EXT2; | 32 | IO_INTC_EINT1 &= ~INTR_EINT1_EXT2; |
32 | if(on) | 33 | if(on) |
@@ -37,13 +38,16 @@ void ide_power_enable(bool on){ | |||
37 | else | 38 | else |
38 | IO_GIO_BITCLR0 = (1 << 14); | 39 | IO_GIO_BITCLR0 = (1 << 14); |
39 | IO_INTC_EINT1 |= INTR_EINT1_EXT2; | 40 | IO_INTC_EINT1 |= INTR_EINT1_EXT2; |
40 | return; | 41 | return; |
42 | #else | ||
43 | (void)on; | ||
41 | #endif | 44 | #endif |
42 | } | 45 | } |
43 | 46 | ||
44 | inline bool ide_powered(){ | 47 | inline bool ide_powered() |
48 | { | ||
45 | #if 0 | 49 | #if 0 |
46 | return (IO_GIO_BITSET0 & (1 << 14)); | 50 | return (IO_GIO_BITSET0 & (1 << 14)); |
47 | #else | 51 | #else |
48 | return true; | 52 | return true; |
49 | #endif | 53 | #endif |
@@ -52,31 +56,31 @@ inline bool ide_powered(){ | |||
52 | void ata_reset(void) | 56 | void ata_reset(void) |
53 | { | 57 | { |
54 | /* Disabled until figured out what's wrong */ | 58 | /* Disabled until figured out what's wrong */ |
55 | IO_INTC_EINT1 &= ~INTR_EINT1_EXT2; //disable GIO2 interrupt | 59 | IO_INTC_EINT1 &= ~INTR_EINT1_EXT2; /*disable GIO2 interrupt */ |
56 | if(!ide_powered()) | 60 | if(!ide_powered()) |
57 | { | 61 | { |
58 | ide_power_enable(true); | 62 | ide_power_enable(true); |
59 | sleep(150); | 63 | sleep(150); |
60 | } | 64 | } |
61 | else | 65 | else |
62 | { | 66 | { |
63 | IO_GIO_BITSET0 = (1 << 5); | 67 | IO_GIO_BITSET0 = (1 << 5); |
64 | IO_GIO_BITCLR0 = (1 << 3); | 68 | IO_GIO_BITCLR0 = (1 << 3); |
65 | sleep(1); | 69 | sleep(1); |
66 | } | 70 | } |
67 | IO_GIO_BITCLR0 = (1 << 5); | 71 | IO_GIO_BITCLR0 = (1 << 5); |
68 | sleep(10); | 72 | sleep(10); |
69 | IO_GIO_BITSET0 = (1 << 3); | 73 | IO_GIO_BITSET0 = (1 << 3); |
70 | while(!(ATA_COMMAND & STATUS_RDY)) | 74 | while(!(ATA_COMMAND & STATUS_RDY)) |
71 | sleep(10); | 75 | sleep(10); |
72 | IO_INTC_EINT1 |= INTR_EINT1_EXT2; //enable GIO2 interrupt | 76 | IO_INTC_EINT1 |= INTR_EINT1_EXT2; //enable GIO2 interrupt |
73 | return; | 77 | return; |
74 | } | 78 | } |
75 | 79 | ||
76 | void ata_enable(bool on) | 80 | void ata_enable(bool on) |
77 | { | 81 | { |
78 | (void)on; | 82 | (void)on; |
79 | return; | 83 | return; |
80 | } | 84 | } |
81 | 85 | ||
82 | bool ata_is_coldstart(void) | 86 | bool ata_is_coldstart(void) |