projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
s5p sdhci: call pinmux for card's gpio pins before use them
[oweals/u-boot.git]
/
drivers
/
mmc
/
s5p_sdhci.c
diff --git
a/drivers/mmc/s5p_sdhci.c
b/drivers/mmc/s5p_sdhci.c
index 15ecfee961b4a9ed4b0b3ee2d20fad973373ddcd..44353c72f4d706d45d3acf29b9074320c819de88 100644
(file)
--- a/
drivers/mmc/s5p_sdhci.c
+++ b/
drivers/mmc/s5p_sdhci.c
@@
-106,6
+106,12
@@
static int do_sdhci_init(struct sdhci_host *host)
flag = host->bus_width == 8 ? PINMUX_FLAG_8BIT_MODE : PINMUX_FLAG_NONE;
dev_id = host->index + PERIPH_ID_SDMMC0;
flag = host->bus_width == 8 ? PINMUX_FLAG_8BIT_MODE : PINMUX_FLAG_NONE;
dev_id = host->index + PERIPH_ID_SDMMC0;
+ ret = exynos_pinmux_config(dev_id, flag);
+ if (ret) {
+ printf("external SD not configured\n");
+ return ret;
+ }
+
if (dm_gpio_is_valid(&host->pwr_gpio)) {
dm_gpio_set_value(&host->pwr_gpio, 1);
ret = exynos_pinmux_config(dev_id, flag);
if (dm_gpio_is_valid(&host->pwr_gpio)) {
dm_gpio_set_value(&host->pwr_gpio, 1);
ret = exynos_pinmux_config(dev_id, flag);
@@
-121,12
+127,6
@@
static int do_sdhci_init(struct sdhci_host *host)
debug("no SD card detected (%d)\n", ret);
return -ENODEV;
}
debug("no SD card detected (%d)\n", ret);
return -ENODEV;
}
-
- ret = exynos_pinmux_config(dev_id, flag);
- if (ret) {
- printf("external SD not configured\n");
- return ret;
- }
}
return s5p_sdhci_core_init(host);
}
return s5p_sdhci_core_init(host);
@@
-193,7
+193,7
@@
static int process_nodes(const void *blob, int node_list[], int count)
}
ret = do_sdhci_init(host);
}
ret = do_sdhci_init(host);
- if (ret) {
+ if (ret
&& ret != -ENODEV
) {
printf("%s: failed to initialize dev %d (%d)\n", __func__, i, ret);
failed++;
}
printf("%s: failed to initialize dev %d (%d)\n", __func__, i, ret);
failed++;
}