[PATCHV2 REPOST 5/7] ARM: OMAP3PLUS PM: Add IO Daisychain support via hwmod mux
Kevin Hilman
khilman at ti.com
Tue Jan 10 12:46:07 EST 2012
Vishwanath BS <vishwanath.bs at ti.com> writes:
> IO Daisychain feature has to be triggered whenever there is a change in
> device's mux configuration (See section 3.9.4 in OMAP4 Public TRM vP).
...in addition to the triggering still happening in the idle path,
right? IIUC, after this series, there's still a call in omap_sram_idle().
> Now devices can idle independent of the powerdomain, there can be a window where device
> is idled and corresponding powerdomain can be ON/INACTIVE state. In such situations,
> since both module wake up is enabled at padlevel as well as io daisychain sequence is
> triggered, there will be 2 PRCM interrupts (Module async wake up via swakeup and IO Pad
> interrupt). But as PRCM Interrupt handler clears the Module Padlevel WKST bit in the
> first interrupt, module specific interrupt handler will not triggered for the second time
>
> Also look at detailed explanation given by Rajendra at
> http://www.spinics.net/lists/linux-serial/msg04480.html
>
> Signed-off-by: Vishwanath BS <vishwanath.bs at ti.com>
> Tested-by: Govindraj.R <govindraj.raja at ti.com>
[...]
> +void omap_trigger_wuclk_ctrl(void)
> +{
> + if (cpu_is_omap34xx())
> + omap3_trigger_wuclk_ctrl();
> +
> + if (cpu_is_omap44xx())
> + omap4_trigger_wuclk_ctrl();
> +}
cpu_is_* usage is only acceptable at init time. Please use a function
pointer initialized at init time for this.
Kevin
More information about the linux-arm-kernel
mailing list