summaryrefslogtreecommitdiff
path: root/firmware/target/arm/olympus/mrobe-500/ata-target.h
diff options
context:
space:
mode:
authorKarl Kurbjun <kkurbjun@gmail.com>2007-09-25 01:44:57 +0000
committerKarl Kurbjun <kkurbjun@gmail.com>2007-09-25 01:44:57 +0000
commit968ba0a277d2437f109b8b1dde66dacfc5ee2126 (patch)
tree8e57a44709f01102a227e240b7476d02eabe9c6a /firmware/target/arm/olympus/mrobe-500/ata-target.h
parent7255bdbb6ad04a5e79cef0e4f68a5e339683fd21 (diff)
downloadrockbox-968ba0a277d2437f109b8b1dde66dacfc5ee2126.tar.gz
rockbox-968ba0a277d2437f109b8b1dde66dacfc5ee2126.zip
More ATA work (that doesn't work)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14848 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/olympus/mrobe-500/ata-target.h')
-rw-r--r--firmware/target/arm/olympus/mrobe-500/ata-target.h23
1 files changed, 13 insertions, 10 deletions
diff --git a/firmware/target/arm/olympus/mrobe-500/ata-target.h b/firmware/target/arm/olympus/mrobe-500/ata-target.h
index f6b1a23b72..8b7dadf5e9 100644
--- a/firmware/target/arm/olympus/mrobe-500/ata-target.h
+++ b/firmware/target/arm/olympus/mrobe-500/ata-target.h
@@ -16,7 +16,7 @@
16 * KIND, either express or implied. 16 * KIND, either express or implied.
17 * 17 *
18 ****************************************************************************/ 18 ****************************************************************************/
19 19
20#ifndef ATA_TARGET_H 20#ifndef ATA_TARGET_H
21#define ATA_TARGET_H 21#define ATA_TARGET_H
22 22
@@ -29,15 +29,18 @@
29#endif 29#endif
30 30
31#define ATA_IOBASE 0x50000000 31#define ATA_IOBASE 0x50000000
32#define ATA_DATA (*((volatile unsigned short*)(ATA_IOBASE+0xa0))) 32#define REGISTER_OFFSET 0x00400000 /* A21 = High */
33#define ATA_ERROR (*((volatile unsigned char*)(ATA_IOBASE + 0xa2))) 33#define CONTROL_OFFSET 0x00800000 /* A22 = High */
34#define ATA_NSECTOR (*((volatile unsigned char*)(ATA_IOBASE + 0x24))) 34#define IDE_SHIFT 17
35#define ATA_SECTOR (*((volatile unsigned char*)(ATA_IOBASE + 0x26))) 35#define ATA_DATA (*((volatile unsigned short*)(REGISTER_OFFSET + (0x00 << IDE_SHIFT))))
36#define ATA_LCYL (*((volatile unsigned char*)(ATA_IOBASE + 0x28))) 36#define ATA_ERROR (*((volatile unsigned char*)(REGISTER_OFFSET + (0x01 << IDE_SHIFT))))
37#define ATA_HCYL (*((volatile unsigned char*)(ATA_IOBASE + 0x2A))) 37#define ATA_NSECTOR (*((volatile unsigned char*)(REGISTER_OFFSET + (0x02 << IDE_SHIFT))))
38#define ATA_SELECT (*((volatile unsigned char*)(ATA_IOBASE + 0x2C))) 38#define ATA_SECTOR (*((volatile unsigned char*)(REGISTER_OFFSET + (0x03 << IDE_SHIFT))))
39#define ATA_COMMAND (*((volatile unsigned char*)(ATA_IOBASE + 0x2E))) 39#define ATA_LCYL (*((volatile unsigned char*)(REGISTER_OFFSET + (0x04 << IDE_SHIFT))))
40#define ATA_CONTROL (*((volatile unsigned char*)(ATA_IOBASE + 0x9C))) 40#define ATA_HCYL (*((volatile unsigned char*)(REGISTER_OFFSET + (0x05 << IDE_SHIFT))))
41#define ATA_SELECT (*((volatile unsigned char*)(REGISTER_OFFSET + (0x06 << IDE_SHIFT))))
42#define ATA_COMMAND (*((volatile unsigned char*)(REGISTER_OFFSET + (0x07 << IDE_SHIFT))))
43#define ATA_CONTROL (*((volatile unsigned char*)(CONTROL_OFFSET + (0x06 << IDE_SHIFT))))
41 44
42#define STATUS_BSY 0x80 45#define STATUS_BSY 0x80
43#define STATUS_RDY 0x40 46#define STATUS_RDY 0x40