rt3883.dtsi 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497
  1. / {
  2. #address-cells = <1>;
  3. #size-cells = <1>;
  4. compatible = "ralink,rt3883-soc";
  5. cpus {
  6. #address-cells = <1>;
  7. #size-cells = <0>;
  8. cpu@0 {
  9. compatible = "mips,mips74Kc";
  10. reg = <0>;
  11. };
  12. };
  13. chosen {
  14. bootargs = "console=ttyS0,57600";
  15. };
  16. aliases {
  17. spi0 = &spi0;
  18. spi1 = &spi1;
  19. serial0 = &uartlite;
  20. };
  21. cpuintc: cpuintc {
  22. #address-cells = <0>;
  23. #interrupt-cells = <1>;
  24. interrupt-controller;
  25. compatible = "mti,cpu-interrupt-controller";
  26. };
  27. palmbus: palmbus@10000000 {
  28. compatible = "palmbus";
  29. reg = <0x10000000 0x200000>;
  30. ranges = <0x0 0x10000000 0x1FFFFF>;
  31. #address-cells = <1>;
  32. #size-cells = <1>;
  33. sysc: sysc@0 {
  34. compatible = "ralink,rt3883-sysc", "ralink,rt3050-sysc", "syscon";
  35. reg = <0x0 0x100>;
  36. };
  37. timer: timer@100 {
  38. compatible = "ralink,rt3883-timer", "ralink,rt2880-timer";
  39. reg = <0x100 0x20>;
  40. interrupt-parent = <&intc>;
  41. interrupts = <1>;
  42. };
  43. watchdog: watchdog@120 {
  44. compatible = "ralink,rt3883-wdt", "ralink,rt2880-wdt";
  45. reg = <0x120 0x10>;
  46. resets = <&rstctrl 8>;
  47. reset-names = "wdt";
  48. interrupt-parent = <&intc>;
  49. interrupts = <1>;
  50. };
  51. intc: intc@200 {
  52. compatible = "ralink,rt3883-intc", "ralink,rt2880-intc";
  53. reg = <0x200 0x100>;
  54. resets = <&rstctrl 19>;
  55. reset-names = "intc";
  56. interrupt-controller;
  57. #interrupt-cells = <1>;
  58. interrupt-parent = <&cpuintc>;
  59. interrupts = <2>;
  60. };
  61. memc: memc@300 {
  62. compatible = "ralink,rt3883-memc", "ralink,rt3050-memc";
  63. reg = <0x300 0x100>;
  64. resets = <&rstctrl 20>;
  65. reset-names = "mc";
  66. interrupt-parent = <&intc>;
  67. interrupts = <3>;
  68. };
  69. uart: uart@500 {
  70. compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
  71. reg = <0x500 0x100>;
  72. resets = <&rstctrl 12>;
  73. reset-names = "uart";
  74. interrupt-parent = <&intc>;
  75. interrupts = <5>;
  76. reg-shift = <2>;
  77. status = "disabled";
  78. };
  79. gpio0: gpio@600 {
  80. compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
  81. reg = <0x600 0x34>;
  82. resets = <&rstctrl 13>;
  83. reset-names = "pio";
  84. interrupt-parent = <&intc>;
  85. interrupts = <6>;
  86. gpio-controller;
  87. #gpio-cells = <2>;
  88. ralink,gpio-base = <0>;
  89. ralink,nr-gpio = <24>;
  90. ralink,register-map = [ 00 04 08 0c
  91. 20 24 28 2c
  92. 30 34 ];
  93. };
  94. gpio1: gpio@638 {
  95. compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
  96. reg = <0x638 0x24>;
  97. gpio-controller;
  98. #gpio-cells = <2>;
  99. ralink,gpio-base = <24>;
  100. ralink,nr-gpio = <16>;
  101. ralink,register-map = [ 00 04 08 0c
  102. 10 14 18 1c
  103. 20 24 ];
  104. status = "disabled";
  105. };
  106. gpio2: gpio@660 {
  107. compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
  108. reg = <0x660 0x24>;
  109. gpio-controller;
  110. #gpio-cells = <2>;
  111. ralink,gpio-base = <40>;
  112. ralink,nr-gpio = <32>;
  113. ralink,register-map = [ 00 04 08 0c
  114. 10 14 18 1c
  115. 20 24 ];
  116. status = "disabled";
  117. };
  118. gpio3: gpio@688 {
  119. compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
  120. reg = <0x688 0x24>;
  121. gpio-controller;
  122. #gpio-cells = <2>;
  123. ralink,gpio-base = <72>;
  124. ralink,nr-gpio = <24>;
  125. ralink,register-map = [ 00 04 08 0c
  126. 10 14 18 1c
  127. 20 24 ];
  128. status = "disabled";
  129. };
  130. i2c@900 {
  131. compatible = "ralink,rt2880-i2c";
  132. reg = <0x900 0x100>;
  133. resets = <&rstctrl 16>;
  134. reset-names = "i2c";
  135. #address-cells = <1>;
  136. #size-cells = <0>;
  137. status = "disabled";
  138. pinctrl-names = "default";
  139. pinctrl-0 = <&i2c_pins>;
  140. };
  141. i2s@a00 {
  142. compatible = "ralink,rt3883-i2s";
  143. reg = <0xa00 0x100>;
  144. resets = <&rstctrl 17>;
  145. reset-names = "i2s";
  146. interrupt-parent = <&intc>;
  147. interrupts = <10>;
  148. txdma-req = <2>;
  149. rxdma-req = <3>;
  150. dmas = <&gdma 4>,
  151. <&gdma 6>;
  152. dma-names = "tx", "rx";
  153. status = "disabled";
  154. };
  155. spi0: spi@b00 {
  156. compatible = "ralink,rt3883-spi", "ralink,rt2880-spi";
  157. reg = <0xb00 0x40>;
  158. #address-cells = <1>;
  159. #size-cells = <0>;
  160. resets = <&rstctrl 18>;
  161. reset-names = "spi";
  162. pinctrl-names = "default";
  163. pinctrl-0 = <&spi_pins>;
  164. status = "disabled";
  165. };
  166. spi1: spi@b40 {
  167. compatible = "ralink,rt3883-spi", "ralink,rt2880-spi";
  168. reg = <0xb40 0x60>;
  169. #address-cells = <1>;
  170. #size-cells = <0>;
  171. resets = <&rstctrl 18>;
  172. reset-names = "spi";
  173. pinctrl-names = "default";
  174. pinctrl-0 = <&spi_cs1>;
  175. status = "disabled";
  176. };
  177. uartlite: uartlite@c00 {
  178. compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
  179. reg = <0xc00 0x100>;
  180. resets = <&rstctrl 19>;
  181. reset-names = "uartl";
  182. interrupt-parent = <&intc>;
  183. interrupts = <12>;
  184. reg-shift = <2>;
  185. pinctrl-names = "default";
  186. pinctrl-0 = <&uartlite_pins>;
  187. };
  188. gdma: gdma@2800 {
  189. compatible = "ralink,rt3883-gdma";
  190. reg = <0x2800 0x800>;
  191. resets = <&rstctrl 14>;
  192. reset-names = "dma";
  193. interrupt-parent = <&intc>;
  194. interrupts = <7>;
  195. #dma-cells = <1>;
  196. #dma-channels = <16>;
  197. #dma-requests = <16>;
  198. status = "disabled";
  199. };
  200. };
  201. pinctrl: pinctrl {
  202. compatible = "ralink,rt2880-pinmux";
  203. pinctrl-names = "default";
  204. pinctrl-0 = <&state_default>;
  205. state_default: pinctrl0 {
  206. };
  207. i2c_pins: i2c {
  208. i2c {
  209. ralink,group = "i2c";
  210. ralink,function = "i2c";
  211. };
  212. };
  213. spi_pins: spi {
  214. spi {
  215. ralink,group = "spi";
  216. ralink,function = "spi";
  217. };
  218. };
  219. spi_cs1: spi1 {
  220. spi1 {
  221. ralink,group = "pci";
  222. ralink,function = "pci-func";
  223. };
  224. };
  225. uartlite_pins: uartlite {
  226. uart {
  227. ralink,group = "uartlite";
  228. ralink,function = "uartlite";
  229. };
  230. };
  231. pci_pins: pci {
  232. pci {
  233. ralink,group = "pci";
  234. ralink,function = "pci-host1";
  235. };
  236. };
  237. };
  238. ethernet: ethernet@10100000 {
  239. compatible = "ralink,rt3883-eth";
  240. #address-cells = <1>;
  241. #size-cells = <0>;
  242. reg = <0x10100000 0x10000>;
  243. resets = <&rstctrl 21>;
  244. reset-names = "fe";
  245. interrupt-parent = <&cpuintc>;
  246. interrupts = <5>;
  247. port@0 {
  248. compatible = "ralink,rt3883-port", "mediatek,eth-port";
  249. reg = <0>;
  250. };
  251. mdio-bus {
  252. #address-cells = <1>;
  253. #size-cells = <0>;
  254. status = "disabled";
  255. };
  256. };
  257. rstctrl: rstctrl {
  258. compatible = "ralink,rt3883-reset", "ralink,rt2880-reset";
  259. #reset-cells = <1>;
  260. };
  261. clkctrl: clkctrl {
  262. compatible = "ralink,rt2880-clock";
  263. #clock-cells = <1>;
  264. };
  265. pci: pci@10140000 {
  266. compatible = "ralink,rt3883-pci";
  267. reg = <0x10140000 0x20000>;
  268. #address-cells = <1>;
  269. #size-cells = <1>;
  270. ranges; /* direct mapping */
  271. pinctrl-names = "default";
  272. pinctrl-0 = <&pci_pins>;
  273. status = "disabled";
  274. pciintc: interrupt-controller {
  275. interrupt-controller;
  276. #address-cells = <0>;
  277. #interrupt-cells = <1>;
  278. interrupt-parent = <&cpuintc>;
  279. interrupts = <4>;
  280. };
  281. pci@0 {
  282. #address-cells = <3>;
  283. #size-cells = <2>;
  284. #interrupt-cells = <1>;
  285. device_type = "pci";
  286. bus-range = <0 255>;
  287. ranges = <
  288. 0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */
  289. 0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */
  290. >;
  291. interrupt-map-mask = <0xf800 0 0 7>;
  292. interrupt-map = <
  293. /* IDSEL 17 */
  294. 0x8800 0 0 1 &pciintc 18
  295. 0x8800 0 0 2 &pciintc 18
  296. 0x8800 0 0 3 &pciintc 18
  297. 0x8800 0 0 4 &pciintc 18
  298. /* IDSEL 18 */
  299. 0x9000 0 0 1 &pciintc 19
  300. 0x9000 0 0 2 &pciintc 19
  301. 0x9000 0 0 3 &pciintc 19
  302. 0x9000 0 0 4 &pciintc 19
  303. >;
  304. pci1: pci@1 {
  305. reg = <0x0800 0 0 0 0>;
  306. device_type = "pci";
  307. #interrupt-cells = <1>;
  308. #address-cells = <3>;
  309. #size-cells = <2>;
  310. status = "disabled";
  311. interrupt-map-mask = <0x0 0 0 0>;
  312. interrupt-map = <0x0 0 0 0 &pciintc 20>;
  313. bus-range = <1 255>;
  314. ranges;
  315. };
  316. pci17: pci@11,0 {
  317. reg = <0x8800 0 0 0 0>;
  318. #interrupt-cells = <1>;
  319. #address-cells = <3>;
  320. #size-cells = <2>;
  321. status = "disabled";
  322. };
  323. pci18: pci@12,0 {
  324. reg = <0x9000 0 0 0 0>;
  325. #interrupt-cells = <1>;
  326. #address-cells = <3>;
  327. #size-cells = <2>;
  328. status = "disabled";
  329. };
  330. };
  331. };
  332. usbphy: usbphy {
  333. compatible = "ralink,rt3352-usbphy";
  334. #phy-cells = <0>;
  335. ralink,sysctl = <&sysc>;
  336. resets = <&rstctrl 22 &rstctrl 25>;
  337. reset-names = "host", "device";
  338. clocks = <&clkctrl 22 &clkctrl 25>;
  339. clock-names = "host", "device";
  340. };
  341. wmac: wmac@10180000 {
  342. compatible = "ralink,rt3883-wmac", "ralink,rt2880-wmac";
  343. reg = <0x10180000 0x40000>;
  344. interrupt-parent = <&cpuintc>;
  345. interrupts = <6>;
  346. ralink,eeprom = "soc_wmac.eeprom";
  347. };
  348. ehci: ehci@101c0000 {
  349. #address-cells = <1>;
  350. #size-cells = <0>;
  351. compatible = "generic-ehci";
  352. reg = <0x101c0000 0x1000>;
  353. phys = <&usbphy>;
  354. phy-names = "usb";
  355. interrupt-parent = <&intc>;
  356. interrupts = <18>;
  357. status = "disabled";
  358. ehci_port1: port@1 {
  359. reg = <1>;
  360. #trigger-source-cells = <0>;
  361. };
  362. };
  363. ohci: ohci@101c1000 {
  364. #address-cells = <1>;
  365. #size-cells = <0>;
  366. compatible = "generic-ohci";
  367. reg = <0x101c1000 0x1000>;
  368. phys = <&usbphy>;
  369. phy-names = "usb";
  370. interrupt-parent = <&intc>;
  371. interrupts = <18>;
  372. status = "disabled";
  373. ohci_port1: port@1 {
  374. reg = <1>;
  375. #trigger-source-cells = <0>;
  376. };
  377. };
  378. };