summaryrefslogtreecommitdiff
path: root/board/atmel/at91rm9200ek/mux.c
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2009-04-04 22:15:46 +0200
committerWolfgang Denk <wd@denx.de>2009-04-04 22:15:46 +0200
commit5f58f8d20f97deaf4dde7eb3886efa3e5a3715ee (patch)
tree0e748004387ad33d791977718a100f090b59a5c6 /board/atmel/at91rm9200ek/mux.c
parent66932ac3929c7a145a6ef6574a96fd7535154951 (diff)
parent03bab0091948196b9558248684c04f60943ca4b5 (diff)
downloadu-boot-imx-5f58f8d20f97deaf4dde7eb3886efa3e5a3715ee.zip
u-boot-imx-5f58f8d20f97deaf4dde7eb3886efa3e5a3715ee.tar.gz
u-boot-imx-5f58f8d20f97deaf4dde7eb3886efa3e5a3715ee.tar.bz2
Merge branch 'master' of git://git.denx.de/u-boot-at91
Diffstat (limited to 'board/atmel/at91rm9200ek/mux.c')
-rw-r--r--board/atmel/at91rm9200ek/mux.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/board/atmel/at91rm9200ek/mux.c b/board/atmel/at91rm9200ek/mux.c
new file mode 100644
index 0000000..bdd44e8
--- /dev/null
+++ b/board/atmel/at91rm9200ek/mux.c
@@ -0,0 +1,38 @@
+#include <config.h>
+#include <common.h>
+#include <asm/hardware.h>
+#include <asm/io.h>
+#include <dataflash.h>
+
+int AT91F_GetMuxStatus(void)
+{
+ /* Set in PIO mode */
+ writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_PER);
+ /* Configure in output */
+ writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_OER);
+
+ if(readl(AT91C_BASE_PIOB->PIO_ODSR) & CONFIG_SYS_DATAFLASH_MMC_PIO)
+ return 1;
+
+ return 0;
+}
+
+void AT91F_SelectMMC(void)
+{
+ /* Set in PIO mode */
+ writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_PER);
+ /* Configure in output */
+ writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_OER);
+ /* Set Output */
+ writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_SODR);
+}
+
+void AT91F_SelectSPI(void)
+{
+ /* Set in PIO mode */
+ writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_PER);
+ /* Configure in output */
+ writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_OER);
+ /* Clear Output */
+ writel(CONFIG_SYS_DATAFLASH_MMC_PIO, AT91C_BASE_PIOB->PIO_CODR);
+}