p3041ds.dts 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395
  1. /*
  2. * P3041DS Device Tree Source
  3. *
  4. * Copyright 2010 - 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/ "p3041si-pre.dtsi"
  35. / {
  36. model = "fsl,P3041DS";
  37. compatible = "fsl,P3041DS";
  38. #address-cells = <2>;
  39. #size-cells = <2>;
  40. interrupt-parent = <&mpic>;
  41. aliases{
  42. phy_rgmii_0 = &phy_rgmii_0;
  43. phy_rgmii_1 = &phy_rgmii_1;
  44. phy_sgmii_1c = &phy_sgmii_1c;
  45. phy_sgmii_1d = &phy_sgmii_1d;
  46. phy_sgmii_1e = &phy_sgmii_1e;
  47. phy_sgmii_1f = &phy_sgmii_1f;
  48. phy_xgmii_1 = &phy_xgmii_1;
  49. phy_xgmii_2 = &phy_xgmii_2;
  50. emi1_rgmii = &hydra_mdio_rgmii;
  51. emi1_sgmii = &hydra_mdio_sgmii;
  52. emi2_xgmii = &hydra_mdio_xgmii;
  53. };
  54. memory {
  55. device_type = "memory";
  56. };
  57. reserved-memory {
  58. #address-cells = <2>;
  59. #size-cells = <2>;
  60. ranges;
  61. bman_fbpr: bman-fbpr {
  62. size = <0 0x1000000>;
  63. alignment = <0 0x1000000>;
  64. };
  65. qman_fqd: qman-fqd {
  66. size = <0 0x400000>;
  67. alignment = <0 0x400000>;
  68. };
  69. qman_pfdr: qman-pfdr {
  70. size = <0 0x2000000>;
  71. alignment = <0 0x2000000>;
  72. };
  73. };
  74. dcsr: dcsr@f00000000 {
  75. ranges = <0x00000000 0xf 0x00000000 0x01008000>;
  76. };
  77. bportals: bman-portals@ff4000000 {
  78. ranges = <0x0 0xf 0xf4000000 0x200000>;
  79. };
  80. qportals: qman-portals@ff4200000 {
  81. ranges = <0x0 0xf 0xf4200000 0x200000>;
  82. };
  83. soc: soc@ffe000000 {
  84. ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
  85. reg = <0xf 0xfe000000 0 0x00001000>;
  86. spi@110000 {
  87. flash@0 {
  88. #address-cells = <1>;
  89. #size-cells = <1>;
  90. compatible = "spansion,s25sl12801", "jedec,spi-nor";
  91. reg = <0>;
  92. spi-max-frequency = <35000000>; /* input clock */
  93. partition@u-boot {
  94. label = "u-boot";
  95. reg = <0x00000000 0x00100000>;
  96. read-only;
  97. };
  98. partition@kernel {
  99. label = "kernel";
  100. reg = <0x00100000 0x00500000>;
  101. read-only;
  102. };
  103. partition@dtb {
  104. label = "dtb";
  105. reg = <0x00600000 0x00100000>;
  106. read-only;
  107. };
  108. partition@fs {
  109. label = "file system";
  110. reg = <0x00700000 0x00900000>;
  111. };
  112. };
  113. };
  114. i2c@118100 {
  115. eeprom@51 {
  116. compatible = "at24,24c256";
  117. reg = <0x51>;
  118. };
  119. eeprom@52 {
  120. compatible = "at24,24c256";
  121. reg = <0x52>;
  122. };
  123. };
  124. i2c@119100 {
  125. rtc@68 {
  126. compatible = "dallas,ds3232";
  127. reg = <0x68>;
  128. interrupts = <0x1 0x1 0 0>;
  129. };
  130. ina220@40 {
  131. compatible = "ti,ina220";
  132. reg = <0x40>;
  133. shunt-resistor = <1000>;
  134. };
  135. ina220@41 {
  136. compatible = "ti,ina220";
  137. reg = <0x41>;
  138. shunt-resistor = <1000>;
  139. };
  140. ina220@44 {
  141. compatible = "ti,ina220";
  142. reg = <0x44>;
  143. shunt-resistor = <1000>;
  144. };
  145. ina220@45 {
  146. compatible = "ti,ina220";
  147. reg = <0x45>;
  148. shunt-resistor = <1000>;
  149. };
  150. adt7461@4c {
  151. compatible = "adi,adt7461";
  152. reg = <0x4c>;
  153. };
  154. };
  155. fman@400000{
  156. ethernet@e0000 {
  157. phy-handle = <&phy_sgmii_1c>;
  158. phy-connection-type = "sgmii";
  159. };
  160. ethernet@e2000 {
  161. phy-handle = <&phy_sgmii_1d>;
  162. phy-connection-type = "sgmii";
  163. };
  164. ethernet@e4000 {
  165. phy-handle = <&phy_sgmii_1e>;
  166. phy-connection-type = "sgmii";
  167. };
  168. ethernet@e6000 {
  169. phy-handle = <&phy_sgmii_1f>;
  170. phy-connection-type = "sgmii";
  171. };
  172. ethernet@e8000 {
  173. phy-handle = <&phy_rgmii_1>;
  174. phy-connection-type = "rgmii";
  175. };
  176. ethernet@f0000 {
  177. phy-handle = <&phy_xgmii_1>;
  178. phy-connection-type = "xgmii";
  179. };
  180. hydra_mdio_xgmii: mdio@f1000 {
  181. status = "disabled";
  182. phy_xgmii_1: ethernet-phy@4 {
  183. compatible = "ethernet-phy-ieee802.3-c45";
  184. reg = <0x4>;
  185. };
  186. phy_xgmii_2: ethernet-phy@0 {
  187. compatible = "ethernet-phy-ieee802.3-c45";
  188. reg = <0x0>;
  189. };
  190. };
  191. };
  192. };
  193. rio: rapidio@ffe0c0000 {
  194. reg = <0xf 0xfe0c0000 0 0x11000>;
  195. port1 {
  196. ranges = <0 0 0xc 0x20000000 0 0x10000000>;
  197. };
  198. port2 {
  199. ranges = <0 0 0xc 0x30000000 0 0x10000000>;
  200. };
  201. };
  202. lbc: localbus@ffe124000 {
  203. reg = <0xf 0xfe124000 0 0x1000>;
  204. ranges = <0 0 0xf 0xe8000000 0x08000000
  205. 2 0 0xf 0xffa00000 0x00040000
  206. 3 0 0xf 0xffdf0000 0x00008000>;
  207. flash@0,0 {
  208. compatible = "cfi-flash";
  209. reg = <0 0 0x08000000>;
  210. bank-width = <2>;
  211. device-width = <2>;
  212. };
  213. nand@2,0 {
  214. #address-cells = <1>;
  215. #size-cells = <1>;
  216. compatible = "fsl,elbc-fcm-nand";
  217. reg = <0x2 0x0 0x40000>;
  218. partition@0 {
  219. label = "NAND U-Boot Image";
  220. reg = <0x0 0x02000000>;
  221. read-only;
  222. };
  223. partition@2000000 {
  224. label = "NAND Root File System";
  225. reg = <0x02000000 0x10000000>;
  226. };
  227. partition@12000000 {
  228. label = "NAND Compressed RFS Image";
  229. reg = <0x12000000 0x08000000>;
  230. };
  231. partition@1a000000 {
  232. label = "NAND Linux Kernel Image";
  233. reg = <0x1a000000 0x04000000>;
  234. };
  235. partition@1e000000 {
  236. label = "NAND DTB Image";
  237. reg = <0x1e000000 0x01000000>;
  238. };
  239. partition@1f000000 {
  240. label = "NAND Writable User area";
  241. reg = <0x1f000000 0x21000000>;
  242. };
  243. };
  244. board-control@3,0 {
  245. #address-cells = <1>;
  246. #size-cells = <1>;
  247. compatible = "fsl,p3041ds-fpga", "fsl,fpga-ngpixis";
  248. reg = <3 0 0x30>;
  249. ranges = <0 3 0 0x30>;
  250. mdio-mux-emi1 {
  251. #address-cells = <1>;
  252. #size-cells = <0>;
  253. compatible = "mdio-mux-mmioreg", "mdio-mux";
  254. mdio-parent-bus = <&mdio0>;
  255. reg = <9 1>;
  256. mux-mask = <0x78>;
  257. hydra_mdio_rgmii: rgmii-mdio@8 {
  258. #address-cells = <1>;
  259. #size-cells = <0>;
  260. reg = <8>;
  261. status = "disabled";
  262. phy_rgmii_0: ethernet-phy@0 {
  263. reg = <0x0>;
  264. };
  265. phy_rgmii_1: ethernet-phy@1 {
  266. reg = <0x1>;
  267. };
  268. };
  269. hydra_mdio_sgmii: sgmii-mdio@28 {
  270. #address-cells = <1>;
  271. #size-cells = <0>;
  272. reg = <0x28>;
  273. status = "disabled";
  274. phy_sgmii_1c: ethernet-phy@1c {
  275. reg = <0x1c>;
  276. };
  277. phy_sgmii_1d: ethernet-phy@1d {
  278. reg = <0x1d>;
  279. };
  280. phy_sgmii_1e: ethernet-phy@1e {
  281. reg = <0x1e>;
  282. };
  283. phy_sgmii_1f: ethernet-phy@1f {
  284. reg = <0x1f>;
  285. };
  286. };
  287. };
  288. };
  289. };
  290. pci0: pcie@ffe200000 {
  291. reg = <0xf 0xfe200000 0 0x1000>;
  292. ranges = <0x02000000 0 0xe0000000 0xc 0x00000000 0x0 0x20000000
  293. 0x01000000 0 0x00000000 0xf 0xf8000000 0x0 0x00010000>;
  294. pcie@0 {
  295. ranges = <0x02000000 0 0xe0000000
  296. 0x02000000 0 0xe0000000
  297. 0 0x20000000
  298. 0x01000000 0 0x00000000
  299. 0x01000000 0 0x00000000
  300. 0 0x00010000>;
  301. };
  302. };
  303. pci1: pcie@ffe201000 {
  304. reg = <0xf 0xfe201000 0 0x1000>;
  305. ranges = <0x02000000 0x0 0xe0000000 0xc 0x20000000 0x0 0x20000000
  306. 0x01000000 0x0 0x00000000 0xf 0xf8010000 0x0 0x00010000>;
  307. pcie@0 {
  308. ranges = <0x02000000 0 0xe0000000
  309. 0x02000000 0 0xe0000000
  310. 0 0x20000000
  311. 0x01000000 0 0x00000000
  312. 0x01000000 0 0x00000000
  313. 0 0x00010000>;
  314. };
  315. };
  316. pci2: pcie@ffe202000 {
  317. reg = <0xf 0xfe202000 0 0x1000>;
  318. ranges = <0x02000000 0 0xe0000000 0xc 0x40000000 0 0x20000000
  319. 0x01000000 0 0x00000000 0xf 0xf8020000 0 0x00010000>;
  320. pcie@0 {
  321. ranges = <0x02000000 0 0xe0000000
  322. 0x02000000 0 0xe0000000
  323. 0 0x20000000
  324. 0x01000000 0 0x00000000
  325. 0x01000000 0 0x00000000
  326. 0 0x00010000>;
  327. };
  328. };
  329. pci3: pcie@ffe203000 {
  330. reg = <0xf 0xfe203000 0 0x1000>;
  331. ranges = <0x02000000 0 0xe0000000 0xc 0x60000000 0 0x20000000
  332. 0x01000000 0 0x00000000 0xf 0xf8030000 0 0x00010000>;
  333. pcie@0 {
  334. ranges = <0x02000000 0 0xe0000000
  335. 0x02000000 0 0xe0000000
  336. 0 0x20000000
  337. 0x01000000 0 0x00000000
  338. 0x01000000 0 0x00000000
  339. 0 0x00010000>;
  340. };
  341. };
  342. };
  343. /include/ "p3041si-post.dtsi"