Re: io-domain voltages as regulators?

From: Ulf Hansson
Date: Mon Aug 11 2014 - 08:46:59 EST


On 11 August 2014 09:44, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote:
> On Mon, Aug 4, 2014 at 12:18 AM, Heiko StÃbner <heiko@xxxxxxxxx> wrote:
>
> [Adding Ulf Hansson to this discussion...]
>
>> Hi Mark, Linus,
>>
>> I'd like to clarify what the appropriate way to handle pin output voltages is.
>> On the Rockchip SoCs the voltage for some groups of pins can be set between
>> 3.3V and 1.8V ... like the MMC/SD pins who need this to support UHS mode
>> cards.
>
> This is called "vqmmc" in the mmc/sd subsystem.
>
> grep for mmc_set_signal_voltage() in drivers/mmc/core/*
>
> In drivers/mmc/core/core.c, you find:
>
> mmc->supply.vqmmc = devm_regulator_get_optional(dev, "vqmmc");
>
> Which gets the regulator to set the signal voltage, if such
> a regulator is specified for the host.
>
> Very simple and straight-forward, and handled by the MMC core.
>
>> In [0] when talking about something different, Linus Walleij described a
>> similar case as
>>
>> "I think we need to have a discussion with Mark Brown on how to
>> handle this.
>> We have previously had the case of MMC/SD level-shifters, where
>> a certain setting gives a certain level of signals out, and another setting
>> gives another level. Like two discrete levels.
>> So we modeled that as a regulator provider inside the pin control
>> driver eventually, see sh-pfc/pfc-sh73a0.c"
>>
>> As this sound like exactly the thing I'm trying to solve, is handling this via
>> a regulator the correct general way?
>
> Ithinkso.

Just to confirm, I fully agree with the above said.

You may also find a good example in the mmci host driver for how to
make use of the vqmmc regulator.

Kind regards
Uffe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/