1c66ec88fSEmmanuel VadotSynopsys ARC Local Timer with Interrupt Capabilities 2c66ec88fSEmmanuel Vadot- Found on all ARC CPUs (ARC700/ARCHS) 3c66ec88fSEmmanuel Vadot- Can be optionally programmed to interrupt on Limit 4*aa1a8ff2SEmmanuel Vadot- Two identical copies TIMER0 and TIMER1 exist in ARC cores and historically 5c66ec88fSEmmanuel Vadot TIMER0 used as clockevent provider (true for all ARC cores) 6c66ec88fSEmmanuel Vadot TIMER1 used for clocksource (mandatory for ARC700, optional for ARC HS) 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel VadotRequired properties: 9c66ec88fSEmmanuel Vadot 10c66ec88fSEmmanuel Vadot- compatible : should be "snps,arc-timer" 11c66ec88fSEmmanuel Vadot- interrupts : single Interrupt going into parent intc 12c66ec88fSEmmanuel Vadot (16 for ARCHS cores, 3 for ARC700 cores) 13c66ec88fSEmmanuel Vadot- clocks : phandle to the source clock 14c66ec88fSEmmanuel Vadot 15c66ec88fSEmmanuel VadotExample: 16c66ec88fSEmmanuel Vadot 17c66ec88fSEmmanuel Vadot timer0 { 18c66ec88fSEmmanuel Vadot compatible = "snps,arc-timer"; 19c66ec88fSEmmanuel Vadot interrupts = <3>; 20c66ec88fSEmmanuel Vadot interrupt-parent = <&core_intc>; 21c66ec88fSEmmanuel Vadot clocks = <&core_clk>; 22c66ec88fSEmmanuel Vadot }; 23c66ec88fSEmmanuel Vadot 24c66ec88fSEmmanuel Vadot timer1 { 25c66ec88fSEmmanuel Vadot compatible = "snps,arc-timer"; 26c66ec88fSEmmanuel Vadot clocks = <&core_clk>; 27c66ec88fSEmmanuel Vadot }; 28