[PATCH V4] OMAP3: PM: Set/clear T2 bit for Smartreflex on TWL

Gulati, Shweta shweta.gulati at ti.com
Wed Feb 16 07:47:34 EST 2011


Hi,

On Wed, Feb 16, 2011 at 6:01 PM, Jarkko Nikula <jhnikula at gmail.com> wrote:
> On Wed, 16 Feb 2011 17:24:30 +0530
> "Gulati, Shweta" <shweta.gulati at ti.com> wrote:
>
>> > Note proof of concept patch only. I omitted the comments and don't do
>> > explicit SR disable and I'd clean up the error paths in twl4030_power_init
>> > a bit before this (e.g. printing error codes). Not sure either is the
>> > twl4030-power.c right place for this or core.
>> You missed commit log which says that "T2 bit is required to enable I2C_SR
>> path of voltage control" it is not at all enabling SR, voltage scale
>> APIs VPforceupdate/ VCbypass
>> needs this path to be enabled.
>> And calling APIs twl_i2c_read/write in driver codebase does n't ensure correct
>> ordering of flag changes and twl_read/write.
>
> Ah, yeah. I forgot to comment that I tried shortly also to run this
> enable code from workqueue ~60 s after bootup and indeed SR didn't work
> if those autocomp sysfs nodes were set before setting the TWL SR bit and
> I believe same holds for voltage scaling too as you say.
>
> What I'm thinking is there actually need for some higher level
> control for these that quarantees the right order independently from
> when each module are initialized.
Yes there is a need.
Voltage control for TWL uses different ways VMODE/I2C1/I2C_SR
Most of the OMAP3+ boards uses I2C_SR, for this to function properly
SR_BIT on TWL side needs to be enabled but there could be some boards
that use VMODE  method of scaling, for those boards this bit has to be
disabled which can be done from board file that is why a flag is set to make
sure that API 'omap3_twl_set_sr_bit()' is called once and all initializations
are done in order so SR bit is set/cleared aptly.
> --
> Jarkko
>



-- 
Thanks,
Regards,
Shweta



More information about the linux-arm-kernel mailing list