orion5x.dtsi 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. // Copyright (C) 2012 Thomas Petazzoni <[email protected]>
  3. #define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))
  4. / {
  5. #address-cells = <1>;
  6. #size-cells = <1>;
  7. model = "Marvell Orion5x SoC";
  8. compatible = "marvell,orion5x";
  9. interrupt-parent = <&intc>;
  10. aliases {
  11. gpio0 = &gpio0;
  12. };
  13. soc {
  14. #address-cells = <2>;
  15. #size-cells = <1>;
  16. controller = <&mbusc>;
  17. devbus_bootcs: devbus-bootcs {
  18. compatible = "marvell,orion-devbus";
  19. reg = <MBUS_ID(0xf0, 0x01) 0x1046C 0x4>;
  20. ranges = <0 MBUS_ID(0x01, 0x0f) 0 0xffffffff>;
  21. #address-cells = <1>;
  22. #size-cells = <1>;
  23. clocks = <&core_clk 0>;
  24. status = "disabled";
  25. };
  26. devbus_cs0: devbus-cs0 {
  27. compatible = "marvell,orion-devbus";
  28. reg = <MBUS_ID(0xf0, 0x01) 0x1045C 0x4>;
  29. ranges = <0 MBUS_ID(0x01, 0x1e) 0 0xffffffff>;
  30. #address-cells = <1>;
  31. #size-cells = <1>;
  32. clocks = <&core_clk 0>;
  33. status = "disabled";
  34. };
  35. devbus_cs1: devbus-cs1 {
  36. compatible = "marvell,orion-devbus";
  37. reg = <MBUS_ID(0xf0, 0x01) 0x10460 0x4>;
  38. ranges = <0 MBUS_ID(0x01, 0x1d) 0 0xffffffff>;
  39. #address-cells = <1>;
  40. #size-cells = <1>;
  41. clocks = <&core_clk 0>;
  42. status = "disabled";
  43. };
  44. devbus_cs2: devbus-cs2 {
  45. compatible = "marvell,orion-devbus";
  46. reg = <MBUS_ID(0xf0, 0x01) 0x10464 0x4>;
  47. ranges = <0 MBUS_ID(0x01, 0x1b) 0 0xffffffff>;
  48. #address-cells = <1>;
  49. #size-cells = <1>;
  50. clocks = <&core_clk 0>;
  51. status = "disabled";
  52. };
  53. internal-regs {
  54. compatible = "simple-bus";
  55. #address-cells = <1>;
  56. #size-cells = <1>;
  57. ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>;
  58. gpio0: gpio@10100 {
  59. compatible = "marvell,orion-gpio";
  60. #gpio-cells = <2>;
  61. gpio-controller;
  62. reg = <0x10100 0x40>;
  63. ngpios = <32>;
  64. interrupt-controller;
  65. #interrupt-cells = <2>;
  66. interrupts = <6>, <7>, <8>, <9>;
  67. };
  68. spi: spi@10600 {
  69. compatible = "marvell,orion-spi";
  70. #address-cells = <1>;
  71. #size-cells = <0>;
  72. cell-index = <0>;
  73. reg = <0x10600 0x28>;
  74. status = "disabled";
  75. };
  76. i2c: i2c@11000 {
  77. compatible = "marvell,mv64xxx-i2c";
  78. reg = <0x11000 0x20>;
  79. #address-cells = <1>;
  80. #size-cells = <0>;
  81. interrupts = <5>;
  82. clocks = <&core_clk 0>;
  83. status = "disabled";
  84. };
  85. uart0: serial@12000 {
  86. compatible = "ns16550a";
  87. reg = <0x12000 0x100>;
  88. reg-shift = <2>;
  89. interrupts = <3>;
  90. clocks = <&core_clk 0>;
  91. status = "disabled";
  92. };
  93. uart1: serial@12100 {
  94. compatible = "ns16550a";
  95. reg = <0x12100 0x100>;
  96. reg-shift = <2>;
  97. interrupts = <4>;
  98. clocks = <&core_clk 0>;
  99. status = "disabled";
  100. };
  101. bridge_intc: bridge-interrupt-ctrl@20110 {
  102. compatible = "marvell,orion-bridge-intc";
  103. interrupt-controller;
  104. #interrupt-cells = <1>;
  105. reg = <0x20110 0x8>;
  106. interrupts = <0>;
  107. marvell,#interrupts = <4>;
  108. };
  109. intc: interrupt-controller@20200 {
  110. compatible = "marvell,orion-intc";
  111. interrupt-controller;
  112. #interrupt-cells = <1>;
  113. reg = <0x20200 0x08>;
  114. };
  115. timer: timer@20300 {
  116. compatible = "marvell,orion-timer";
  117. reg = <0x20300 0x20>;
  118. interrupt-parent = <&bridge_intc>;
  119. interrupts = <1>, <2>;
  120. clocks = <&core_clk 0>;
  121. };
  122. wdt: wdt@20300 {
  123. compatible = "marvell,orion-wdt";
  124. reg = <0x20300 0x28>, <0x20108 0x4>;
  125. interrupt-parent = <&bridge_intc>;
  126. interrupts = <3>;
  127. clocks = <&core_clk 0>;
  128. status = "okay";
  129. };
  130. ehci0: ehci@50000 {
  131. compatible = "marvell,orion-ehci";
  132. reg = <0x50000 0x1000>;
  133. interrupts = <17>;
  134. status = "disabled";
  135. };
  136. xor: dma-controller@60900 {
  137. compatible = "marvell,orion-xor";
  138. reg = <0x60900 0x100
  139. 0x60b00 0x100>;
  140. status = "okay";
  141. xor00 {
  142. interrupts = <30>;
  143. dmacap,memcpy;
  144. dmacap,xor;
  145. };
  146. xor01 {
  147. interrupts = <31>;
  148. dmacap,memcpy;
  149. dmacap,xor;
  150. dmacap,memset;
  151. };
  152. };
  153. eth: ethernet-controller@72000 {
  154. compatible = "marvell,orion-eth";
  155. #address-cells = <1>;
  156. #size-cells = <0>;
  157. reg = <0x72000 0x4000>;
  158. marvell,tx-checksum-limit = <1600>;
  159. status = "disabled";
  160. ethport: ethernet-port@0 {
  161. compatible = "marvell,orion-eth-port";
  162. reg = <0>;
  163. interrupts = <21>;
  164. /* overwrite MAC address in bootloader */
  165. local-mac-address = [00 00 00 00 00 00];
  166. /* set phy-handle property in board file */
  167. };
  168. };
  169. mdio: mdio-bus@72004 {
  170. compatible = "marvell,orion-mdio";
  171. #address-cells = <1>;
  172. #size-cells = <0>;
  173. reg = <0x72004 0x84>;
  174. interrupts = <22>;
  175. status = "disabled";
  176. /* add phy nodes in board file */
  177. };
  178. sata: sata@80000 {
  179. compatible = "marvell,orion-sata";
  180. reg = <0x80000 0x5000>;
  181. interrupts = <29>;
  182. status = "disabled";
  183. };
  184. cesa: crypto@90000 {
  185. compatible = "marvell,orion-crypto";
  186. reg = <0x90000 0x10000>;
  187. reg-names = "regs";
  188. interrupts = <28>;
  189. marvell,crypto-srams = <&crypto_sram>;
  190. marvell,crypto-sram-size = <0x800>;
  191. status = "okay";
  192. };
  193. ehci1: ehci@a0000 {
  194. compatible = "marvell,orion-ehci";
  195. reg = <0xa0000 0x1000>;
  196. interrupts = <12>;
  197. status = "disabled";
  198. };
  199. };
  200. crypto_sram: sa-sram {
  201. compatible = "mmio-sram";
  202. reg = <MBUS_ID(0x09, 0x00) 0x0 0x800>;
  203. #address-cells = <1>;
  204. #size-cells = <1>;
  205. };
  206. };
  207. };