vr9.dtsi 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. #include <dt-bindings/gpio/gpio.h>
  2. / {
  3. #address-cells = <1>;
  4. #size-cells = <1>;
  5. compatible = "lantiq,xway", "lantiq,vr9";
  6. aliases {
  7. serial0 = &asc1;
  8. };
  9. chosen {
  10. stdout-path = "serial0:115200n8";
  11. };
  12. cpus {
  13. cpu@0 {
  14. compatible = "mips,mips34Kc";
  15. };
  16. };
  17. memory@0 {
  18. device_type = "memory";
  19. };
  20. cputemp@0 {
  21. compatible = "lantiq,cputemp";
  22. };
  23. biu@1f800000 {
  24. #address-cells = <1>;
  25. #size-cells = <1>;
  26. compatible = "lantiq,biu", "simple-bus";
  27. reg = <0x1f800000 0x800000>;
  28. ranges = <0x0 0x1f800000 0x7fffff>;
  29. icu0: icu@80200 {
  30. #interrupt-cells = <1>;
  31. interrupt-controller;
  32. compatible = "lantiq,icu";
  33. reg = <0x80200 0x28
  34. 0x80228 0x28
  35. 0x80250 0x28
  36. 0x80278 0x28
  37. 0x802a0 0x28>;
  38. };
  39. watchdog@803f0 {
  40. compatible = "lantiq,xrx100-wdt", "lantiq,xrx100-wdt";
  41. reg = <0x803f0 0x10>;
  42. regmap = <&rcu0>;
  43. };
  44. };
  45. sram@1f000000 {
  46. #address-cells = <1>;
  47. #size-cells = <1>;
  48. compatible = "lantiq,sram", "simple-bus";
  49. reg = <0x1f000000 0x800000>;
  50. ranges = <0x0 0x1f000000 0x7fffff>;
  51. eiu0: eiu@101000 {
  52. #interrupt-cells = <1>;
  53. interrupt-controller;
  54. compatible = "lantiq,eiu-xway";
  55. reg = <0x101000 0x1000>;
  56. interrupt-parent = <&icu0>;
  57. lantiq,eiu-irqs = <166 135 66 40 41 42>;
  58. };
  59. pmu0: pmu@102000 {
  60. compatible = "lantiq,pmu-xway";
  61. reg = <0x102000 0x1000>;
  62. };
  63. cgu0: cgu@103000 {
  64. compatible = "lantiq,cgu-xway";
  65. reg = <0x103000 0x1000>;
  66. };
  67. dcdc@106a00 {
  68. compatible = "lantiq,dcdc-xrx200";
  69. reg = <0x106a00 0x200>;
  70. };
  71. vmmc: vmmc@103000 {
  72. status = "disabled";
  73. compatible = "lantiq,vmmc-xway";
  74. reg = <0x103000 0x400>;
  75. interrupt-parent = <&icu0>;
  76. interrupts = <150 151 152 153 154 155>;
  77. };
  78. rcu0: rcu@203000 {
  79. compatible = "lantiq,xrx200-rcu", "simple-mfd", "syscon";
  80. reg = <0x203000 0x100>;
  81. ranges = <0x0 0x203000 0x100>;
  82. big-endian;
  83. gphy0: gphy@20 {
  84. compatible = "lantiq,xrx200-gphy";
  85. reg = <0x20 0x4>;
  86. resets = <&reset0 31 30>, <&reset1 7 7>;
  87. reset-names = "gphy", "gphy2";
  88. };
  89. gphy1: gphy@68 {
  90. compatible = "lantiq,xrx200-gphy";
  91. reg = <0x68 0x4>;
  92. resets = <&reset0 29 28>, <&reset1 6 6>;
  93. reset-names = "gphy", "gphy2";
  94. };
  95. reset0: reset-controller@10 {
  96. compatible = "lantiq,xrx200-reset";
  97. reg = <0x10 4>, <0x14 4>;
  98. #reset-cells = <2>;
  99. };
  100. reset1: reset-controller@48 {
  101. compatible = "lantiq,xrx200-reset";
  102. reg = <0x48 4>, <0x24 4>;
  103. #reset-cells = <2>;
  104. };
  105. usb_phy0: usb2-phy@18 {
  106. compatible = "lantiq,xrx200-usb2-phy";
  107. reg = <0x18 4>, <0x38 4>;
  108. status = "disabled";
  109. resets = <&reset1 4 4>, <&reset0 4 4>;
  110. reset-names = "phy", "ctrl";
  111. #phy-cells = <0>;
  112. };
  113. usb_phy1: usb2-phy@34 {
  114. compatible = "lantiq,xrx200-usb2-phy";
  115. reg = <0x34 4>, <0x3c 4>;
  116. status = "disabled";
  117. resets = <&reset1 5 4>, <&reset0 4 4>;
  118. reset-names = "phy", "ctrl";
  119. #phy-cells = <0>;
  120. };
  121. reboot@10 {
  122. compatible = "syscon-reboot";
  123. reg = <0x10 4>;
  124. regmap = <&rcu0>;
  125. offset = <0x10>;
  126. mask = <0xe0000000>;
  127. };
  128. };
  129. };
  130. fpi@10000000 {
  131. compatible = "lantiq,xrx200-fpi", "simple-bus";
  132. ranges = <0x0 0x10000000 0xf000000>;
  133. reg = <0x1f400000 0x1000>,
  134. <0x10000000 0xf000000>;
  135. regmap = <&rcu0>;
  136. offset-endianness = <0x4c>;
  137. #address-cells = <1>;
  138. #size-cells = <1>;
  139. localbus: localbus@0 {
  140. #address-cells = <2>;
  141. #size-cells = <1>;
  142. ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
  143. 1 0 0x4000000 0x4000010>; /* addsel1 */
  144. compatible = "lantiq,localbus", "simple-bus";
  145. };
  146. gptu@e100a00 {
  147. compatible = "lantiq,gptu-xway";
  148. reg = <0xe100a00 0x100>;
  149. interrupt-parent = <&icu0>;
  150. interrupts = <126 127 128 129 130 131>;
  151. };
  152. usif: usif@da00000 {
  153. compatible = "lantiq,usif";
  154. reg = <0xda00000 0x1000000>;
  155. interrupt-parent = <&icu0>;
  156. interrupts = <29 125 107 108 109 110>;
  157. status = "disabled";
  158. };
  159. spi: spi@e100800 {
  160. compatible = "lantiq,xrx200-spi", "lantiq,xrx100-spi";
  161. reg = <0xe100800 0x100>;
  162. interrupt-parent = <&icu0>;
  163. interrupts = <22 23 24>;
  164. interrupt-names = "spi_rx", "spi_tx", "spi_err",
  165. "spi_frm";
  166. #address-cells = <1>;
  167. #size-cells = <1>;
  168. status = "disabled";
  169. };
  170. gpio: pinmux@e100b10 {
  171. compatible = "lantiq,xrx200-pinctrl";
  172. #gpio-cells = <2>;
  173. gpio-controller;
  174. reg = <0xe100b10 0xa0>;
  175. };
  176. stp: stp@e100bb0 {
  177. status = "disabled";
  178. compatible = "lantiq,gpio-stp-xway";
  179. reg = <0xe100bb0 0x40>;
  180. #gpio-cells = <2>;
  181. gpio-controller;
  182. lantiq,shadow = <0xffffff>;
  183. lantiq,groups = <0x7>;
  184. lantiq,dsl = <0x0>;
  185. lantiq,phy1 = <0x0>;
  186. lantiq,phy2 = <0x0>;
  187. };
  188. asc1: serial@e100c00 {
  189. compatible = "lantiq,asc";
  190. reg = <0xe100c00 0x400>;
  191. interrupt-parent = <&icu0>;
  192. interrupts = <112 113 114>;
  193. };
  194. deu@e103100 {
  195. compatible = "lantiq,deu-xrx200";
  196. reg = <0xe103100 0xf00>;
  197. };
  198. dma0: dma@e104100 {
  199. compatible = "lantiq,dma-xway";
  200. reg = <0xe104100 0x800>;
  201. };
  202. ebu0: ebu@e105300 {
  203. compatible = "lantiq,ebu-xway";
  204. reg = <0xe105300 0x100>;
  205. };
  206. usb0: usb@e101000 {
  207. status = "disabled";
  208. compatible = "lantiq,xrx200-usb";
  209. reg = <0xe101000 0x1000
  210. 0xe120000 0x3f000>;
  211. interrupt-parent = <&icu0>;
  212. interrupts = <62 91>;
  213. dr_mode = "host";
  214. phys = <&usb_phy0>;
  215. phy-names = "usb2-phy";
  216. };
  217. usb1: usb@e106000 {
  218. status = "disabled";
  219. compatible = "lantiq,xrx200-usb";
  220. reg = <0xe106000 0x1000>;
  221. interrupt-parent = <&icu0>;
  222. interrupts = <91>;
  223. dr_mode = "host";
  224. phys = <&usb_phy1>;
  225. phy-names = "usb2-phy";
  226. };
  227. eth0: eth@e108000 {
  228. #address-cells = <1>;
  229. #size-cells = <0>;
  230. compatible = "lantiq,xrx200-net";
  231. reg = < 0xe108000 0x3000 /* switch */
  232. 0xe10b100 0x70 /* mdio */
  233. 0xe10b1d8 0x30 /* mii */
  234. 0xe10b308 0x30 /* pmac */
  235. >;
  236. interrupt-parent = <&icu0>;
  237. interrupts = <75 73 72>;
  238. resets = <&reset0 21 16>, <&reset0 8 8>;
  239. reset-names = "switch", "ppe";
  240. lantiq,phys = <&gphy0>, <&gphy1>;
  241. };
  242. mei@e116000 {
  243. compatible = "lantiq,mei-xrx200";
  244. reg = <0xe116000 0x9c>;
  245. interrupt-parent = <&icu0>;
  246. interrupts = <63>;
  247. };
  248. ppe@e234000 {
  249. compatible = "lantiq,ppe-xrx200";
  250. interrupt-parent = <&icu0>;
  251. interrupts = <96>;
  252. resets = <&reset0 3 3>, <&reset0 11 11>, <&reset0 23 23>;
  253. reset-names = "dsp", "dfe", "tc";
  254. };
  255. pcie0: pcie@d900000 {
  256. compatible = "lantiq,pcie-xrx200";
  257. #interrupt-cells = <1>;
  258. #size-cells = <2>;
  259. #address-cells = <3>;
  260. interrupt-parent = <&icu0>;
  261. interrupts = <161 144>;
  262. device_type = "pci";
  263. gpio-reset = <&gpio 38 GPIO_ACTIVE_HIGH>;
  264. };
  265. pci0: pci@e105400 {
  266. status = "disabled";
  267. #address-cells = <3>;
  268. #size-cells = <2>;
  269. #interrupt-cells = <1>;
  270. compatible = "lantiq,pci-xway";
  271. bus-range = <0x0 0x0>;
  272. ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
  273. 0x1000000 0 0x00000000 0xae00000 0 0x200000>; /* io space */
  274. reg = <0x7000000 0x8000 /* config space */
  275. 0xe105400 0x400>; /* pci bridge */
  276. lantiq,bus-clock = <33333333>;
  277. interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
  278. interrupt-map = <0x7000 0 0 1 &icu0 30 1>; /* slot 14, irq 30 */
  279. req-mask = <0x1>; /* GNT1 */
  280. };
  281. };
  282. vdsl {
  283. compatible = "lantiq,vdsl-vrx200";
  284. };
  285. };