summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2008-11-01 14:38:45 +0000
committerRafaël Carré <rafael.carre@gmail.com>2008-11-01 14:38:45 +0000
commit646cac0bde7b11fa7bcb670d1d76eec78e360485 (patch)
treec33d88ce42bededc83a29fb18cf1bc4cace31bb4 /firmware/export
parente8753f3b25b16de85e75c5cd98340e534e49a9c7 (diff)
downloadrockbox-646cac0bde7b11fa7bcb670d1d76eec78e360485.zip
rockbox-646cac0bde7b11fa7bcb670d1d76eec78e360485.tar.gz
rockbox-646cac0bde7b11fa7bcb670d1d76eec78e360485.tar.bz2
rockbox-646cac0bde7b11fa7bcb670d1d76eec78e360485.tar.xz
Remove Linux's mmci.h since the license is strict GPLv2
Rewrite a new header distributed under GPLv2 or later, and place it in export/ in case other targets ship with an ARM PL180 controller git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18959 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/pl180.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/firmware/export/pl180.h b/firmware/export/pl180.h
new file mode 100644
index 0000000..98993cc
--- /dev/null
+++ b/firmware/export/pl180.h
@@ -0,0 +1,65 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright © 2008 Rafaël Carré
+ *
+ * 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 software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+/* ARM PrimeCell PL180 SD/MMC controller */
+
+/* MCIStatus bits */
+#define MCI_CMD_CRC_FAIL (1<<0)
+#define MCI_DATA_CRC_FAIL (1<<1)
+#define MCI_CMD_TIMEOUT (1<<2)
+#define MCI_DATA_TIMEOUT (1<<3)
+#define MCI_TX_UNDERRUN (1<<4)
+#define MCI_RX_OVERRUN (1<<5)
+#define MCI_CMD_RESP_END (1<<6)
+#define MCI_CMD_SENT (1<<7)
+#define MCI_DATA_END (1<<8)
+#define MCI_START_BIT_ERR (1<<9)
+#define MCI_DATA_BLOCK_END (1<<10)
+#define MCI_CMD_ACTIVE (1<<11)
+
+
+/* MCIPower bits */
+#define MCI_POWER_OFF 0x0
+/* 0x1 is reserved */
+#define MCI_POWER_UP 0x2
+#define MCI_POWER_ON 0x3
+
+/* bits 5:2 are the voltage */
+
+#define MCI_POWER_OPEN_DRAIN (1<<6)
+#define MCI_POWER_ROD (1<<7)
+
+
+/* MCIClock bits */
+/* bits 7:0 are the clock divider */
+#define MCI_CLOCK_ENABLE (1<<8)
+#define MCI_CLOCK_POWERSAVE (1<<9)
+#define MCI_CLOCK_BYPASS (1<<10)
+#define MCI_CLOCK_WIDEBUS (1<<11)
+
+
+/* MCICommand bits */
+/* bits 5:0 are the command index */
+#define MCI_COMMAND_RESPONSE (1<<6)
+#define MCI_COMMAND_LONG_RESPONSE (1<<7)
+#define MCI_COMMAND_INTERRUPT (1<<8)
+#define MCI_COMMAND_PENDING (1<<9)
+#define MCI_COMMAND_ENABLE (1<<10)