blob: 4b2cf1c2c2d84c5a0f52e7fb0160ea6cac87a19c [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
29int do_dataflash_mmc_mux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
30{
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:
44 printf ("Usage:\n%s\n", cmdtp->usage);
45 return 1;
46 }
47 return 0;
48}
49
50static int mmc_nspi (const char *s)
51{
52 if (strcmp (s, "mmc") == 0) {
53 return 1;
54 } else if (strcmp (s, "spi") == 0) {
55 return 0;
56 }
57 return -1;
58}
59
60U_BOOT_CMD(
61 dataflash_mmc_mux, 2, 1, do_dataflash_mmc_mux,
62 "dataflash_mmc_mux\t- enable or disable MMC or SPI\n",
63 "[mmc, spi]\n"
64 " - enable or disable MMC or SPI\n"
65);