efm32gg.dtsi 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. /*
  2. * Device tree for Energy Micro EFM32 Giant Gecko SoC.
  3. *
  4. * Documentation available from
  5. * http://www.silabs.com/Support%20Documents/TechnicalDocs/EFM32GG-RM.pdf
  6. */
  7. #include "armv7-m.dtsi"
  8. #include "dt-bindings/clock/efm32-cmu.h"
  9. / {
  10. #address-cells = <1>;
  11. #size-cells = <1>;
  12. aliases {
  13. i2c0 = &i2c0;
  14. i2c1 = &i2c1;
  15. serial0 = &uart0;
  16. serial1 = &uart1;
  17. serial2 = &uart2;
  18. serial3 = &uart3;
  19. serial4 = &uart4;
  20. spi0 = &spi0;
  21. spi1 = &spi1;
  22. spi2 = &spi2;
  23. };
  24. soc {
  25. adc: adc@40002000 {
  26. compatible = "energymicro,efm32-adc";
  27. reg = <0x40002000 0x400>;
  28. interrupts = <7>;
  29. clocks = <&cmu clk_HFPERCLKADC0>;
  30. status = "disabled";
  31. };
  32. gpio: gpio@40006000 {
  33. compatible = "energymicro,efm32-gpio";
  34. reg = <0x40006000 0x1000>;
  35. interrupts = <1 11>;
  36. gpio-controller;
  37. #gpio-cells = <2>;
  38. interrupt-controller;
  39. #interrupt-cells = <1>;
  40. clocks = <&cmu clk_HFPERCLKGPIO>;
  41. status = "ok";
  42. };
  43. i2c0: i2c@4000a000 {
  44. #address-cells = <1>;
  45. #size-cells = <0>;
  46. compatible = "energymicro,efm32-i2c";
  47. reg = <0x4000a000 0x400>;
  48. interrupts = <9>;
  49. clocks = <&cmu clk_HFPERCLKI2C0>;
  50. clock-frequency = <100000>;
  51. status = "disabled";
  52. };
  53. i2c1: i2c@4000a400 {
  54. #address-cells = <1>;
  55. #size-cells = <0>;
  56. compatible = "energymicro,efm32-i2c";
  57. reg = <0x4000a400 0x400>;
  58. interrupts = <10>;
  59. clocks = <&cmu clk_HFPERCLKI2C1>;
  60. clock-frequency = <100000>;
  61. status = "disabled";
  62. };
  63. spi0: spi@4000c000 { /* USART0 */
  64. #address-cells = <1>;
  65. #size-cells = <0>;
  66. compatible = "energymicro,efm32-spi";
  67. reg = <0x4000c000 0x400>;
  68. interrupts = <3 4>;
  69. clocks = <&cmu clk_HFPERCLKUSART0>;
  70. status = "disabled";
  71. };
  72. spi1: spi@4000c400 { /* USART1 */
  73. #address-cells = <1>;
  74. #size-cells = <0>;
  75. compatible = "energymicro,efm32-spi";
  76. reg = <0x4000c400 0x400>;
  77. interrupts = <15 16>;
  78. clocks = <&cmu clk_HFPERCLKUSART1>;
  79. status = "disabled";
  80. };
  81. spi2: spi@4000c800 { /* USART2 */
  82. #address-cells = <1>;
  83. #size-cells = <0>;
  84. compatible = "energymicro,efm32-spi";
  85. reg = <0x4000c800 0x400>;
  86. interrupts = <18 19>;
  87. clocks = <&cmu clk_HFPERCLKUSART2>;
  88. status = "disabled";
  89. };
  90. uart0: uart@4000c000 { /* USART0 */
  91. compatible = "energymicro,efm32-uart";
  92. reg = <0x4000c000 0x400>;
  93. interrupts = <3 4>;
  94. clocks = <&cmu clk_HFPERCLKUSART0>;
  95. status = "disabled";
  96. };
  97. uart1: uart@4000c400 { /* USART1 */
  98. compatible = "energymicro,efm32-uart";
  99. reg = <0x4000c400 0x400>;
  100. interrupts = <15 16>;
  101. clocks = <&cmu clk_HFPERCLKUSART1>;
  102. status = "disabled";
  103. };
  104. uart2: uart@4000c800 { /* USART2 */
  105. compatible = "energymicro,efm32-uart";
  106. reg = <0x4000c800 0x400>;
  107. interrupts = <18 19>;
  108. clocks = <&cmu clk_HFPERCLKUSART2>;
  109. status = "disabled";
  110. };
  111. uart3: uart@4000e000 { /* UART0 */
  112. compatible = "energymicro,efm32-uart";
  113. reg = <0x4000e000 0x400>;
  114. interrupts = <20 21>;
  115. clocks = <&cmu clk_HFPERCLKUART0>;
  116. status = "disabled";
  117. };
  118. uart4: uart@4000e400 { /* UART1 */
  119. compatible = "energymicro,efm32-uart";
  120. reg = <0x4000e400 0x400>;
  121. interrupts = <22 23>;
  122. clocks = <&cmu clk_HFPERCLKUART1>;
  123. status = "disabled";
  124. };
  125. timer0: timer@40010000 {
  126. compatible = "energymicro,efm32-timer";
  127. reg = <0x40010000 0x400>;
  128. interrupts = <2>;
  129. clocks = <&cmu clk_HFPERCLKTIMER0>;
  130. };
  131. timer1: timer@40010400 {
  132. compatible = "energymicro,efm32-timer";
  133. reg = <0x40010400 0x400>;
  134. interrupts = <12>;
  135. clocks = <&cmu clk_HFPERCLKTIMER1>;
  136. };
  137. timer2: timer@40010800 {
  138. compatible = "energymicro,efm32-timer";
  139. reg = <0x40010800 0x400>;
  140. interrupts = <13>;
  141. clocks = <&cmu clk_HFPERCLKTIMER2>;
  142. };
  143. timer3: timer@40010c00 {
  144. compatible = "energymicro,efm32-timer";
  145. reg = <0x40010c00 0x400>;
  146. interrupts = <14>;
  147. clocks = <&cmu clk_HFPERCLKTIMER3>;
  148. };
  149. cmu: cmu@400c8000 {
  150. compatible = "efm32gg,cmu";
  151. reg = <0x400c8000 0x400>;
  152. interrupts = <32>;
  153. #clock-cells = <1>;
  154. };
  155. };
  156. };