2007-08-14 09:14:05 +00:00
|
|
|
#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 */
|
2007-08-14 16:42:36 +00:00
|
|
|
AT91C_BASE_PIOB->PIO_SODR = DATAFLASH_MMC_SELECT;
|
|
|
|
#endif
|
2007-08-14 09:14:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
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 */
|
2007-08-14 16:42:36 +00:00
|
|
|
AT91C_BASE_PIOB->PIO_CODR = DATAFLASH_MMC_SELECT;
|
|
|
|
#endif
|
2007-08-14 09:14:05 +00:00
|
|
|
}
|