p5040ds.dts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486
  1. /*
  2. * P5040DS Device Tree Source
  3. *
  4. * Copyright 2012 - 2015 Freescale Semiconductor Inc.
  5. *
  6. * Redistribution and use in source and binary forms, with or without
  7. * modification, are permitted provided that the following conditions are met:
  8. * * Redistributions of source code must retain the above copyright
  9. * notice, this list of conditions and the following disclaimer.
  10. * * Redistributions in binary form must reproduce the above copyright
  11. * notice, this list of conditions and the following disclaimer in the
  12. * documentation and/or other materials provided with the distribution.
  13. * * Neither the name of Freescale Semiconductor nor the
  14. * names of its contributors may be used to endorse or promote products
  15. * derived from this software without specific prior written permission.
  16. *
  17. *
  18. * ALTERNATIVELY, this software may be distributed under the terms of the
  19. * GNU General Public License ("GPL") as published by the Free Software
  20. * Foundation, either version 2 of that License or (at your option) any
  21. * later version.
  22. *
  23. * This software is provided by Freescale Semiconductor "as is" and any
  24. * express or implied warranties, including, but not limited to, the implied
  25. * warranties of merchantability and fitness for a particular purpose are
  26. * disclaimed. In no event shall Freescale Semiconductor be liable for any
  27. * direct, indirect, incidental, special, exemplary, or consequential damages
  28. * (including, but not limited to, procurement of substitute goods or services;
  29. * loss of use, data, or profits; or business interruption) however caused and
  30. * on any theory of liability, whether in contract, strict liability, or tort
  31. * (including negligence or otherwise) arising in any way out of the use of this
  32. * software, even if advised of the possibility of such damage.
  33. */
  34. /include/ "p5040si-pre.dtsi"
  35. / {
  36. model = "fsl,P5040DS";
  37. compatible = "fsl,P5040DS";
  38. #address-cells = <2>;
  39. #size-cells = <2>;
  40. interrupt-parent = <&mpic>;
  41. aliases{
  42. phy_sgmii_slot2_1c = &phy_sgmii_slot2_1c;
  43. phy_sgmii_slot2_1d = &phy_sgmii_slot2_1d;
  44. phy_sgmii_slot2_1e = &phy_sgmii_slot2_1e;
  45. phy_sgmii_slot2_1f = &phy_sgmii_slot2_1f;
  46. phy_sgmii_slot3_1c = &phy_sgmii_slot3_1c;
  47. phy_sgmii_slot3_1d = &phy_sgmii_slot3_1d;
  48. phy_sgmii_slot3_1e = &phy_sgmii_slot3_1e;
  49. phy_sgmii_slot3_1f = &phy_sgmii_slot3_1f;
  50. phy_sgmii_slot5_1c = &phy_sgmii_slot5_1c;
  51. phy_sgmii_slot5_1d = &phy_sgmii_slot5_1d;
  52. phy_sgmii_slot5_1e = &phy_sgmii_slot5_1e;
  53. phy_sgmii_slot5_1f = &phy_sgmii_slot5_1f;
  54. phy_sgmii_slot6_1c = &phy_sgmii_slot6_1c;
  55. phy_sgmii_slot6_1d = &phy_sgmii_slot6_1d;
  56. phy_sgmii_slot6_1e = &phy_sgmii_slot6_1e;
  57. phy_sgmii_slot6_1f = &phy_sgmii_slot6_1f;
  58. hydra_rg = &hydra_rg;
  59. hydra_sg_slot2 = &hydra_sg_slot2;
  60. hydra_sg_slot3 = &hydra_sg_slot3;
  61. hydra_sg_slot5 = &hydra_sg_slot5;
  62. hydra_sg_slot6 = &hydra_sg_slot6;
  63. hydra_xg_slot1 = &hydra_xg_slot1;
  64. hydra_xg_slot2 = &hydra_xg_slot2;
  65. };
  66. memory {
  67. device_type = "memory";
  68. };
  69. reserved-memory {
  70. #address-cells = <2>;
  71. #size-cells = <2>;
  72. ranges;
  73. bman_fbpr: bman-fbpr {
  74. size = <0 0x1000000>;
  75. alignment = <0 0x1000000>;
  76. };
  77. qman_fqd: qman-fqd {
  78. size = <0 0x400000>;
  79. alignment = <0 0x400000>;
  80. };
  81. qman_pfdr: qman-pfdr {
  82. size = <0 0x2000000>;
  83. alignment = <0 0x2000000>;
  84. };
  85. };
  86. dcsr: dcsr@f00000000 {
  87. ranges = <0x00000000 0xf 0x00000000 0x01008000>;
  88. };
  89. bportals: bman-portals@ff4000000 {
  90. ranges = <0x0 0xf 0xf4000000 0x200000>;
  91. };
  92. qportals: qman-portals@ff4200000 {
  93. ranges = <0x0 0xf 0xf4200000 0x200000>;
  94. };
  95. soc: soc@ffe000000 {
  96. ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
  97. reg = <0xf 0xfe000000 0 0x00001000>;
  98. spi@110000 {
  99. flash@0 {
  100. #address-cells = <1>;
  101. #size-cells = <1>;
  102. compatible = "spansion,s25sl12801", "jedec,spi-nor";
  103. reg = <0>;
  104. spi-max-frequency = <40000000>; /* input clock */
  105. partition@u-boot {
  106. label = "u-boot";
  107. reg = <0x00000000 0x00100000>;
  108. };
  109. partition@kernel {
  110. label = "kernel";
  111. reg = <0x00100000 0x00500000>;
  112. };
  113. partition@dtb {
  114. label = "dtb";
  115. reg = <0x00600000 0x00100000>;
  116. };
  117. partition@fs {
  118. label = "file system";
  119. reg = <0x00700000 0x00900000>;
  120. };
  121. };
  122. };
  123. i2c@118100 {
  124. eeprom@51 {
  125. compatible = "atmel,24c256";
  126. reg = <0x51>;
  127. };
  128. eeprom@52 {
  129. compatible = "atmel,24c256";
  130. reg = <0x52>;
  131. };
  132. };
  133. i2c@119100 {
  134. rtc@68 {
  135. compatible = "dallas,ds3232";
  136. reg = <0x68>;
  137. interrupts = <0x1 0x1 0 0>;
  138. };
  139. ina220@40 {
  140. compatible = "ti,ina220";
  141. reg = <0x40>;
  142. shunt-resistor = <1000>;
  143. };
  144. ina220@41 {
  145. compatible = "ti,ina220";
  146. reg = <0x41>;
  147. shunt-resistor = <1000>;
  148. };
  149. ina220@44 {
  150. compatible = "ti,ina220";
  151. reg = <0x44>;
  152. shunt-resistor = <1000>;
  153. };
  154. ina220@45 {
  155. compatible = "ti,ina220";
  156. reg = <0x45>;
  157. shunt-resistor = <1000>;
  158. };
  159. adt7461@4c {
  160. compatible = "adi,adt7461";
  161. reg = <0x4c>;
  162. };
  163. };
  164. fman@400000 {
  165. ethernet@e0000 {
  166. phy-connection-type = "sgmii";
  167. };
  168. ethernet@e2000 {
  169. phy-connection-type = "sgmii";
  170. };
  171. ethernet@e4000 {
  172. phy-connection-type = "sgmii";
  173. };
  174. ethernet@e6000 {
  175. phy-connection-type = "sgmii";
  176. };
  177. ethernet@e8000 {
  178. phy-handle = <&phy_rgmii_0>;
  179. phy-connection-type = "rgmii";
  180. };
  181. ethernet@f0000 {
  182. phy-handle = <&phy_xgmii_slot_2>;
  183. phy-connection-type = "xgmii";
  184. };
  185. };
  186. fman@500000 {
  187. ethernet@e0000 {
  188. phy-connection-type = "sgmii";
  189. };
  190. ethernet@e2000 {
  191. phy-connection-type = "sgmii";
  192. };
  193. ethernet@e4000 {
  194. phy-connection-type = "sgmii";
  195. };
  196. ethernet@e6000 {
  197. phy-connection-type = "sgmii";
  198. };
  199. ethernet@e8000 {
  200. phy-handle = <&phy_rgmii_1>;
  201. phy-connection-type = "rgmii";
  202. };
  203. ethernet@f0000 {
  204. phy-handle = <&phy_xgmii_slot_1>;
  205. phy-connection-type = "xgmii";
  206. };
  207. };
  208. };
  209. lbc: localbus@ffe124000 {
  210. reg = <0xf 0xfe124000 0 0x1000>;
  211. ranges = <0 0 0xf 0xe8000000 0x08000000
  212. 2 0 0xf 0xffa00000 0x00040000
  213. 3 0 0xf 0xffdf0000 0x00008000>;
  214. flash@0,0 {
  215. compatible = "cfi-flash";
  216. reg = <0 0 0x08000000>;
  217. bank-width = <2>;
  218. device-width = <2>;
  219. };
  220. nand@2,0 {
  221. #address-cells = <1>;
  222. #size-cells = <1>;
  223. compatible = "fsl,elbc-fcm-nand";
  224. reg = <0x2 0x0 0x40000>;
  225. partition@0 {
  226. label = "NAND U-Boot Image";
  227. reg = <0x0 0x02000000>;
  228. };
  229. partition@2000000 {
  230. label = "NAND Root File System";
  231. reg = <0x02000000 0x10000000>;
  232. };
  233. partition@12000000 {
  234. label = "NAND Compressed RFS Image";
  235. reg = <0x12000000 0x08000000>;
  236. };
  237. partition@1a000000 {
  238. label = "NAND Linux Kernel Image";
  239. reg = <0x1a000000 0x04000000>;
  240. };
  241. partition@1e000000 {
  242. label = "NAND DTB Image";
  243. reg = <0x1e000000 0x01000000>;
  244. };
  245. partition@1f000000 {
  246. label = "NAND Writable User area";
  247. reg = <0x1f000000 0x01000000>;
  248. };
  249. };
  250. board-control@3,0 {
  251. #address-cells = <1>;
  252. #size-cells = <1>;
  253. compatible = "fsl,p5040ds-fpga", "fsl,fpga-ngpixis";
  254. reg = <3 0 0x40>;
  255. ranges = <0 3 0 0x40>;
  256. mdio-mux-emi1 {
  257. #address-cells = <1>;
  258. #size-cells = <0>;
  259. compatible = "mdio-mux-mmioreg", "mdio-mux";
  260. mdio-parent-bus = <&mdio0>;
  261. reg = <9 1>;
  262. mux-mask = <0x78>;
  263. hydra_rg:rgmii-mdio@8 {
  264. #address-cells = <1>;
  265. #size-cells = <0>;
  266. reg = <8>;
  267. status = "disabled";
  268. phy_rgmii_0: ethernet-phy@0 {
  269. reg = <0x0>;
  270. };
  271. phy_rgmii_1: ethernet-phy@1 {
  272. reg = <0x1>;
  273. };
  274. };
  275. hydra_sg_slot2: sgmii-mdio@28 {
  276. #address-cells = <1>;
  277. #size-cells = <0>;
  278. reg = <0x28>;
  279. status = "disabled";
  280. phy_sgmii_slot2_1c: ethernet-phy@1c {
  281. reg = <0x1c>;
  282. };
  283. phy_sgmii_slot2_1d: ethernet-phy@1d {
  284. reg = <0x1d>;
  285. };
  286. phy_sgmii_slot2_1e: ethernet-phy@1e {
  287. reg = <0x1e>;
  288. };
  289. phy_sgmii_slot2_1f: ethernet-phy@1f {
  290. reg = <0x1f>;
  291. };
  292. };
  293. hydra_sg_slot3: sgmii-mdio@68 {
  294. #address-cells = <1>;
  295. #size-cells = <0>;
  296. reg = <0x68>;
  297. status = "disabled";
  298. phy_sgmii_slot3_1c: ethernet-phy@1c {
  299. reg = <0x1c>;
  300. };
  301. phy_sgmii_slot3_1d: ethernet-phy@1d {
  302. reg = <0x1d>;
  303. };
  304. phy_sgmii_slot3_1e: ethernet-phy@1e {
  305. reg = <0x1e>;
  306. };
  307. phy_sgmii_slot3_1f: ethernet-phy@1f {
  308. reg = <0x1f>;
  309. };
  310. };
  311. hydra_sg_slot5: sgmii-mdio@38 {
  312. #address-cells = <1>;
  313. #size-cells = <0>;
  314. reg = <0x38>;
  315. status = "disabled";
  316. phy_sgmii_slot5_1c: ethernet-phy@1c {
  317. reg = <0x1c>;
  318. };
  319. phy_sgmii_slot5_1d: ethernet-phy@1d {
  320. reg = <0x1d>;
  321. };
  322. phy_sgmii_slot5_1e: ethernet-phy@1e {
  323. reg = <0x1e>;
  324. };
  325. phy_sgmii_slot5_1f: ethernet-phy@1f {
  326. reg = <0x1f>;
  327. };
  328. };
  329. hydra_sg_slot6: sgmii-mdio@48 {
  330. #address-cells = <1>;
  331. #size-cells = <0>;
  332. reg = <0x48>;
  333. status = "disabled";
  334. phy_sgmii_slot6_1c: ethernet-phy@1c {
  335. reg = <0x1c>;
  336. };
  337. phy_sgmii_slot6_1d: ethernet-phy@1d {
  338. reg = <0x1d>;
  339. };
  340. phy_sgmii_slot6_1e: ethernet-phy@1e {
  341. reg = <0x1e>;
  342. };
  343. phy_sgmii_slot6_1f: ethernet-phy@1f {
  344. reg = <0x1f>;
  345. };
  346. };
  347. };
  348. mdio-mux-emi2 {
  349. #address-cells = <1>;
  350. #size-cells = <0>;
  351. compatible = "mdio-mux-mmioreg", "mdio-mux";
  352. mdio-parent-bus = <&xmdio0>;
  353. reg = <9 1>;
  354. mux-mask = <0x06>;
  355. hydra_xg_slot1: hydra-xg-slot1@0 {
  356. #address-cells = <1>;
  357. #size-cells = <0>;
  358. reg = <0>;
  359. status = "disabled";
  360. phy_xgmii_slot_1: ethernet-phy@0 {
  361. compatible = "ethernet-phy-ieee802.3-c45";
  362. reg = <4>;
  363. };
  364. };
  365. hydra_xg_slot2: hydra-xg-slot2@2 {
  366. #address-cells = <1>;
  367. #size-cells = <0>;
  368. reg = <2>;
  369. phy_xgmii_slot_2: ethernet-phy@4 {
  370. compatible = "ethernet-phy-ieee802.3-c45";
  371. reg = <0>;
  372. };
  373. };
  374. };
  375. };
  376. };
  377. pci0: pcie@ffe200000 {
  378. reg = <0xf 0xfe200000 0 0x1000>;
  379. ranges = <0x02000000 0 0xe0000000 0xc 0x00000000 0x0 0x20000000
  380. 0x01000000 0 0x00000000 0xf 0xf8000000 0x0 0x00010000>;
  381. pcie@0 {
  382. ranges = <0x02000000 0 0xe0000000
  383. 0x02000000 0 0xe0000000
  384. 0 0x20000000
  385. 0x01000000 0 0x00000000
  386. 0x01000000 0 0x00000000
  387. 0 0x00010000>;
  388. };
  389. };
  390. pci1: pcie@ffe201000 {
  391. reg = <0xf 0xfe201000 0 0x1000>;
  392. ranges = <0x02000000 0x0 0xe0000000 0xc 0x20000000 0x0 0x20000000
  393. 0x01000000 0x0 0x00000000 0xf 0xf8010000 0x0 0x00010000>;
  394. pcie@0 {
  395. ranges = <0x02000000 0 0xe0000000
  396. 0x02000000 0 0xe0000000
  397. 0 0x20000000
  398. 0x01000000 0 0x00000000
  399. 0x01000000 0 0x00000000
  400. 0 0x00010000>;
  401. };
  402. };
  403. pci2: pcie@ffe202000 {
  404. reg = <0xf 0xfe202000 0 0x1000>;
  405. ranges = <0x02000000 0 0xe0000000 0xc 0x40000000 0 0x20000000
  406. 0x01000000 0 0x00000000 0xf 0xf8020000 0 0x00010000>;
  407. pcie@0 {
  408. ranges = <0x02000000 0 0xe0000000
  409. 0x02000000 0 0xe0000000
  410. 0 0x20000000
  411. 0x01000000 0 0x00000000
  412. 0x01000000 0 0x00000000
  413. 0 0x00010000>;
  414. };
  415. };
  416. };
  417. /include/ "p5040si-post.dtsi"