1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 3 * (C) Copyright 2000 4 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 5 */ 6 7 #include <common.h> 8 #include <command.h> 9 10 static int mmc_nspi (const char *); 11 12 int do_dataflash_mmc_mux (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) 13 { 14 switch (argc) { 15 case 2: /* on / off */ 16 switch (mmc_nspi (argv[1])) { 17 case 0: AT91F_SelectSPI (); 18 break; 19 case 1: AT91F_SelectMMC (); 20 break; 21 } 22 case 1: /* get status */ 23 printf ("Mux is configured to be %s\n", 24 AT91F_GetMuxStatus () ? "MMC" : "SPI"); 25 return 0; 26 default: 27 return CMD_RET_USAGE; 28 } 29 return 0; 30 } 31 32 static int mmc_nspi (const char *s) 33 { 34 if (strcmp (s, "mmc") == 0) { 35 return 1; 36 } else if (strcmp (s, "spi") == 0) { 37 return 0; 38 } 39 return -1; 40 } 41 42 U_BOOT_CMD( 43 dataflash_mmc_mux, 2, 1, do_dataflash_mmc_mux, 44 "enable or disable MMC or SPI\n", 45 "[mmc, spi]\n" 46 " - enable or disable MMC or SPI" 47 ); 48