summaryrefslogtreecommitdiff
path: root/board/solidrun
diff options
context:
space:
mode:
authorJon Nettleton <jon@solid-run.com>2018-06-11 15:26:22 +0300
committerStefano Babic <sbabic@denx.de>2018-07-23 10:17:04 +0200
commit19ed6063a567c6924dbfc358bf4ce9a60a31c567 (patch)
tree5ccb7f19e959410e7ae4f08c1525a6d7685ccaa2 /board/solidrun
parentc4abe2863aae2a31ec7685d44de83122cf321d1e (diff)
mx6cuboxi: Use mmc_get_op_cond() to check for an eMMC
Previously we had just made broad assumptions with which of our boards had an eMMC or not even though this is a manufacturing time assembly option. This takes the guessing away and actually checks for the existence of an eMMC and sets up the has_emmc environment variable. Signed-off-by: Jon Nettleton <jon@solid-run.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Diffstat (limited to 'board/solidrun')
-rw-r--r--board/solidrun/mx6cuboxi/mx6cuboxi.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c
index 9324650119..cf63427e52 100644
--- a/board/solidrun/mx6cuboxi/mx6cuboxi.c
+++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c
@@ -189,7 +189,7 @@ int board_mmc_getcd(struct mmc *mmc)
ret = !gpio_get_value(USDHC2_CD_GPIO);
break;
case USDHC3_BASE_ADDR:
- ret = 1; /* eMMC/uSDHC3 has no CD GPIO */
+ ret = (mmc_get_op_cond(mmc) < 0) ? 0 : 1; /* eMMC/uSDHC3 has no CD GPIO */
break;
}
@@ -527,6 +527,15 @@ static bool is_rev_15_som(void)
return false;
}
+static bool has_emmc(void)
+{
+ struct mmc *mmc;
+ mmc = find_mmc_device(1);
+ if (!mmc)
+ return 0;
+ return (mmc_get_op_cond(mmc) < 0) ? 0 : 1;
+}
+
int checkboard(void)
{
switch (board_type()) {
@@ -579,6 +588,10 @@ int board_late_init(void)
if (is_rev_15_som())
env_set("som_rev", "V15");
+
+ if (has_emmc())
+ env_set("has_emmc", "yes");
+
#endif
return 0;