Re: [PATCH 7/7] pinctrl: tegra: Add driver to configure voltage and power state of io pads

From: Laxman Dewangan
Date: Tue Apr 26 2016 - 09:44:20 EST



On Friday 15 April 2016 05:17 PM, Laxman Dewangan wrote:

On Friday 15 April 2016 04:45 PM, Linus Walleij wrote:
On Fri, Apr 15, 2016 at 11:55 AM, Laxman Dewangan <ldewangan@xxxxxxxxxx> wrote:
On Friday 15 April 2016 02:55 PM, Linus Walleij wrote:
If the pin could actually set a voltage level it would have a regulator.
I don't believe that. I think it is selecting one of two rails which
could theoretically hold two totally different voltages.

And that is what power-source is about.
The IO rails connected to PMIC rail and connection does not get change.
We change the voltage of PMIC rails via regulator calls. And then configure
pads for the new voltage.
Aha I get it! So you adjust something in the I/O-cell so that it is adapted
for the new voltage.

OK that seems to be something new. I suspect
power-voltage-select = <n>; where N i in uV would solve this?
(We should use uV since regulators use this.)

Thanks for new property. I will make the unit and type same as the regulator framework.

We have the ops for configuring the pin config as

int (*pin_config_group_set) (struct pinctrl_dev *pctldev,
unsigned selector,
unsigned long *configs,
unsigned num_configs);


The config is 32 bit, upper 16 for config argument and and lower 16 for the config param.

So we can not accommodate 3300000uV until we change it to mV i.e. 3300mV.

So on interface, we can read uV from DT but when making config, we can translate it to mV before passing to pin_config_group_set.