On 11 August 2014 09:44, Linus Walleij <[email protected]> wrote: > On Mon, Aug 4, 2014 at 12:18 AM, Heiko Stübner <[email protected]> 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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

