1*c66ec88fSEmmanuel Vadot* Device tree bindings for Atmel Timer Counter Blocks 2*c66ec88fSEmmanuel Vadot- compatible: Should be "atmel,<chip>-tcb", "simple-mfd", "syscon". 3*c66ec88fSEmmanuel Vadot <chip> can be "at91rm9200" or "at91sam9x5" 4*c66ec88fSEmmanuel Vadot- reg: Should contain registers location and length 5*c66ec88fSEmmanuel Vadot- #address-cells: has to be 1 6*c66ec88fSEmmanuel Vadot- #size-cells: has to be 0 7*c66ec88fSEmmanuel Vadot- interrupts: Should contain all interrupts for the TC block 8*c66ec88fSEmmanuel Vadot Note that you can specify several interrupt cells if the TC 9*c66ec88fSEmmanuel Vadot block has one interrupt per channel. 10*c66ec88fSEmmanuel Vadot- clock-names: tuple listing input clock names. 11*c66ec88fSEmmanuel Vadot Required elements: "t0_clk", "slow_clk" 12*c66ec88fSEmmanuel Vadot Optional elements: "t1_clk", "t2_clk" 13*c66ec88fSEmmanuel Vadot- clocks: phandles to input clocks. 14*c66ec88fSEmmanuel Vadot 15*c66ec88fSEmmanuel VadotThe TCB can expose multiple subdevices: 16*c66ec88fSEmmanuel Vadot * a timer 17*c66ec88fSEmmanuel Vadot - compatible: Should be "atmel,tcb-timer" 18*c66ec88fSEmmanuel Vadot - reg: Should contain the TCB channels to be used. If the 19*c66ec88fSEmmanuel Vadot counter width is 16 bits (at91rm9200-tcb), two consecutive 20*c66ec88fSEmmanuel Vadot channels are needed. Else, only one channel will be used. 21*c66ec88fSEmmanuel Vadot 22*c66ec88fSEmmanuel VadotExamples: 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel VadotOne interrupt per TC block: 25*c66ec88fSEmmanuel Vadot tcb0: timer@fff7c000 { 26*c66ec88fSEmmanuel Vadot compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon"; 27*c66ec88fSEmmanuel Vadot #address-cells = <1>; 28*c66ec88fSEmmanuel Vadot #size-cells = <0>; 29*c66ec88fSEmmanuel Vadot reg = <0xfff7c000 0x100>; 30*c66ec88fSEmmanuel Vadot interrupts = <18 4>; 31*c66ec88fSEmmanuel Vadot clocks = <&tcb0_clk>, <&clk32k>; 32*c66ec88fSEmmanuel Vadot clock-names = "t0_clk", "slow_clk"; 33*c66ec88fSEmmanuel Vadot 34*c66ec88fSEmmanuel Vadot timer@0 { 35*c66ec88fSEmmanuel Vadot compatible = "atmel,tcb-timer"; 36*c66ec88fSEmmanuel Vadot reg = <0>, <1>; 37*c66ec88fSEmmanuel Vadot }; 38*c66ec88fSEmmanuel Vadot 39*c66ec88fSEmmanuel Vadot timer@2 { 40*c66ec88fSEmmanuel Vadot compatible = "atmel,tcb-timer"; 41*c66ec88fSEmmanuel Vadot reg = <2>; 42*c66ec88fSEmmanuel Vadot }; 43*c66ec88fSEmmanuel Vadot }; 44*c66ec88fSEmmanuel Vadot 45*c66ec88fSEmmanuel VadotOne interrupt per TC channel in a TC block: 46*c66ec88fSEmmanuel Vadot tcb1: timer@fffdc000 { 47*c66ec88fSEmmanuel Vadot compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon"; 48*c66ec88fSEmmanuel Vadot #address-cells = <1>; 49*c66ec88fSEmmanuel Vadot #size-cells = <0>; 50*c66ec88fSEmmanuel Vadot reg = <0xfffdc000 0x100>; 51*c66ec88fSEmmanuel Vadot interrupts = <26 4>, <27 4>, <28 4>; 52*c66ec88fSEmmanuel Vadot clocks = <&tcb1_clk>, <&clk32k>; 53*c66ec88fSEmmanuel Vadot clock-names = "t0_clk", "slow_clk"; 54*c66ec88fSEmmanuel Vadot }; 55*c66ec88fSEmmanuel Vadot 56*c66ec88fSEmmanuel Vadot 57