summaryrefslogtreecommitdiff
path: root/firmware/target/arm/tms320dm320/creative-zvm/ata-creativezvm.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/tms320dm320/creative-zvm/ata-creativezvm.c')
-rw-r--r--firmware/target/arm/tms320dm320/creative-zvm/ata-creativezvm.c52
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
29void ide_power_enable(bool on){ 29void 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
44inline bool ide_powered(){ 47inline 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(){
52void ata_reset(void) 56void 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
76void ata_enable(bool on) 80void ata_enable(bool on)
77{ 81{
78 (void)on; 82 (void)on;
79 return; 83 return;
80} 84}
81 85
82bool ata_is_coldstart(void) 86bool ata_is_coldstart(void)