
Hi Tobias,
Hello,
Minkyu Kang wrote:
On 23/09/15 18:59, Jaehoon Chung wrote:
Hi,
On 09/23/2015 06:48 PM, Lukasz Majewski wrote:
Hi Lukasz,
Hi Tobias,
The CD check is currently inverted. dm_gpio_get_value() returns one when a card is detected. All other values (zero when there is no card, or negative values for the internal errors) indicate failure.
Signed-off-by: Tobias Jakobi tjakobi@math.uni-bielefeld.de
drivers/mmc/s5p_sdhci.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/drivers/mmc/s5p_sdhci.c b/drivers/mmc/s5p_sdhci.c index 6be3609..bc04370 100644 --- a/drivers/mmc/s5p_sdhci.c +++ b/drivers/mmc/s5p_sdhci.c @@ -102,29 +102,31 @@ struct sdhci_host sdhci_host[SDHCI_MAX_HOSTS]; static int do_sdhci_init(struct sdhci_host *host) {
- int dev_id, flag;
- int err = 0;
int dev_id, flag, ret;
flag = host->bus_width == 8 ? PINMUX_FLAG_8BIT_MODE :
PINMUX_FLAG_NONE; dev_id = host->index + PERIPH_ID_SDMMC0;
if (dm_gpio_is_valid(&host->pwr_gpio)) { dm_gpio_set_value(&host->pwr_gpio, 1);
err = exynos_pinmux_config(dev_id, flag);
if (err) {
ret = exynos_pinmux_config(dev_id, flag);
if (ret) { debug("MMC not configured\n");
return err;
return ret;
} }
if (dm_gpio_is_valid(&host->cd_gpio)) {
if (dm_gpio_get_value(&host->cd_gpio))
ret = dm_gpio_get_value(&host->cd_gpio);
if (ret != 1) {
debug("No card detected (%d)\n", ret); return -ENODEV;
}
err = exynos_pinmux_config(dev_id, flag);
if (err) {
ret = exynos_pinmux_config(dev_id, flag);
if (ret) { printf("external SD not configured\n");
return err;
} }return ret;
Reviewed-by: Lukasz Majewski l.majewski@samsung.com
Sorry, I was too fast. I've read the whole thread and I can confirm that your change would break Trats board. ry I hope that we will come up with proper solution.
We can use the "cd-inverted" property like linux-kernel. Then i think that all board based on exynos4412 can cover. how about?
I don't think this is going to work. I asked someone else to check current upstream u-boot on his Odroid-U3 and he has confirmed that it boots fine from SD card.
Have you tried the newest mainline? I'm struggling to debrick my Trats board after some eMMC early misconfiguration.
For now I can confirm that it works with v2015.07.
So this seems to be a X2 specific thing. However the 'cd-inverted' property is present in exynos4412-odroid-common.dtsi, so it applies to both U3 and X2 in the kernel.
So either the kernel is wrong here, or this is board difference which can't be derived from 'cd-inverted'.
With best wishes, Tobias
I agree :)
Thanks, Minkyu Kang.