p2020ds.dts 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. /*
  2. * P2020 DS Device Tree Source
  3. *
  4. * Copyright 2009-2011 Freescale Semiconductor Inc.
  5. *
  6. * This program is free software; you can redistribute it and/or modify it
  7. * under the terms of the GNU General Public License as published by the
  8. * Free Software Foundation; either version 2 of the License, or (at your
  9. * option) any later version.
  10. */
  11. /include/ "p2020si.dtsi"
  12. / {
  13. model = "fsl,P2020DS";
  14. compatible = "fsl,P2020DS";
  15. aliases {
  16. ethernet0 = &enet0;
  17. ethernet1 = &enet1;
  18. ethernet2 = &enet2;
  19. serial0 = &serial0;
  20. serial1 = &serial1;
  21. pci0 = &pci0;
  22. pci1 = &pci1;
  23. pci2 = &pci2;
  24. };
  25. memory {
  26. device_type = "memory";
  27. };
  28. localbus@ffe05000 {
  29. compatible = "fsl,elbc", "simple-bus";
  30. ranges = <0x0 0x0 0x0 0xe8000000 0x08000000
  31. 0x1 0x0 0x0 0xe0000000 0x08000000
  32. 0x2 0x0 0x0 0xffa00000 0x00040000
  33. 0x3 0x0 0x0 0xffdf0000 0x00008000
  34. 0x4 0x0 0x0 0xffa40000 0x00040000
  35. 0x5 0x0 0x0 0xffa80000 0x00040000
  36. 0x6 0x0 0x0 0xffac0000 0x00040000>;
  37. nor@0,0 {
  38. #address-cells = <1>;
  39. #size-cells = <1>;
  40. compatible = "cfi-flash";
  41. reg = <0x0 0x0 0x8000000>;
  42. bank-width = <2>;
  43. device-width = <1>;
  44. ramdisk@0 {
  45. reg = <0x0 0x03000000>;
  46. read-only;
  47. };
  48. diagnostic@3000000 {
  49. reg = <0x03000000 0x00e00000>;
  50. read-only;
  51. };
  52. dink@3e00000 {
  53. reg = <0x03e00000 0x00200000>;
  54. read-only;
  55. };
  56. kernel@4000000 {
  57. reg = <0x04000000 0x00400000>;
  58. read-only;
  59. };
  60. jffs2@4400000 {
  61. reg = <0x04400000 0x03b00000>;
  62. };
  63. dtb@7f00000 {
  64. reg = <0x07f00000 0x00080000>;
  65. read-only;
  66. };
  67. u-boot@7f80000 {
  68. reg = <0x07f80000 0x00080000>;
  69. read-only;
  70. };
  71. };
  72. nand@2,0 {
  73. #address-cells = <1>;
  74. #size-cells = <1>;
  75. compatible = "fsl,elbc-fcm-nand";
  76. reg = <0x2 0x0 0x40000>;
  77. u-boot@0 {
  78. reg = <0x0 0x02000000>;
  79. read-only;
  80. };
  81. jffs2@2000000 {
  82. reg = <0x02000000 0x10000000>;
  83. };
  84. ramdisk@12000000 {
  85. reg = <0x12000000 0x08000000>;
  86. read-only;
  87. };
  88. kernel@1a000000 {
  89. reg = <0x1a000000 0x04000000>;
  90. };
  91. dtb@1e000000 {
  92. reg = <0x1e000000 0x01000000>;
  93. read-only;
  94. };
  95. empty@1f000000 {
  96. reg = <0x1f000000 0x21000000>;
  97. };
  98. };
  99. nand@4,0 {
  100. compatible = "fsl,elbc-fcm-nand";
  101. reg = <0x4 0x0 0x40000>;
  102. };
  103. nand@5,0 {
  104. compatible = "fsl,elbc-fcm-nand";
  105. reg = <0x5 0x0 0x40000>;
  106. };
  107. nand@6,0 {
  108. compatible = "fsl,elbc-fcm-nand";
  109. reg = <0x6 0x0 0x40000>;
  110. };
  111. };
  112. soc@ffe00000 {
  113. usb@22000 {
  114. phy_type = "ulpi";
  115. };
  116. mdio@24520 {
  117. phy0: ethernet-phy@0 {
  118. interrupt-parent = <&mpic>;
  119. interrupts = <3 1>;
  120. reg = <0x0>;
  121. };
  122. phy1: ethernet-phy@1 {
  123. interrupt-parent = <&mpic>;
  124. interrupts = <3 1>;
  125. reg = <0x1>;
  126. };
  127. phy2: ethernet-phy@2 {
  128. interrupt-parent = <&mpic>;
  129. interrupts = <3 1>;
  130. reg = <0x2>;
  131. };
  132. tbi0: tbi-phy@11 {
  133. reg = <0x11>;
  134. device_type = "tbi-phy";
  135. };
  136. };
  137. mdio@25520 {
  138. tbi1: tbi-phy@11 {
  139. reg = <0x11>;
  140. device_type = "tbi-phy";
  141. };
  142. };
  143. mdio@26520 {
  144. tbi2: tbi-phy@11 {
  145. reg = <0x11>;
  146. device_type = "tbi-phy";
  147. };
  148. };
  149. enet0: ethernet@24000 {
  150. tbi-handle = <&tbi0>;
  151. phy-handle = <&phy0>;
  152. phy-connection-type = "rgmii-id";
  153. };
  154. enet1: ethernet@25000 {
  155. tbi-handle = <&tbi1>;
  156. phy-handle = <&phy1>;
  157. phy-connection-type = "rgmii-id";
  158. };
  159. enet2: ethernet@26000 {
  160. tbi-handle = <&tbi2>;
  161. phy-handle = <&phy2>;
  162. phy-connection-type = "rgmii-id";
  163. };
  164. msi@41600 {
  165. compatible = "fsl,mpic-msi";
  166. };
  167. };
  168. pci0: pcie@ffe08000 {
  169. ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000
  170. 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>;
  171. interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
  172. interrupt-map = <
  173. /* IDSEL 0x0 */
  174. 0000 0x0 0x0 0x1 &mpic 0x8 0x1
  175. 0000 0x0 0x0 0x2 &mpic 0x9 0x1
  176. 0000 0x0 0x0 0x3 &mpic 0xa 0x1
  177. 0000 0x0 0x0 0x4 &mpic 0xb 0x1
  178. >;
  179. pcie@0 {
  180. reg = <0x0 0x0 0x0 0x0 0x0>;
  181. #size-cells = <2>;
  182. #address-cells = <3>;
  183. device_type = "pci";
  184. ranges = <0x2000000 0x0 0x80000000
  185. 0x2000000 0x0 0x80000000
  186. 0x0 0x20000000
  187. 0x1000000 0x0 0x0
  188. 0x1000000 0x0 0x0
  189. 0x0 0x10000>;
  190. };
  191. };
  192. pci1: pcie@ffe09000 {
  193. ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
  194. 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>;
  195. interrupt-map-mask = <0xff00 0x0 0x0 0x7>;
  196. interrupt-map = <
  197. // IDSEL 0x11 func 0 - PCI slot 1
  198. 0x8800 0x0 0x0 0x1 &i8259 0x9 0x2
  199. 0x8800 0x0 0x0 0x2 &i8259 0xa 0x2
  200. // IDSEL 0x11 func 1 - PCI slot 1
  201. 0x8900 0x0 0x0 0x1 &i8259 0x9 0x2
  202. 0x8900 0x0 0x0 0x2 &i8259 0xa 0x2
  203. // IDSEL 0x11 func 2 - PCI slot 1
  204. 0x8a00 0x0 0x0 0x1 &i8259 0x9 0x2
  205. 0x8a00 0x0 0x0 0x2 &i8259 0xa 0x2
  206. // IDSEL 0x11 func 3 - PCI slot 1
  207. 0x8b00 0x0 0x0 0x1 &i8259 0x9 0x2
  208. 0x8b00 0x0 0x0 0x2 &i8259 0xa 0x2
  209. // IDSEL 0x11 func 4 - PCI slot 1
  210. 0x8c00 0x0 0x0 0x1 &i8259 0x9 0x2
  211. 0x8c00 0x0 0x0 0x2 &i8259 0xa 0x2
  212. // IDSEL 0x11 func 5 - PCI slot 1
  213. 0x8d00 0x0 0x0 0x1 &i8259 0x9 0x2
  214. 0x8d00 0x0 0x0 0x2 &i8259 0xa 0x2
  215. // IDSEL 0x11 func 6 - PCI slot 1
  216. 0x8e00 0x0 0x0 0x1 &i8259 0x9 0x2
  217. 0x8e00 0x0 0x0 0x2 &i8259 0xa 0x2
  218. // IDSEL 0x11 func 7 - PCI slot 1
  219. 0x8f00 0x0 0x0 0x1 &i8259 0x9 0x2
  220. 0x8f00 0x0 0x0 0x2 &i8259 0xa 0x2
  221. // IDSEL 0x1d Audio
  222. 0xe800 0x0 0x0 0x1 &i8259 0x6 0x2
  223. // IDSEL 0x1e Legacy
  224. 0xf000 0x0 0x0 0x1 &i8259 0x7 0x2
  225. 0xf100 0x0 0x0 0x1 &i8259 0x7 0x2
  226. // IDSEL 0x1f IDE/SATA
  227. 0xf800 0x0 0x0 0x1 &i8259 0xe 0x2
  228. 0xf900 0x0 0x0 0x1 &i8259 0x5 0x2
  229. >;
  230. pcie@0 {
  231. reg = <0x0 0x0 0x0 0x0 0x0>;
  232. #size-cells = <2>;
  233. #address-cells = <3>;
  234. device_type = "pci";
  235. ranges = <0x2000000 0x0 0xa0000000
  236. 0x2000000 0x0 0xa0000000
  237. 0x0 0x20000000
  238. 0x1000000 0x0 0x0
  239. 0x1000000 0x0 0x0
  240. 0x0 0x10000>;
  241. uli1575@0 {
  242. reg = <0x0 0x0 0x0 0x0 0x0>;
  243. #size-cells = <2>;
  244. #address-cells = <3>;
  245. ranges = <0x2000000 0x0 0xa0000000
  246. 0x2000000 0x0 0xa0000000
  247. 0x0 0x20000000
  248. 0x1000000 0x0 0x0
  249. 0x1000000 0x0 0x0
  250. 0x0 0x10000>;
  251. isa@1e {
  252. device_type = "isa";
  253. #interrupt-cells = <2>;
  254. #size-cells = <1>;
  255. #address-cells = <2>;
  256. reg = <0xf000 0x0 0x0 0x0 0x0>;
  257. ranges = <0x1 0x0 0x1000000 0x0 0x0
  258. 0x1000>;
  259. interrupt-parent = <&i8259>;
  260. i8259: interrupt-controller@20 {
  261. reg = <0x1 0x20 0x2
  262. 0x1 0xa0 0x2
  263. 0x1 0x4d0 0x2>;
  264. interrupt-controller;
  265. device_type = "interrupt-controller";
  266. #address-cells = <0>;
  267. #interrupt-cells = <2>;
  268. compatible = "chrp,iic";
  269. interrupts = <4 1>;
  270. interrupt-parent = <&mpic>;
  271. };
  272. i8042@60 {
  273. #size-cells = <0>;
  274. #address-cells = <1>;
  275. reg = <0x1 0x60 0x1 0x1 0x64 0x1>;
  276. interrupts = <1 3 12 3>;
  277. interrupt-parent =
  278. <&i8259>;
  279. keyboard@0 {
  280. reg = <0x0>;
  281. compatible = "pnpPNP,303";
  282. };
  283. mouse@1 {
  284. reg = <0x1>;
  285. compatible = "pnpPNP,f03";
  286. };
  287. };
  288. rtc@70 {
  289. compatible = "pnpPNP,b00";
  290. reg = <0x1 0x70 0x2>;
  291. };
  292. gpio@400 {
  293. reg = <0x1 0x400 0x80>;
  294. };
  295. };
  296. };
  297. };
  298. };
  299. pci2: pcie@ffe0a000 {
  300. ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000
  301. 0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>;
  302. interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
  303. interrupt-map = <
  304. /* IDSEL 0x0 */
  305. 0000 0x0 0x0 0x1 &mpic 0x0 0x1
  306. 0000 0x0 0x0 0x2 &mpic 0x1 0x1
  307. 0000 0x0 0x0 0x3 &mpic 0x2 0x1
  308. 0000 0x0 0x0 0x4 &mpic 0x3 0x1
  309. >;
  310. pcie@0 {
  311. reg = <0x0 0x0 0x0 0x0 0x0>;
  312. #size-cells = <2>;
  313. #address-cells = <3>;
  314. device_type = "pci";
  315. ranges = <0x2000000 0x0 0xc0000000
  316. 0x2000000 0x0 0xc0000000
  317. 0x0 0x20000000
  318. 0x1000000 0x0 0x0
  319. 0x1000000 0x0 0x0
  320. 0x0 0x10000>;
  321. };
  322. };
  323. };