[PATCH 3/6] ARM: OMAP3PLUS PM: Add IO Daisychain support via hwmod mux

Kevin Hilman khilman at ti.com
Mon Feb 27 19:24:06 EST 2012


Tero Kristo <t-kristo at ti.com> writes:

> From: Vishwanath BS <vishwanath.bs at ti.com>
>
> 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).
>
> 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>
> Signed-off-by: Tero Kristo <t-kristo at ti.com>

My review comments from the last version of this patch were not
answered/addressed:

   http://marc.info/?l=linux-omap&m=132621832120535&w=2

[...]

> @@ -64,6 +65,12 @@ static void omap2_init_processor_devices(void)
>  	}
>  }
>  
> +void omap_trigger_wuclk_ctrl(void)
> +{
> +	if (cpu_is_omap44xx())
> +		omap4_trigger_wuclk_ctrl();
> +}

Subject says OMAP3+, but clearly this only works on OMAP4.

Also, no cpu_is* checks at runtime please.  Instead, at init time, use
cpu_is_* to initialize a function pointer.

Kevin



More information about the linux-arm-kernel mailing list