1*c66ec88fSEmmanuel Vadot* ARM Timer Watchdog 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotARM 11MP, Cortex-A5 and Cortex-A9 are often associated with a per-core 4*c66ec88fSEmmanuel VadotTimer-Watchdog (aka TWD), which provides both a per-cpu local timer 5*c66ec88fSEmmanuel Vadotand watchdog. 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel VadotThe TWD is usually attached to a GIC to deliver its two per-processor 8*c66ec88fSEmmanuel Vadotinterrupts. 9*c66ec88fSEmmanuel Vadot 10*c66ec88fSEmmanuel Vadot** Timer node required properties: 11*c66ec88fSEmmanuel Vadot 12*c66ec88fSEmmanuel Vadot- compatible : Should be one of: 13*c66ec88fSEmmanuel Vadot "arm,cortex-a9-twd-timer" 14*c66ec88fSEmmanuel Vadot "arm,cortex-a5-twd-timer" 15*c66ec88fSEmmanuel Vadot "arm,arm11mp-twd-timer" 16*c66ec88fSEmmanuel Vadot 17*c66ec88fSEmmanuel Vadot- interrupts : One interrupt to each core 18*c66ec88fSEmmanuel Vadot 19*c66ec88fSEmmanuel Vadot- reg : Specify the base address and the size of the TWD timer 20*c66ec88fSEmmanuel Vadot register window. 21*c66ec88fSEmmanuel Vadot 22*c66ec88fSEmmanuel VadotOptional 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel Vadot- always-on : a boolean property. If present, the timer is powered through 25*c66ec88fSEmmanuel Vadot an always-on power domain, therefore it never loses context. 26*c66ec88fSEmmanuel Vadot 27*c66ec88fSEmmanuel VadotExample: 28*c66ec88fSEmmanuel Vadot 29*c66ec88fSEmmanuel Vadot twd-timer@2c000600 { 30*c66ec88fSEmmanuel Vadot compatible = "arm,arm11mp-twd-timer""; 31*c66ec88fSEmmanuel Vadot reg = <0x2c000600 0x20>; 32*c66ec88fSEmmanuel Vadot interrupts = <1 13 0xf01>; 33*c66ec88fSEmmanuel Vadot }; 34*c66ec88fSEmmanuel Vadot 35*c66ec88fSEmmanuel Vadot** Watchdog node properties: 36*c66ec88fSEmmanuel Vadot 37*c66ec88fSEmmanuel Vadot- compatible : Should be one of: 38*c66ec88fSEmmanuel Vadot "arm,cortex-a9-twd-wdt" 39*c66ec88fSEmmanuel Vadot "arm,cortex-a5-twd-wdt" 40*c66ec88fSEmmanuel Vadot "arm,arm11mp-twd-wdt" 41*c66ec88fSEmmanuel Vadot 42*c66ec88fSEmmanuel Vadot- interrupts : One interrupt to each core 43*c66ec88fSEmmanuel Vadot 44*c66ec88fSEmmanuel Vadot- reg : Specify the base address and the size of the TWD watchdog 45*c66ec88fSEmmanuel Vadot register window. 46*c66ec88fSEmmanuel Vadot 47*c66ec88fSEmmanuel VadotExample: 48*c66ec88fSEmmanuel Vadot 49*c66ec88fSEmmanuel Vadot twd-watchdog@2c000620 { 50*c66ec88fSEmmanuel Vadot compatible = "arm,arm11mp-twd-wdt"; 51*c66ec88fSEmmanuel Vadot reg = <0x2c000620 0x20>; 52*c66ec88fSEmmanuel Vadot interrupts = <1 14 0xf01>; 53*c66ec88fSEmmanuel Vadot }; 54