atmel-tcb.txt 1.6 KB

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