* Tero Kristo <t-kristo@xxxxxx> [140326 01:04]: > On 03/26/2014 12:36 AM, Tony Lindgren wrote: > >* Tero Kristo <t-kristo@xxxxxx> [140304 08:23]: > >>There is a solitary write to this register every wakeup from off-mode, > >>which isn't doing anything, so remove it. > > > >Argh, this chunk of code is for sure the the thing that's blocking all > >the voltage scaling for idle modes that twl4030 is supposed to do! > > > >AFAIK we must have AUTO_SLEEP, AUTO_RET and AUTO_OFF bits set in > >PRM_VOLTCTRL for twl4030 to scale anything. They must be set if we're > >scaling over I2C4 or using the pins as triggers. Unless these bits > >are set, VC won't send any SLEEP, RET or OFF commands. > > > >Looks like we're not even set these bits anywhere like we should? > > > >I think we should enabled these bits in vc.c init, and never clear? > > The bits should be set according to the target sleep mode I believe, > e.g. for retention we should set only AUTO_RET, and for off-mode > AUTO_OFF. You can't have AUTO_OFF enabled if you are going to > retention only as far as I recall, this potentially caused some > problems. OK. So it seems that the idle code needs to constantly modify this register based on the idle mode. Any ideas how the idle code is going to update this register? Register a callback using platform_data? Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html