summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorKlaus Goger <klaus.goger@theobroma-systems.com>2016-09-15 08:55:15 +0200
committerKlaus Goger <klaus.goger@theobroma-systems.com>2016-09-18 20:22:04 +0200
commit11b24a7e89986809b6bccd7fb73ab35404a8af37 (patch)
treefdbbdcec8abd98f521fe096186df878e20e3614e /board
parentb8bf976671532bff0dab09ae5ab788bd1bf3343c (diff)
ARM: sunxi: add emmcboot command
command that returns true if the first mmc device is the on-board emmc. Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com>
Diffstat (limited to 'board')
-rw-r--r--board/sunxi/board.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index d486c66243..ca67368ec2 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -26,6 +26,7 @@
#include <nand.h>
#include <net.h>
#include <sy8106a.h>
+#include <command.h>
#if defined CONFIG_VIDEO_LCD_PANEL_I2C && !(defined CONFIG_SPL_BUILD)
/* So that we can use pin names in Kconfig and sunxi_name_to_gpio() */
@@ -684,3 +685,32 @@ int ft_board_setup(void *blob, bd_t *bd)
#endif
return 0;
}
+
+#ifdef CONFIG_SUNXI_ARMADILLO
+static int do_emmcboot(cmd_tbl_t *cmdtp, int flag, int argc,
+ char * const argv[])
+{
+ struct mmc *mmc0;
+ struct sunxi_mmc_host {
+ unsigned mmc_no;
+ uint32_t *mclkreg;
+ unsigned fatal_err;
+ struct sunxi_mmc *reg;
+ struct mmc_config cfg;
+ };
+
+ mmc0 = find_mmc_device(0);
+ /* lookup if first mmc device maps to the emmc */
+ struct sunxi_mmc_host *mmchost = mmc0->priv;
+ if(mmchost->mmc_no == 2)
+ return 0;
+ else
+ return 1;
+}
+
+U_BOOT_CMD(
+ emmcboot, CONFIG_SYS_MAXARGS, 1, do_emmcboot,
+ "returns true if booted from eMMC",
+ NULL
+ );
+#endif