armada-xp.dtsi 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. /*
  2. * Device Tree Include file for Marvell Armada XP family SoC
  3. *
  4. * Copyright (C) 2012 Marvell
  5. *
  6. * Lior Amsalem <alior@marvell.com>
  7. * Gregory CLEMENT <gregory.clement@free-electrons.com>
  8. * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  9. * Ben Dooks <ben.dooks@codethink.co.uk>
  10. *
  11. * This file is licensed under the terms of the GNU General Public
  12. * License version 2. This program is licensed "as is" without any
  13. * warranty of any kind, whether express or implied.
  14. *
  15. * Contains definitions specific to the Armada XP SoC that are not
  16. * common to all Armada SoCs.
  17. */
  18. #include "armada-370-xp.dtsi"
  19. / {
  20. model = "Marvell Armada XP family SoC";
  21. compatible = "marvell,armadaxp", "marvell,armada-370-xp";
  22. aliases {
  23. eth2 = &eth2;
  24. };
  25. soc {
  26. compatible = "marvell,armadaxp-mbus", "simple-bus";
  27. bootrom {
  28. compatible = "marvell,bootrom";
  29. reg = <MBUS_ID(0x01, 0x1d) 0 0x100000>;
  30. };
  31. internal-regs {
  32. L2: l2-cache {
  33. compatible = "marvell,aurora-system-cache";
  34. reg = <0x08000 0x1000>;
  35. cache-id-part = <0x100>;
  36. wt-override;
  37. };
  38. i2c0: i2c@11000 {
  39. compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
  40. reg = <0x11000 0x100>;
  41. };
  42. i2c1: i2c@11100 {
  43. compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
  44. reg = <0x11100 0x100>;
  45. };
  46. serial@12200 {
  47. compatible = "snps,dw-apb-uart";
  48. reg = <0x12200 0x100>;
  49. reg-shift = <2>;
  50. interrupts = <43>;
  51. reg-io-width = <1>;
  52. clocks = <&coreclk 0>;
  53. status = "disabled";
  54. };
  55. serial@12300 {
  56. compatible = "snps,dw-apb-uart";
  57. reg = <0x12300 0x100>;
  58. reg-shift = <2>;
  59. interrupts = <44>;
  60. reg-io-width = <1>;
  61. clocks = <&coreclk 0>;
  62. status = "disabled";
  63. };
  64. system-controller@18200 {
  65. compatible = "marvell,armada-370-xp-system-controller";
  66. reg = <0x18200 0x500>;
  67. };
  68. gateclk: clock-gating-control@18220 {
  69. compatible = "marvell,armada-xp-gating-clock";
  70. reg = <0x18220 0x4>;
  71. clocks = <&coreclk 0>;
  72. #clock-cells = <1>;
  73. };
  74. coreclk: mvebu-sar@18230 {
  75. compatible = "marvell,armada-xp-core-clock";
  76. reg = <0x18230 0x08>;
  77. #clock-cells = <1>;
  78. };
  79. thermal@182b0 {
  80. compatible = "marvell,armadaxp-thermal";
  81. reg = <0x182b0 0x4
  82. 0x184d0 0x4>;
  83. status = "okay";
  84. };
  85. cpuclk: clock-complex@18700 {
  86. #clock-cells = <1>;
  87. compatible = "marvell,armada-xp-cpu-clock";
  88. reg = <0x18700 0xA0>, <0x1c054 0x10>;
  89. clocks = <&coreclk 1>;
  90. };
  91. interrupt-controller@20000 {
  92. reg = <0x20a00 0x2d0>, <0x21070 0x58>;
  93. };
  94. timer@20300 {
  95. compatible = "marvell,armada-xp-timer";
  96. clocks = <&coreclk 2>, <&refclk>;
  97. clock-names = "nbclk", "fixed";
  98. };
  99. watchdog@20300 {
  100. compatible = "marvell,armada-xp-wdt";
  101. clocks = <&coreclk 2>, <&refclk>;
  102. clock-names = "nbclk", "fixed";
  103. };
  104. cpurst@20800 {
  105. compatible = "marvell,armada-370-cpu-reset";
  106. reg = <0x20800 0x20>;
  107. };
  108. eth2: ethernet@30000 {
  109. compatible = "marvell,armada-xp-neta";
  110. reg = <0x30000 0x4000>;
  111. interrupts = <12>;
  112. clocks = <&gateclk 2>;
  113. status = "disabled";
  114. };
  115. usb@50000 {
  116. clocks = <&gateclk 18>;
  117. };
  118. usb@51000 {
  119. clocks = <&gateclk 19>;
  120. };
  121. usb@52000 {
  122. compatible = "marvell,orion-ehci";
  123. reg = <0x52000 0x500>;
  124. interrupts = <47>;
  125. clocks = <&gateclk 20>;
  126. status = "disabled";
  127. };
  128. xor@60900 {
  129. compatible = "marvell,orion-xor";
  130. reg = <0x60900 0x100
  131. 0x60b00 0x100>;
  132. clocks = <&gateclk 22>;
  133. status = "okay";
  134. xor10 {
  135. interrupts = <51>;
  136. dmacap,memcpy;
  137. dmacap,xor;
  138. };
  139. xor11 {
  140. interrupts = <52>;
  141. dmacap,memcpy;
  142. dmacap,xor;
  143. dmacap,memset;
  144. };
  145. };
  146. ethernet@70000 {
  147. compatible = "marvell,armada-xp-neta";
  148. };
  149. ethernet@74000 {
  150. compatible = "marvell,armada-xp-neta";
  151. };
  152. xor@f0900 {
  153. compatible = "marvell,orion-xor";
  154. reg = <0xF0900 0x100
  155. 0xF0B00 0x100>;
  156. clocks = <&gateclk 28>;
  157. status = "okay";
  158. xor00 {
  159. interrupts = <94>;
  160. dmacap,memcpy;
  161. dmacap,xor;
  162. };
  163. xor01 {
  164. interrupts = <95>;
  165. dmacap,memcpy;
  166. dmacap,xor;
  167. dmacap,memset;
  168. };
  169. };
  170. };
  171. };
  172. clocks {
  173. /* 25 MHz reference crystal */
  174. refclk: oscillator {
  175. compatible = "fixed-clock";
  176. #clock-cells = <0>;
  177. clock-frequency = <25000000>;
  178. };
  179. };
  180. };