diff options
author | Ulf Samuelsson <ulf@atmel.com> | 2009-03-27 23:26:43 +0100 |
---|---|---|
committer | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2009-04-04 20:42:20 +0200 |
commit | cb82a532669f6b02225ec3429ea4d49ff2b97d0a (patch) | |
tree | 3b08f9ce44bac5fcee84ffd44ea1dfb0c16580e4 /board/atmel/at91rm9200ek/mux.c | |
parent | b9c0e4c29e3ec12668ac50e954e7c9ba8f7aa10a (diff) | |
download | u-boot-imx-cb82a532669f6b02225ec3429ea4d49ff2b97d0a.zip u-boot-imx-cb82a532669f6b02225ec3429ea4d49ff2b97d0a.tar.gz u-boot-imx-cb82a532669f6b02225ec3429ea4d49ff2b97d0a.tar.bz2 |
Add support for the AT91RM9200EK Board.
The AT91RM9200-EK Evaluation Board supports the AT91RM9200
ARM9-based 32-bit RISC microcontroller and enables real-time code development
and evaluation.
Here is the chip page on Atmel website:
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3507
with
- NOR (cfi driver)
- DataFlash
- USB OHCI
- Net
- I2C (hard)
Signed-off-by: Ulf Samuelsson <ulf@atmel.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
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 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); +} |