mmp2.dtsi 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. /*
  2. * Copyright (C) 2012 Marvell Technology Group Ltd.
  3. * Author: Haojian Zhuang <haojian.zhuang@marvell.com>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License version 2 as
  7. * publishhed by the Free Software Foundation.
  8. */
  9. /include/ "skeleton.dtsi"
  10. / {
  11. aliases {
  12. serial0 = &uart1;
  13. serial1 = &uart2;
  14. serial2 = &uart3;
  15. serial3 = &uart4;
  16. i2c0 = &twsi1;
  17. i2c1 = &twsi2;
  18. };
  19. soc {
  20. #address-cells = <1>;
  21. #size-cells = <1>;
  22. compatible = "simple-bus";
  23. interrupt-parent = <&intc>;
  24. ranges;
  25. axi@d4200000 { /* AXI */
  26. compatible = "mrvl,axi-bus", "simple-bus";
  27. #address-cells = <1>;
  28. #size-cells = <1>;
  29. reg = <0xd4200000 0x00200000>;
  30. ranges;
  31. intc: interrupt-controller@d4282000 {
  32. compatible = "mrvl,mmp2-intc";
  33. interrupt-controller;
  34. #interrupt-cells = <1>;
  35. reg = <0xd4282000 0x1000>;
  36. mrvl,intc-nr-irqs = <64>;
  37. };
  38. intcmux4@d4282150 {
  39. compatible = "mrvl,mmp2-mux-intc";
  40. interrupts = <4>;
  41. interrupt-controller;
  42. #interrupt-cells = <1>;
  43. reg = <0x150 0x4>, <0x168 0x4>;
  44. reg-names = "mux status", "mux mask";
  45. mrvl,intc-nr-irqs = <2>;
  46. };
  47. intcmux5: interrupt-controller@d4282154 {
  48. compatible = "mrvl,mmp2-mux-intc";
  49. interrupts = <5>;
  50. interrupt-controller;
  51. #interrupt-cells = <1>;
  52. reg = <0x154 0x4>, <0x16c 0x4>;
  53. reg-names = "mux status", "mux mask";
  54. mrvl,intc-nr-irqs = <2>;
  55. mrvl,clr-mfp-irq = <1>;
  56. };
  57. intcmux9: interrupt-controller@d4282180 {
  58. compatible = "mrvl,mmp2-mux-intc";
  59. interrupts = <9>;
  60. interrupt-controller;
  61. #interrupt-cells = <1>;
  62. reg = <0x180 0x4>, <0x17c 0x4>;
  63. reg-names = "mux status", "mux mask";
  64. mrvl,intc-nr-irqs = <3>;
  65. };
  66. intcmux17: interrupt-controller@d4282158 {
  67. compatible = "mrvl,mmp2-mux-intc";
  68. interrupts = <17>;
  69. interrupt-controller;
  70. #interrupt-cells = <1>;
  71. reg = <0x158 0x4>, <0x170 0x4>;
  72. reg-names = "mux status", "mux mask";
  73. mrvl,intc-nr-irqs = <5>;
  74. };
  75. intcmux35: interrupt-controller@d428215c {
  76. compatible = "mrvl,mmp2-mux-intc";
  77. interrupts = <35>;
  78. interrupt-controller;
  79. #interrupt-cells = <1>;
  80. reg = <0x15c 0x4>, <0x174 0x4>;
  81. reg-names = "mux status", "mux mask";
  82. mrvl,intc-nr-irqs = <15>;
  83. };
  84. intcmux51: interrupt-controller@d4282160 {
  85. compatible = "mrvl,mmp2-mux-intc";
  86. interrupts = <51>;
  87. interrupt-controller;
  88. #interrupt-cells = <1>;
  89. reg = <0x160 0x4>, <0x178 0x4>;
  90. reg-names = "mux status", "mux mask";
  91. mrvl,intc-nr-irqs = <2>;
  92. };
  93. intcmux55: interrupt-controller@d4282188 {
  94. compatible = "mrvl,mmp2-mux-intc";
  95. interrupts = <55>;
  96. interrupt-controller;
  97. #interrupt-cells = <1>;
  98. reg = <0x188 0x4>, <0x184 0x4>;
  99. reg-names = "mux status", "mux mask";
  100. mrvl,intc-nr-irqs = <2>;
  101. };
  102. };
  103. apb@d4000000 { /* APB */
  104. compatible = "mrvl,apb-bus", "simple-bus";
  105. #address-cells = <1>;
  106. #size-cells = <1>;
  107. reg = <0xd4000000 0x00200000>;
  108. ranges;
  109. timer0: timer@d4014000 {
  110. compatible = "mrvl,mmp-timer";
  111. reg = <0xd4014000 0x100>;
  112. interrupts = <13>;
  113. };
  114. uart1: uart@d4030000 {
  115. compatible = "mrvl,mmp-uart";
  116. reg = <0xd4030000 0x1000>;
  117. interrupts = <27>;
  118. status = "disabled";
  119. };
  120. uart2: uart@d4017000 {
  121. compatible = "mrvl,mmp-uart";
  122. reg = <0xd4017000 0x1000>;
  123. interrupts = <28>;
  124. status = "disabled";
  125. };
  126. uart3: uart@d4018000 {
  127. compatible = "mrvl,mmp-uart";
  128. reg = <0xd4018000 0x1000>;
  129. interrupts = <24>;
  130. status = "disabled";
  131. };
  132. uart4: uart@d4016000 {
  133. compatible = "mrvl,mmp-uart";
  134. reg = <0xd4016000 0x1000>;
  135. interrupts = <46>;
  136. status = "disabled";
  137. };
  138. gpio@d4019000 {
  139. compatible = "mrvl,mmp-gpio";
  140. #address-cells = <1>;
  141. #size-cells = <1>;
  142. reg = <0xd4019000 0x1000>;
  143. gpio-controller;
  144. #gpio-cells = <2>;
  145. interrupts = <49>;
  146. interrupt-names = "gpio_mux";
  147. interrupt-controller;
  148. #interrupt-cells = <1>;
  149. ranges;
  150. gcb0: gpio@d4019000 {
  151. reg = <0xd4019000 0x4>;
  152. };
  153. gcb1: gpio@d4019004 {
  154. reg = <0xd4019004 0x4>;
  155. };
  156. gcb2: gpio@d4019008 {
  157. reg = <0xd4019008 0x4>;
  158. };
  159. gcb3: gpio@d4019100 {
  160. reg = <0xd4019100 0x4>;
  161. };
  162. gcb4: gpio@d4019104 {
  163. reg = <0xd4019104 0x4>;
  164. };
  165. gcb5: gpio@d4019108 {
  166. reg = <0xd4019108 0x4>;
  167. };
  168. };
  169. twsi1: i2c@d4011000 {
  170. compatible = "mrvl,mmp-twsi";
  171. reg = <0xd4011000 0x1000>;
  172. interrupts = <7>;
  173. mrvl,i2c-fast-mode;
  174. status = "disabled";
  175. };
  176. twsi2: i2c@d4025000 {
  177. compatible = "mrvl,mmp-twsi";
  178. reg = <0xd4025000 0x1000>;
  179. interrupts = <58>;
  180. status = "disabled";
  181. };
  182. rtc: rtc@d4010000 {
  183. compatible = "mrvl,mmp-rtc";
  184. reg = <0xd4010000 0x1000>;
  185. interrupts = <1 0>;
  186. interrupt-names = "rtc 1Hz", "rtc alarm";
  187. interrupt-parent = <&intcmux5>;
  188. status = "disabled";
  189. };
  190. };
  191. };
  192. };