[PATCH V2] ARM: dt: tegra: paz00: add regulators
Stephen Warren
swarren at wwwdotorg.org
Wed Jun 27 14:56:01 EDT 2012
On 06/27/2012 12:50 PM, Marc Dietrich wrote:
> On Wednesday 27 June 2012 12:31:01 Mark Brown wrote:
>> On Tue, Jun 26, 2012 at 06:31:00PM -0600, Stephen Warren wrote:
>>> sm1: HW defaults and schematic match at 1.0v. marvin24's kernel had a max
>>> of 1.125v, but this wasn't applied since apply_uV wasn't set.
>>
>> apply_uV is only valid if a single voltage is specified.
>
> yes, that's why there is a ".apply_uV = (_minmv == _maxmv)" in the regulator
> macro.
>
>> If a voltage
>> range were specified and it were acted on we'd take the lowest (not
>> highest) voltage allowed.
>
> Sorry, I don't get it. In this case, the board wouldn't boot at all because
> nearly all supplies would be undervoltaged. I just checked and all voltages
> are actually set to the *highest* (max) value. Maybe they aren't changed at
> all?
Yes, in the absence of any explicit action (i.e. a call to
regulator_set_voltage() elsewhere), the regulator core doesn't reprogram
the regulator at registration time, except for a few specific conditions
e.g. something like when min==max and apply_uV is set.
I imagine the DVFS code in your downstream kernel /is/ calling
regulator_set_voltage() later, assuming that config option is enabled
anyway. See arch/arm/mach-tegra/{dvfs.c,tegra2_dvfs.c}.
More information about the linux-arm-kernel
mailing list