summaryrefslogtreecommitdiffstats
path: root/c/src/libchip/ide/ide_ctrl_cfg.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/libchip/ide/ide_ctrl_cfg.h')
-rw-r--r--c/src/libchip/ide/ide_ctrl_cfg.h25
1 files changed, 23 insertions, 2 deletions
diff --git a/c/src/libchip/ide/ide_ctrl_cfg.h b/c/src/libchip/ide/ide_ctrl_cfg.h
index 61ab426309..24ee3c1a7a 100644
--- a/c/src/libchip/ide/ide_ctrl_cfg.h
+++ b/c/src/libchip/ide/ide_ctrl_cfg.h
@@ -1,7 +1,7 @@
/*
* ide_ctrl_cfg.h
*
- * LibChip library IDE controller header file - structuers used for
+ * LibChip library IDE controller header file - structures used for
* configuration and plugin interface definition.
*
* Copyright (C) 2002 OKTET Ltd., St.-Petersburg, Russia
@@ -30,6 +30,27 @@ typedef enum {
IDE_CUSTOM /* BSP specific driver */
} ide_ctrl_devs_t;
+/* ATA modes: bit masks used in ctrl_config_io_speed call */
+#define ATA_MODES_PIO3 0x001
+#define ATA_MODES_PIO4 0x002
+
+#define ATA_MODES_PIO 0x003
+
+#define ATA_MODES_DMA0 0x004
+#define ATA_MODES_DMA1 0x008
+#define ATA_MODES_DMA2 0x010
+
+#define ATA_MODES_UDMA0 0x020
+#define ATA_MODES_UDMA1 0x040
+#define ATA_MODES_UDMA2 0x080
+#define ATA_MODES_UDMA3 0x100
+#define ATA_MODES_UDMA4 0x200
+#define ATA_MODES_UDMA5 0x400
+
+#define ATA_MODES_UDMA 0x7e0
+#define ATA_MODES_DMA 0x7fc
+
+
/*
* Each driver for a particular controller have to provide following
* functions in such a structure. The only field which should not be NULL
@@ -60,7 +81,7 @@ typedef struct ide_ctrl_fns_s {
uint32_t *pos);
rtems_status_code (*ctrl_config_io_speed)(int minor,
- uint8_t modes_available);
+ uint16_t modes_available);
} ide_ctrl_fns_t;
/*