[U-Boot] [PATCH v1] mmc: sdhci: SDHCI controllers also need power

Simon Glass sjg at chromium.org
Tue Apr 18 14:33:06 UTC 2017


Hi Andy,

On 18 April 2017 at 08:29, Andy Shevchenko
<andriy.shevchenko at linux.intel.com> wrote:
> On Fri, 2017-04-07 at 19:05 +0900, Jaehoon Chung wrote:
>> Hi Andy,
>>
>> On 04/06/2017 07:58 PM, Andy Shevchenko wrote:
>> > On Thu, Apr 6, 2017 at 1:50 PM, Jaehoon Chung <jh80.chung at samsung.co
>> > m> wrote:
>> > > On 04/06/2017 06:46 PM, Andy Shevchenko wrote:
>> > > > On Thu, 2017-04-06 at 18:24 +0900, Jaehoon Chung wrote:
>> > > > > On 04/06/2017 05:51 PM, Andy Shevchenko wrote:
>> > > > > > On Thu, Apr 6, 2017 at 6:44 AM, Simon Glass <sjg at chromium.or
>> > > > > > g>
>> > > > > > wrote:
>> > > > > > > On 1 April 2017 at 07:11, Andy Shevchenko
>> > > > > > > <andriy.shevchenko at linux.intel.com> wrote:
>> > > > > how about mmc_power_init() is called in mmc_probe()?
>> > > >
>> > > > Yes, that's what I'm referring to. But the driver is pure SDHCI,
>> > > > it
>> > > > doesn't call mmc_probe() IIRC.
>> > >
>> > > After converting to DM, it might have the dependent to probing
>> > > sequence.
>> > > I'm not sure that u-boot has the priority for probing. maybe
>> > > not...
>> > >
>> > > hmm..need to consider this patch..but i will think about more
>> > > generic solution..
>> >
>> > It would be nice to have a generic solution indeed.
>>
>> Just thinking about below..?
>>
>> vcc_sd: sdmmc-regulator {
>>       ...
>>       regulator-boot-on;
>> or
>>       regulator-always-on;
>>       ...
>>
>> };
>>
>> It should be always enabled..
>
> Sorry, but no. It's not a regulator.
>
> If you would like to know details, the 2 bits in PMU registers basically
> represent clock gate and reset signal per IP which PMU controls.
>
> P.S. Hardware might have a common regulator per power island which is
> automatically latches the power down if all devices on the island are on
> D3hot. But it's not controlled by software.

You have a few options:

- Add a regulator/pmic driver for the PMU
- Add a reset driver to handle the reset and perhaps a clock driver to
handle the clock gate, then handle this in your driver

You can subclass sdhci.c and adjust it as you need it.

>
> So, please consider my initial approach.

We should use DM rather than custom hooks. If this doesn't make sense
please let me know how I can help expound on it.

>
> This patch holds Edison enabling...

Then let's get it figured out!

>
> --
> Andy Shevchenko <andriy.shevchenko at linux.intel.com>
> Intel Finland Oy

Regards,
Simon


More information about the U-Boot mailing list