atmel-at91.txt 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. Atmel AT91 device tree bindings.
  2. ================================
  3. Boards with a SoC of the Atmel AT91 or SMART family shall have the following
  4. properties:
  5. Required root node properties:
  6. compatible: must be one of:
  7. * "atmel,at91rm9200"
  8. * "atmel,at91sam9" for SoCs using an ARM926EJ-S core, shall be extended with
  9. the specific SoC family or compatible:
  10. o "atmel,at91sam9260"
  11. o "atmel,at91sam9261"
  12. o "atmel,at91sam9263"
  13. o "atmel,at91sam9x5" for the 5 series, shall be extended with the specific
  14. SoC compatible:
  15. - "atmel,at91sam9g15"
  16. - "atmel,at91sam9g25"
  17. - "atmel,at91sam9g35"
  18. - "atmel,at91sam9x25"
  19. - "atmel,at91sam9x35"
  20. o "atmel,at91sam9g20"
  21. o "atmel,at91sam9g45"
  22. o "atmel,at91sam9n12"
  23. o "atmel,at91sam9rl"
  24. o "atmel,at91sam9xe"
  25. * "atmel,sama5" for SoCs using a Cortex-A5, shall be extended with the specific
  26. SoC family:
  27. o "atmel,sama5d2" shall be extended with the specific SoC compatible:
  28. - "atmel,sama5d27"
  29. o "atmel,sama5d3" shall be extended with the specific SoC compatible:
  30. - "atmel,sama5d31"
  31. - "atmel,sama5d33"
  32. - "atmel,sama5d34"
  33. - "atmel,sama5d35"
  34. - "atmel,sama5d36"
  35. o "atmel,sama5d4" shall be extended with the specific SoC compatible:
  36. - "atmel,sama5d41"
  37. - "atmel,sama5d42"
  38. - "atmel,sama5d43"
  39. - "atmel,sama5d44"
  40. Chipid required properties:
  41. - compatible: Should be "atmel,sama5d2-chipid"
  42. - reg : Should contain registers location and length
  43. PIT Timer required properties:
  44. - compatible: Should be "atmel,at91sam9260-pit"
  45. - reg: Should contain registers location and length
  46. - interrupts: Should contain interrupt for the PIT which is the IRQ line
  47. shared across all System Controller members.
  48. System Timer (ST) required properties:
  49. - compatible: Should be "atmel,at91rm9200-st", "syscon", "simple-mfd"
  50. - reg: Should contain registers location and length
  51. - interrupts: Should contain interrupt for the ST which is the IRQ line
  52. shared across all System Controller members.
  53. - clocks: phandle to input clock.
  54. Its subnodes can be:
  55. - watchdog: compatible should be "atmel,at91rm9200-wdt"
  56. TC/TCLIB Timer required properties:
  57. - compatible: Should be "atmel,<chip>-tcb".
  58. <chip> can be "at91rm9200" or "at91sam9x5"
  59. - reg: Should contain registers location and length
  60. - interrupts: Should contain all interrupts for the TC block
  61. Note that you can specify several interrupt cells if the TC
  62. block has one interrupt per channel.
  63. - clock-names: tuple listing input clock names.
  64. Required elements: "t0_clk", "slow_clk"
  65. Optional elements: "t1_clk", "t2_clk"
  66. - clocks: phandles to input clocks.
  67. Examples:
  68. One interrupt per TC block:
  69. tcb0: timer@fff7c000 {
  70. compatible = "atmel,at91rm9200-tcb";
  71. reg = <0xfff7c000 0x100>;
  72. interrupts = <18 4>;
  73. clocks = <&tcb0_clk>;
  74. clock-names = "t0_clk";
  75. };
  76. One interrupt per TC channel in a TC block:
  77. tcb1: timer@fffdc000 {
  78. compatible = "atmel,at91rm9200-tcb";
  79. reg = <0xfffdc000 0x100>;
  80. interrupts = <26 4 27 4 28 4>;
  81. clocks = <&tcb1_clk>;
  82. clock-names = "t0_clk";
  83. };
  84. RSTC Reset Controller required properties:
  85. - compatible: Should be "atmel,<chip>-rstc".
  86. <chip> can be "at91sam9260" or "at91sam9g45" or "sama5d3"
  87. - reg: Should contain registers location and length
  88. - clocks: phandle to input clock.
  89. Example:
  90. rstc@fffffd00 {
  91. compatible = "atmel,at91sam9260-rstc";
  92. reg = <0xfffffd00 0x10>;
  93. clocks = <&clk32k>;
  94. };
  95. RAMC SDRAM/DDR Controller required properties:
  96. - compatible: Should be "atmel,at91rm9200-sdramc", "syscon"
  97. "atmel,at91sam9260-sdramc",
  98. "atmel,at91sam9g45-ddramc",
  99. "atmel,sama5d3-ddramc",
  100. - reg: Should contain registers location and length
  101. Examples:
  102. ramc0: ramc@ffffe800 {
  103. compatible = "atmel,at91sam9g45-ddramc";
  104. reg = <0xffffe800 0x200>;
  105. };
  106. SHDWC Shutdown Controller
  107. required properties:
  108. - compatible: Should be "atmel,<chip>-shdwc".
  109. <chip> can be "at91sam9260", "at91sam9rl" or "at91sam9x5".
  110. - reg: Should contain registers location and length
  111. - clocks: phandle to input clock.
  112. optional properties:
  113. - atmel,wakeup-mode: String, operation mode of the wakeup mode.
  114. Supported values are: "none", "high", "low", "any".
  115. - atmel,wakeup-counter: Counter on Wake-up 0 (between 0x0 and 0xf).
  116. optional at91sam9260 properties:
  117. - atmel,wakeup-rtt-timer: boolean to enable Real-time Timer Wake-up.
  118. optional at91sam9rl properties:
  119. - atmel,wakeup-rtc-timer: boolean to enable Real-time Clock Wake-up.
  120. - atmel,wakeup-rtt-timer: boolean to enable Real-time Timer Wake-up.
  121. optional at91sam9x5 properties:
  122. - atmel,wakeup-rtc-timer: boolean to enable Real-time Clock Wake-up.
  123. Example:
  124. shdwc@fffffd10 {
  125. compatible = "atmel,at91sam9260-shdwc";
  126. reg = <0xfffffd10 0x10>;
  127. clocks = <&clk32k>;
  128. };
  129. SHDWC SAMA5D2-Compatible Shutdown Controller
  130. 1) shdwc node
  131. required properties:
  132. - compatible: should be "atmel,sama5d2-shdwc".
  133. - reg: should contain registers location and length
  134. - clocks: phandle to input clock.
  135. - #address-cells: should be one. The cell is the wake-up input index.
  136. - #size-cells: should be zero.
  137. optional properties:
  138. - debounce-delay-us: minimum wake-up inputs debouncer period in
  139. microseconds. It's usually a board-related property.
  140. - atmel,wakeup-rtc-timer: boolean to enable Real-Time Clock wake-up.
  141. The node contains child nodes for each wake-up input that the platform uses.
  142. 2) input nodes
  143. Wake-up input nodes are usually described in the "board" part of the Device
  144. Tree. Note also that input 0 is linked to the wake-up pin and is frequently
  145. used.
  146. Required properties:
  147. - reg: should contain the wake-up input index [0 - 15].
  148. Optional properties:
  149. - atmel,wakeup-active-high: boolean, the corresponding wake-up input described
  150. by the child, forces the wake-up of the core power supply on a high level.
  151. The default is to be active low.
  152. Example:
  153. On the SoC side:
  154. shdwc@f8048010 {
  155. compatible = "atmel,sama5d2-shdwc";
  156. reg = <0xf8048010 0x10>;
  157. clocks = <&clk32k>;
  158. #address-cells = <1>;
  159. #size-cells = <0>;
  160. atmel,wakeup-rtc-timer;
  161. };
  162. On the board side:
  163. shdwc@f8048010 {
  164. debounce-delay-us = <976>;
  165. input@0 {
  166. reg = <0>;
  167. };
  168. input@1 {
  169. reg = <1>;
  170. atmel,wakeup-active-high;
  171. };
  172. };
  173. Special Function Registers (SFR)
  174. Special Function Registers (SFR) manage specific aspects of the integrated
  175. memory, bridge implementations, processor and other functionality not controlled
  176. elsewhere.
  177. required properties:
  178. - compatible: Should be "atmel,<chip>-sfr", "syscon".
  179. <chip> can be "sama5d3", "sama5d4" or "sama5d2".
  180. - reg: Should contain registers location and length
  181. sfr@f0038000 {
  182. compatible = "atmel,sama5d3-sfr", "syscon";
  183. reg = <0xf0038000 0x60>;
  184. };