summaryrefslogtreecommitdiffstats
path: root/include/platform_ide.h
diff options
context:
space:
mode:
authorJuergen Beisert <jbe@pengutronix.de>2011-11-24 13:43:51 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2011-11-28 09:23:24 +0100
commit55ebf18c6603dd8d93c4a6a9d57ca390c9028c37 (patch)
treedd8baf72aaac9c25a0446c33a5e93590afffa6ad /include/platform_ide.h
parent16db801f4dc17e26faaaa7dccff39233fcc863f3 (diff)
downloadbarebox-55ebf18c6603dd8d93c4a6a9d57ca390c9028c37.tar.gz
barebox-55ebf18c6603dd8d93c4a6a9d57ca390c9028c37.tar.xz
Add driver for IDE like interfaces
This simple driver enables a generic driver for ATA type of devices to get access to the so called 'register file' of an ATA drive. Signed-off-by: Juergen Beisert <jbe@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include/platform_ide.h')
-rw-r--r--include/platform_ide.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/platform_ide.h b/include/platform_ide.h
new file mode 100644
index 0000000000..f71fbfbc01
--- /dev/null
+++ b/include/platform_ide.h
@@ -0,0 +1,32 @@
+/*
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __PLATFORM_IDE_H
+#define __PLATFORM_IDE_H
+
+struct ide_port_info {
+ /*
+ * I/O port shift, for platforms with ports that are
+ * constantly spaced and need larger than the 1-byte
+ * spacing
+ */
+ unsigned ioport_shift;
+ int dataif_be; /* true if 16 bit data register is big endian */
+
+ /* handle hard reset of this port */
+ void (*reset)(int); /* true: assert reset, false: de-assert reset */
+};
+
+#endif /* __PLATFORM_IDE_H */