kirkwood.dtsi 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. /include/ "skeleton.dtsi"
  2. / {
  3. compatible = "marvell,kirkwood";
  4. interrupt-parent = <&intc>;
  5. cpus {
  6. #address-cells = <1>;
  7. #size-cells = <0>;
  8. cpu@0 {
  9. device_type = "cpu";
  10. compatible = "marvell,feroceon";
  11. clocks = <&core_clk 1>, <&core_clk 3>, <&gate_clk 11>;
  12. clock-names = "cpu_clk", "ddrclk", "powersave";
  13. };
  14. };
  15. aliases {
  16. gpio0 = &gpio0;
  17. gpio1 = &gpio1;
  18. };
  19. intc: interrupt-controller {
  20. compatible = "marvell,orion-intc", "marvell,intc";
  21. interrupt-controller;
  22. #interrupt-cells = <1>;
  23. reg = <0xf1020204 0x04>,
  24. <0xf1020214 0x04>;
  25. };
  26. ocp@f1000000 {
  27. compatible = "simple-bus";
  28. ranges = <0x00000000 0xf1000000 0x0100000
  29. 0xe0000000 0xe0000000 0x8100000 /* PCIE */
  30. 0xf4000000 0xf4000000 0x0000400
  31. 0xf5000000 0xf5000000 0x0000400>;
  32. #address-cells = <1>;
  33. #size-cells = <1>;
  34. core_clk: core-clocks@10030 {
  35. compatible = "marvell,kirkwood-core-clock";
  36. reg = <0x10030 0x4>;
  37. #clock-cells = <1>;
  38. };
  39. gpio0: gpio@10100 {
  40. compatible = "marvell,orion-gpio";
  41. #gpio-cells = <2>;
  42. gpio-controller;
  43. reg = <0x10100 0x40>;
  44. ngpios = <32>;
  45. interrupt-controller;
  46. #interrupt-cells = <2>;
  47. interrupts = <35>, <36>, <37>, <38>;
  48. clocks = <&gate_clk 7>;
  49. };
  50. gpio1: gpio@10140 {
  51. compatible = "marvell,orion-gpio";
  52. #gpio-cells = <2>;
  53. gpio-controller;
  54. reg = <0x10140 0x40>;
  55. ngpios = <18>;
  56. interrupt-controller;
  57. #interrupt-cells = <2>;
  58. interrupts = <39>, <40>, <41>;
  59. clocks = <&gate_clk 7>;
  60. };
  61. serial@12000 {
  62. compatible = "ns16550a";
  63. reg = <0x12000 0x100>;
  64. reg-shift = <2>;
  65. interrupts = <33>;
  66. clocks = <&gate_clk 7>;
  67. status = "disabled";
  68. };
  69. serial@12100 {
  70. compatible = "ns16550a";
  71. reg = <0x12100 0x100>;
  72. reg-shift = <2>;
  73. interrupts = <34>;
  74. clocks = <&gate_clk 7>;
  75. status = "disabled";
  76. };
  77. spi@10600 {
  78. compatible = "marvell,orion-spi";
  79. #address-cells = <1>;
  80. #size-cells = <0>;
  81. cell-index = <0>;
  82. interrupts = <23>;
  83. reg = <0x10600 0x28>;
  84. clocks = <&gate_clk 7>;
  85. status = "disabled";
  86. };
  87. gate_clk: clock-gating-control@2011c {
  88. compatible = "marvell,kirkwood-gating-clock";
  89. reg = <0x2011c 0x4>;
  90. clocks = <&core_clk 0>;
  91. #clock-cells = <1>;
  92. };
  93. wdt@20300 {
  94. compatible = "marvell,orion-wdt";
  95. reg = <0x20300 0x28>;
  96. clocks = <&gate_clk 7>;
  97. status = "okay";
  98. };
  99. xor@60800 {
  100. compatible = "marvell,orion-xor";
  101. reg = <0x60800 0x100
  102. 0x60A00 0x100>;
  103. status = "okay";
  104. clocks = <&gate_clk 8>;
  105. xor00 {
  106. interrupts = <5>;
  107. dmacap,memcpy;
  108. dmacap,xor;
  109. };
  110. xor01 {
  111. interrupts = <6>;
  112. dmacap,memcpy;
  113. dmacap,xor;
  114. dmacap,memset;
  115. };
  116. };
  117. xor@60900 {
  118. compatible = "marvell,orion-xor";
  119. reg = <0x60900 0x100
  120. 0xd0B00 0x100>;
  121. status = "okay";
  122. clocks = <&gate_clk 16>;
  123. xor00 {
  124. interrupts = <7>;
  125. dmacap,memcpy;
  126. dmacap,xor;
  127. };
  128. xor01 {
  129. interrupts = <8>;
  130. dmacap,memcpy;
  131. dmacap,xor;
  132. dmacap,memset;
  133. };
  134. };
  135. ehci@50000 {
  136. compatible = "marvell,orion-ehci";
  137. reg = <0x50000 0x1000>;
  138. interrupts = <19>;
  139. clocks = <&gate_clk 3>;
  140. status = "okay";
  141. };
  142. nand@3000000 {
  143. #address-cells = <1>;
  144. #size-cells = <1>;
  145. cle = <0>;
  146. ale = <1>;
  147. bank-width = <1>;
  148. compatible = "marvell,orion-nand";
  149. reg = <0xf4000000 0x400>;
  150. chip-delay = <25>;
  151. /* set partition map and/or chip-delay in board dts */
  152. clocks = <&gate_clk 7>;
  153. status = "disabled";
  154. };
  155. i2c@11000 {
  156. compatible = "marvell,mv64xxx-i2c";
  157. reg = <0x11000 0x20>;
  158. #address-cells = <1>;
  159. #size-cells = <0>;
  160. interrupts = <29>;
  161. clock-frequency = <100000>;
  162. clocks = <&gate_clk 7>;
  163. status = "disabled";
  164. };
  165. crypto@30000 {
  166. compatible = "marvell,orion-crypto";
  167. reg = <0x30000 0x10000>,
  168. <0xf5000000 0x800>;
  169. reg-names = "regs", "sram";
  170. interrupts = <22>;
  171. clocks = <&gate_clk 17>;
  172. status = "okay";
  173. };
  174. };
  175. };