diff options
| author | Wolfgang Denk <wd@denx.de> | 2009-04-04 22:15:46 +0200 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2009-04-04 22:15:46 +0200 | 
| commit | 5f58f8d20f97deaf4dde7eb3886efa3e5a3715ee (patch) | |
| tree | 0e748004387ad33d791977718a100f090b59a5c6 /board/atmel/at91rm9200ek/mux.c | |
| parent | 66932ac3929c7a145a6ef6574a96fd7535154951 (diff) | |
| parent | 03bab0091948196b9558248684c04f60943ca4b5 (diff) | |
| download | olio-uboot-2014.01-5f58f8d20f97deaf4dde7eb3886efa3e5a3715ee.tar.xz olio-uboot-2014.01-5f58f8d20f97deaf4dde7eb3886efa3e5a3715ee.zip | |
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.c | 38 | 
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 000000000..bdd44e8cf --- /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); +} |