Jean Pihet [off-list ref] writes:
[...]
quoted
+ ? ? ? if (pwrdm_read_pwrst(pwrdm) != new_state) {
+ ? ? ? ? ? ? ? ret = omap_set_pwrdm_state(pwrdm, new_state);
The function pwrdms_setup (called from omap3_pm_init for every pwrdm)
runs late in the boot process and so it overwrites the registers
values programmed by omap_set_pwrdm_state with the default values.
Could the default values get written earlier in the boot process (e.g.
at hwmod init) before the devices can put constraints on the power
domains?
Yes, default vaules for each power domain's next state should probably
be written earlier in the boot. Probably when the powerdomain is
initialized, or at least when this constraints framework is initialized.
Then, the initial states set in omap3_pm_init() can just be removed.
Kevin