mcs8140.dtsi 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. /*
  2. * mcs8140.dtsi - Device Tree Include file for Moschip MCS8140 family SoC
  3. *
  4. * Copyright (C) 2012, Florian Fainelli <florian@openwrt.org>
  5. *
  6. * Licensed under GPLv2.
  7. */
  8. /include/ "skeleton.dtsi"
  9. / {
  10. model = "Moschip MCS8140 family SoC";
  11. compatible = "moschip,mcs8140";
  12. interrupt-parent = <&intc>;
  13. aliases {
  14. serial0 = &uart0;
  15. eth0 = &eth0;
  16. };
  17. cpus {
  18. cpu@0 {
  19. compatible = "arm,arm926ejs";
  20. };
  21. };
  22. ahb {
  23. compatible = "simple-bus";
  24. #address-cells = <1>;
  25. #size-cells = <1>;
  26. ranges;
  27. vci {
  28. compatible = "simple-bus";
  29. #address-cells = <1>;
  30. #size-cells = <1>;
  31. ranges;
  32. eth0: ethernet@40084000 {
  33. #address-cells = <1>;
  34. #size-cells = <0>;
  35. compatible = "moschip,nuport-mac";
  36. reg = <0x40084000 0xd8 // mac
  37. 0x40080000 0x58>; // dma channels
  38. interrupts = <4 5 29>; /* tx, rx, link */
  39. nuport-mac,buffer-shifting;
  40. nuport-mac,link-activity = <0>;
  41. };
  42. tso@40088000 {
  43. reg = <0x40088000 0x1c>;
  44. interrupts = <7>;
  45. };
  46. i2s@4008c000 {
  47. compatible = "moschip,mcs814x-i2s";
  48. reg = <0x4008c000 0x18>;
  49. interrupts = <8>;
  50. };
  51. ipsec@40094000 {
  52. compatible = "moschip,mcs814x-ipsec";
  53. reg = <0x40094000 0x1d8>;
  54. interrupts = <16>;
  55. };
  56. rng@4009c000 {
  57. compatible = "moschip,mcs814x-rng";
  58. reg = <0x4009c000 0x8>;
  59. };
  60. memc@400a8000 {
  61. reg = <0x400a8000 0x58>;
  62. };
  63. list-proc@400ac0c0 {
  64. reg = <0x400ac0c0 0x38>;
  65. interrupts = <19 27>; // done, error
  66. };
  67. gpio: gpio@400d0000 {
  68. compatible = "moschip,mcs814x-gpio";
  69. reg = <0x400d0000 0x670>;
  70. interrupts = <10>;
  71. #gpio-cells = <2>;
  72. gpio-controller;
  73. num-gpios = <20>;
  74. };
  75. eepio: gpio@400d4000 {
  76. compatible = "moschip,mcs814x-gpio";
  77. reg = <0x400d4000 0x470>;
  78. #gpio-cells = <2>;
  79. gpio-controller;
  80. num-gpios = <4>;
  81. };
  82. uart0: serial@400dc000 {
  83. compatible = "ns16550";
  84. reg = <0x400dc000 0x20>;
  85. clock-frequency = <50000000>;
  86. reg-shift = <2>;
  87. interrupts = <21>;
  88. status = "okay";
  89. };
  90. intc: interrupt-controller@400e4000 {
  91. #interrupt-cells = <1>;
  92. compatible = "moschip,mcs814x-intc";
  93. interrupt-controller;
  94. interrupt-parent;
  95. reg = <0x400e4000 0x48>;
  96. };
  97. m2m@400e8000 {
  98. reg = <0x400e8000 0x24>;
  99. interrupts = <17>;
  100. };
  101. eth-filters@400ec000 {
  102. reg = <0x400ec000 0x80>;
  103. };
  104. timer: timer@400f800c {
  105. compatible = "moschip,mcs814x-timer";
  106. interrupts = <0>;
  107. reg = <0x400f800c 0x8>;
  108. };
  109. watchdog@400f8014 {
  110. compatible = "moschip,mcs814x-wdt";
  111. reg = <0x400f8014 0x8>;
  112. };
  113. adc {
  114. compatible = "simple-bus";
  115. #address-cells = <2>;
  116. #size-cells = <1>;
  117. // 8 64MB chip-selects
  118. ranges = <0 0 0x00000000 0x4000000 // sdram
  119. 1 0 0x04000000 0x4000000 // sdram
  120. 2 0 0x08000000 0x4000000 // reserved
  121. 3 0 0x0c000000 0x4000000 // flash/localbus
  122. 4 0 0x10000000 0x4000000 // flash/localbus
  123. 5 0 0x14000000 0x4000000 // flash/localbus
  124. 6 0 0x18000000 0x4000000 // flash/localbus
  125. 7 0 0x1c000000 0x4000000>; // flash/localbus
  126. sdram: memory@0,0 {
  127. reg = <0 0 0>;
  128. };
  129. nor: flash@7,0 {
  130. reg = <7 0 0x4000000>;
  131. compatible = "cfi-flash";
  132. bank-width = <1>; // 8-bit external flash
  133. #address-cells = <1>;
  134. #size-cells = <1>;
  135. };
  136. };
  137. usb0: ehci@400fc000 {
  138. compatible = "moschip,mcs814x-ehci", "usb-ehci";
  139. reg = <0x400fc000 0x74>;
  140. interrupts = <2>;
  141. };
  142. usb1: ohci@400fd000 {
  143. compatible = "moschip,mcs814x-ohci", "ohci-le";
  144. reg = <0x400fd000 0x74>;
  145. interrupts = <11>;
  146. };
  147. usb2: ohci@400fe000 {
  148. compatible = "moschip,mcs814x-ohci", "ohci-le";
  149. reg = <0x400fe000 0x74>;
  150. interrupts = <12>;
  151. };
  152. usb3: otg@400ff000 {
  153. compatible = "moschip,msc814x-otg", "usb-otg";
  154. reg = <0x400ff000 0x1000>;
  155. interrupts = <13>;
  156. };
  157. };
  158. };
  159. };