mux.c 923 B

1234567891011121314151617181920212223242526272829
  1. #include <config.h>
  2. #include <common.h>
  3. #include <asm/hardware.h>
  4. #include <dataflash.h>
  5. int AT91F_GetMuxStatus(void) {
  6. AT91C_BASE_PIOB->PIO_PER = CONFIG_SYS_DATAFLASH_MMC_PIO; /* Set in PIO mode */
  7. AT91C_BASE_PIOB->PIO_OER = CONFIG_SYS_DATAFLASH_MMC_PIO; /* Configure in output */
  8. if(AT91C_BASE_PIOB->PIO_ODSR & CONFIG_SYS_DATAFLASH_MMC_PIO)
  9. return 1;
  10. return 0;
  11. }
  12. void AT91F_SelectMMC(void) {
  13. AT91C_BASE_PIOB->PIO_PER = CONFIG_SYS_DATAFLASH_MMC_PIO; /* Set in PIO mode */
  14. AT91C_BASE_PIOB->PIO_OER = CONFIG_SYS_DATAFLASH_MMC_PIO; /* Configure in output */
  15. /* Set Output */
  16. AT91C_BASE_PIOB->PIO_SODR = CONFIG_SYS_DATAFLASH_MMC_PIO;
  17. }
  18. void AT91F_SelectSPI(void) {
  19. AT91C_BASE_PIOB->PIO_PER = CONFIG_SYS_DATAFLASH_MMC_PIO; /* Set in PIO mode */
  20. AT91C_BASE_PIOB->PIO_OER = CONFIG_SYS_DATAFLASH_MMC_PIO; /* Configure in output */
  21. /* Clear Output */
  22. AT91C_BASE_PIOB->PIO_CODR = CONFIG_SYS_DATAFLASH_MMC_PIO;
  23. }