summaryrefslogtreecommitdiff
path: root/board/atmel/at91rm9200dk/mux.c
diff options
context:
space:
mode:
authorHaavard Skinnemoen <hskinnemoen at>2008-02-22 11:40:50 +0000
committerubuntu <ubuntu@us710-oe.cambridge.arm.com>2008-02-14 10:07:46 +0000
commit65230107025733e89e28fd5e5cfd916d4953c28a (patch)
treef96c9999acd00f385493cc77d0d4757b45e24037 /board/atmel/at91rm9200dk/mux.c
parenta93907c43f847f076dd0e34ee3b69b5e8e6d0d29 (diff)
Move AT91RM9200DK board support under board/atmel
We already have a vendor subdir for Atmel, so we should use it. Signed-off-by: Haavard Skinnemoen <hskinnemoen <at> atmel.com>
Diffstat (limited to 'board/atmel/at91rm9200dk/mux.c')
-rw-r--r--board/atmel/at91rm9200dk/mux.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/board/atmel/at91rm9200dk/mux.c b/board/atmel/at91rm9200dk/mux.c
new file mode 100644
index 0000000000..767d28090d
--- /dev/null
+++ b/board/atmel/at91rm9200dk/mux.c
@@ -0,0 +1,37 @@
+#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
+}