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 <tjak...@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.majew...@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 agree :) Thanks, Minkyu Kang. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot