From: Jon Nettleton Date: Mon, 11 Jun 2018 12:26:22 +0000 (+0300) Subject: mx6cuboxi: Use mmc_get_op_cond() to check for an eMMC X-Git-Tag: v2018.09-rc1~63^2~40 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=19ed6063a567c6924dbfc358bf4ce9a60a31c567;p=oweals%2Fu-boot.git 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 Signed-off-by: Baruch Siach --- 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;