[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPDyKFpWzWeXxDfHXpFBboCtJKH97pPotTcmuFigZhET7zA26g@mail.gmail.com>
Date: Thu, 5 Jul 2018 13:29:48 +0200
From: Ulf Hansson <ulf.hansson@...aro.org>
To: Stefan Agner <stefan@...er.ch>
Cc: Adrian Hunter <adrian.hunter@...el.com>,
Fabio Estevam <fabio.estevam@....com>,
Haibo Chen <haibo.chen@....com>,
Aisheng Dong <aisheng.dong@....com>,
Michael Trimarchi <michael@...rulasolutions.com>,
Russell King <rmk+kernel@...linux.org.uk>,
"linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2] mmc: sdhci-esdhc-imx: allow 1.8V modes without
100/200MHz pinctrl states
[...]
>>> Btw, I still get the switching error once during boot-up:
>>> mmc1: Switching to 3.3V signalling voltage failed
>>
>> I guess the this happens then also at system resume?
>>
>> The core tries first with 3.3 then if it fails, it continues with 1.8V, etc.
>>
>>>
>>> This is due to the call from mmc_set_initial_signal_voltage. It is a bit
>>> unfortunate since this is printed as a warning. Not sure if that could
>>> be prevented somehow?
>>
>> Seems like SDHCI_SIGNALING_330 should not be set, unless 3.3V I/O is
>> supported. That should avoid SDHCI from trying and instead just
>> returning an error code immediately.
>>
>> This seems like a generic issues for all SDHCI variant drivers.
>
> Hm, can we resolve this in a generic fashion?
>
> E.g something like this in sdhci_setup_host():
>
> if (!regulator_is_supported_voltage(mmc->supply.vqmmc, 3200000,
> 3450000))
> host->flags &= ~SDHCI_SIGNALING_330;
Something like that seems right, but a wider range should be allowed.
2.7V to 3.6V is allowed according to the specs.
Also, vqmmc is optional, so in case it doesn't exist we must not clear
the SDHCI_SIGNALING_330 bit.
Kind regards
Uffe
Powered by blists - more mailing lists