Re: [Linux-kernel] [RFC PATCH 5/7] mmc: sh_mobile_sdhi: Add UHS-I mode support

Ben Hutchings
2015-05-06T01:38:53Z

On Tue, 2015-05-05 at 10:47 +0200, Ulf Hansson wrote:
> On 5 May 2015 at 10:35, Ben Dooks <ben.dooks@codethink.co.uk> wrote:
> > On 05/05/15 10:56, Ulf Hansson wrote:
> >> On 30 April 2015 at 14:32, Ben Hutchings <ben.hutchings@codethink.co.uk> wrote:
> >>> Implement voltage switch, supporting modes up to SDR-50.
> >>>
> >>> Based on work by Shinobu Uehara, Rob Taylor, William Towle and Ian Molton.
> >>>
> >>> This uses two voltage regulators, one external and one on the pfc.
> >>
> >> Why two? If there is a parent child relation ship, that should be
> >> handled through the regulator tree, right!? Please elaborate.
> >
> > The card main power is separate from the IO line voltages.
> >
> > To get to the high-speed, card power is left at 3.3V and the IO
> > voltage is changed to 1.8V.
> >
> > In the systems we have the power gate is separate from the controls
> > for the IO but not integrated into the MMC controller itself.

In this case, there are *three* regulators:

1. External regulator for card power (VDD pin): "vmmc"
2. External regulator for pull-up voltage for the data pins: "vqmmc"
3. Internal regulator for input(?) level on the data pins:
"vqmmc_ref" (I'm open to suggestions of a better name)

> Okay, that's what I was expecting and hoping for :-)
>
> Then you need to rework $subject patch according to below.
>
> 1) Use mmc_regulator_get_supply() to fetch both the I/O voltage
> regulator (vqmmc) and the main power regulator (vmmc).

We already do that.

> Your "vqmmc_ref" regulator should thus be renamed to "vmmc".

No, we have one of those already.

> 2) The vmmc regulator should not be handled from the
> ->start_signal_voltage_switch() callback, since it's only vqmmc
> voltage levels that should be changed from there.

It isn't.

> 3) The voltage levels changes for vmmc shall be handled via the
> ->set_ios() callback.

We don't support UHS-II so we never change the voltage of this
regulator.

Ben.

> I suggest you go and have a look in drivers/mmc/host/mmci.c, that
> should provide you with a good inspiration.
>
> Kind regards
> Uffe