blob: 1678d6e4661faf75b456419f65227d1f1e91f082 [file] [log] [blame]
Jean-Christophe PLAGNIOL-VILLARDebe54bf2009-03-27 23:26:42 +01001/*
2 * (C) Copyright 2000
3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4 *
5 * See file CREDITS for list of people who contributed to this
6 * project.
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 * MA 02111-1307 USA
22 */
23
24#include <common.h>
25#include <command.h>
26
27static int mmc_nspi (const char *);
28
Wolfgang Denk6262d0212010-06-28 22:00:46 +020029int do_dataflash_mmc_mux (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
Jean-Christophe PLAGNIOL-VILLARDebe54bf2009-03-27 23:26:42 +010030{
31 switch (argc) {
32 case 2: /* on / off */
33 switch (mmc_nspi (argv[1])) {
34 case 0: AT91F_SelectSPI ();
35 break;
36 case 1: AT91F_SelectMMC ();
37 break;
38 }
39 case 1: /* get status */
40 printf ("Mux is configured to be %s\n",
41 AT91F_GetMuxStatus () ? "MMC" : "SPI");
42 return 0;
43 default:
Mike Frysinger7b5bf772010-07-29 13:42:10 -040044 return cmd_usage(cmdtp);
Jean-Christophe PLAGNIOL-VILLARDebe54bf2009-03-27 23:26:42 +010045 }
46 return 0;
47}
48
49static int mmc_nspi (const char *s)
50{
51 if (strcmp (s, "mmc") == 0) {
52 return 1;
53 } else if (strcmp (s, "spi") == 0) {
54 return 0;
55 }
56 return -1;
57}
58
59U_BOOT_CMD(
60 dataflash_mmc_mux, 2, 1, do_dataflash_mmc_mux,
Frans Meulenbroeks0dddc002010-07-31 15:01:52 +020061 "enable or disable MMC or SPI\n",
Jean-Christophe PLAGNIOL-VILLARDebe54bf2009-03-27 23:26:42 +010062 "[mmc, spi]\n"
Wolfgang Denkc54781c2009-05-24 17:06:54 +020063 " - enable or disable MMC or SPI"
Jean-Christophe PLAGNIOL-VILLARDebe54bf2009-03-27 23:26:42 +010064);