[PATCH] arm: omap2: Kconfig: select TWD and global timer on AM43xx devices

Grygorii Strashko grygorii.strashko at ti.com
Wed Nov 18 06:33:37 PST 2015

On 11/13/2015 06:39 PM, santosh shilimkar wrote:
> On 11/13/2015 5:07 AM, Mason wrote:
>> On 13/11/2015 13:48, Grygorii Strashko wrote:
>>> On 11/12/2015 08:06 PM, Felipe Balbi wrote:
>>>> Make sure to tell the kernel that AM437x has
>>>> TWD and global timers.
>>>> Signed-off-by: Felipe Balbi <balbi at ti.com>
>>>> ---
>>>> Hi Tony,
>>>> now that all dependencies are in place, we can
>>>> finally enable twd and global_timer for AM437x.
> Is AM437x SMP SOC ? 

No. But it has ARM TWD and GT

> Is TWD on AM437x works in low power states ?

No. But TWD, seems, is not a problem here if omap gp timer
can be used as broadcast device.

> Probably I haven't followed the recent updates, but does
> the TWD supports C3STOP on UP systems ? The broadcast
> code was SMP only in past, and TWD use to die in
> low power state on past OMAP SOCs.
> If either of these are still the issue then
> TWD shouldn't be used.

Yep. I see the problem with ARM Global timer here if
CPUIdle is enabled and ARM Global timer is selected as
clocksource device.

I think, it will be right thing to disable "global_timer"
and "local_timer" nodes in am437x.dtsi by default - if
someone would like to use them then those nodes have
to be enabled explicitly in board file.
(TWD timer will be enabled on OMAP multi SoC build
 irrespectively of HAVE_ARM_TWD is selected for am437x or not,
 because it will be selected for omap4). 
I've just sent corresponding patch: 

Also, probably, it could be reasonable to:
- make ARM_GLOBAL_TIMER fully selectable option and allow select it from defconfig.

- or - update this patch as below
-       select ARM_GLOBAL_TIMER
+       select ARM_GLOBAL_TIMER if !CPU_IDLE


More information about the linux-arm-kernel mailing list