[PATCH 3/6] ARM: OMAP3PLUS PM: Add IO Daisychain support via hwmod mux
From: Kevin Hilman <hidden>
Date: 2012-02-28 00:24:06
Also in:
linux-omap
Tero Kristo [off-list ref] writes:
From: Vishwanath BS <redacted> 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 <redacted> Signed-off-by: Tero Kristo <redacted>
My review comments from the last version of this patch were not answered/addressed: http://marc.info/?l=linux-omap&m=132621832120535&w=2 [...]
quoted hunk
@@ -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