summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/ata.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/firmware/export/ata.h b/firmware/export/ata.h
index 5be32da..c7bf85d 100644
--- a/firmware/export/ata.h
+++ b/firmware/export/ata.h
@@ -25,6 +25,40 @@
#include "config.h" /* for HAVE_MULTIVOLUME or not */
#include "mv.h" /* for IF_MV() and friends */
+#ifndef ATA_OUT8
+#define ATA_OUT8(reg, data) (reg) = (data)
+#endif
+#ifndef ATA_OUT16
+#define ATA_OUT16(reg, data) (reg) = (data)
+#endif
+#ifndef ATA_IN8
+#define ATA_IN8(reg) (reg)
+#endif
+#ifndef ATA_IN16
+#define ATA_IN16(reg) (reg)
+#endif
+#ifndef ATA_SWAP_IDENTIFY
+#define ATA_SWAP_IDENTIFY(word) (word)
+#endif
+
+#define STATUS_BSY 0x80
+#define STATUS_RDY 0x40
+#define STATUS_DRQ 0x08
+#define STATUS_ERR 0x01
+#define STATUS_DF 0x20
+#define ERROR_IDNF 0x10
+#define ERROR_ABRT 0x04
+
+#define TEST_PATTERN1 0xa5
+#define TEST_PATTERN2 0x5a
+#define TEST_PATTERN3 0xaa
+#define TEST_PATTERN4 0x55
+
+#define ATA_FEATURE ATA_ERROR
+
+#define ATA_STATUS ATA_COMMAND
+#define ATA_ALT_STATUS ATA_CONTROL
+
struct storage_info;
void ata_enable(bool on);