blob: f8f178742d3a5e386cbe43de59bf2f0bba6b000a [file] [log] [blame]
Jean-Christophe PLAGNIOL-VILLARDb9c0e4c2009-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 Denk54841ab2010-06-28 22:00:46 +020029int do_dataflash_mmc_mux (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
Jean-Christophe PLAGNIOL-VILLARDb9c0e4c2009-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:
Simon Glass4c12eeb2011-12-10 08:44:01 +000044 return CMD_RET_USAGE;
Jean-Christophe PLAGNIOL-VILLARDb9c0e4c2009-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 Meulenbroekscc9f6072010-07-31 15:01:52 +020061 "enable or disable MMC or SPI\n",
Jean-Christophe PLAGNIOL-VILLARDb9c0e4c2009-03-27 23:26:42 +010062 "[mmc, spi]\n"
Wolfgang Denka89c33d2009-05-24 17:06:54 +020063 " - enable or disable MMC or SPI"
Jean-Christophe PLAGNIOL-VILLARDb9c0e4c2009-03-27 23:26:42 +010064);