summaryrefslogtreecommitdiff
path: root/board/at91rm9200dk/mux.c
diff options
context:
space:
mode:
authorPeter Pearse <peter.pearse@arm.com>2007-08-14 10:14:05 +0100
committerPeter Pearse <peter.pearse@arm.com>2007-08-14 10:14:05 +0100
commitdcbfd2e5649f97aa04fbbc6ea2b008aa4486e225 (patch)
tree2abf548815d64a81484bb1d9676392433512cece /board/at91rm9200dk/mux.c
parentd4fc6012fd0a5c211b825691f44b06f8032c0551 (diff)
downloadu-boot-dcbfd2e5649f97aa04fbbc6ea2b008aa4486e225.tar.gz
Add the files.
Diffstat (limited to 'board/at91rm9200dk/mux.c')
-rw-r--r--board/at91rm9200dk/mux.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/board/at91rm9200dk/mux.c b/board/at91rm9200dk/mux.c
new file mode 100644
index 0000000000..d573923c1b
--- /dev/null
+++ b/board/at91rm9200dk/mux.c
@@ -0,0 +1,39 @@
+#include <config.h>
+#include <common.h>
+#include <asm/hardware.h>
+#include <dataflash.h>
+
+int AT91F_GetMuxStatus(void) {
+#ifdef DATAFLASH_MMC_SELECT
+ AT91C_BASE_PIOB->PIO_PER = DATAFLASH_MMC_SELECT; /* Set in PIO mode */
+ AT91C_BASE_PIOB->PIO_OER = DATAFLASH_MMC_SELECT; /* Configure in output */
+
+
+ if(AT91C_BASE_PIOB->PIO_ODSR & DATAFLASH_MMC_SELECT) {
+ return 1;
+ } else {
+ return 0;
+ }
+#endif
+ return 0;
+}
+
+void AT91F_SelectMMC(void) {
+#ifdef DATAFLASH_MMC_SELECT
+ AT91C_BASE_PIOB->PIO_PER = DATAFLASH_MMC_SELECT; /* Set in PIO mode */
+ AT91C_BASE_PIOB->PIO_OER = DATAFLASH_MMC_SELECT; /* Configure in output */
+ /* Set Output */
+ AT91C_BASE_PIOB->PIO_SODR = DATAFLASH_MMC_SELECT;
+#endif
+}
+
+void AT91F_SelectSPI(void) {
+#ifdef DATAFLASH_MMC_SELECT
+ AT91C_BASE_PIOB->PIO_PER = DATAFLASH_MMC_SELECT; /* Set in PIO mode */
+ AT91C_BASE_PIOB->PIO_OER = DATAFLASH_MMC_SELECT; /* Configure in output */
+ /* Clear Output */
+ AT91C_BASE_PIOB->PIO_CODR = DATAFLASH_MMC_SELECT;
+#endif
+}
+
+