t4240qds.dts 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709
  1. /*
  2. * T4240QDS 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/ "t4240si-pre.dtsi"
  35. / {
  36. model = "fsl,T4240QDS";
  37. compatible = "fsl,T4240QDS";
  38. #address-cells = <2>;
  39. #size-cells = <2>;
  40. interrupt-parent = <&mpic>;
  41. aliases{
  42. phy_rgmii1 = &phyrgmii1;
  43. phy_rgmii2 = &phyrgmii2;
  44. phy_sgmii3 = &phy3;
  45. phy_sgmii4 = &phy4;
  46. phy_sgmii11 = &phy11;
  47. phy_sgmii12 = &phy12;
  48. sgmii_phy11 = &sgmiiphy11;
  49. sgmii_phy12 = &sgmiiphy12;
  50. sgmii_phy13 = &sgmiiphy13;
  51. sgmii_phy14 = &sgmiiphy14;
  52. sgmii_phy21 = &sgmiiphy21;
  53. sgmii_phy22 = &sgmiiphy22;
  54. sgmii_phy23 = &sgmiiphy23;
  55. sgmii_phy24 = &sgmiiphy24;
  56. sgmii_phy31 = &sgmiiphy31;
  57. sgmii_phy32 = &sgmiiphy32;
  58. sgmii_phy33 = &sgmiiphy33;
  59. sgmii_phy34 = &sgmiiphy34;
  60. sgmii_phy41 = &sgmiiphy41;
  61. sgmii_phy42 = &sgmiiphy42;
  62. sgmii_phy43 = &sgmiiphy43;
  63. sgmii_phy44 = &sgmiiphy44;
  64. phy_xfi1 = &xfiphy1;
  65. phy_xfi2 = &xfiphy2;
  66. phy_xfi3 = &xfiphy3;
  67. phy_xfi4 = &xfiphy4;
  68. xfi_pcs_mdio1 = &xfimdio0;
  69. xfi_pcs_mdio2 = &xfimdio1;
  70. xfi_pcs_mdio3 = &xfimdio2;
  71. xfi_pcs_mdio4 = &xfimdio3;
  72. emi1_rgmii = &t4240mdio0;
  73. emi1_slot1 = &t4240mdio1;
  74. emi1_slot2 = &t4240mdio2;
  75. emi1_slot3 = &t4240mdio3;
  76. emi1_slot4 = &t4240mdio4;
  77. };
  78. ifc: localbus@ffe124000 {
  79. reg = <0xf 0xfe124000 0 0x2000>;
  80. ranges = <0 0 0xf 0xe8000000 0x08000000
  81. 2 0 0xf 0xff800000 0x00010000
  82. 3 0 0xf 0xffdf0000 0x00008000>;
  83. nor@0,0 {
  84. #address-cells = <1>;
  85. #size-cells = <1>;
  86. compatible = "cfi-flash";
  87. reg = <0x0 0x0 0x8000000>;
  88. bank-width = <2>;
  89. device-width = <1>;
  90. };
  91. nand@2,0 {
  92. #address-cells = <1>;
  93. #size-cells = <1>;
  94. compatible = "fsl,ifc-nand";
  95. reg = <0x2 0x0 0x10000>;
  96. partition@0 {
  97. /* This location must not be altered */
  98. /* 1MB for u-boot Bootloader Image */
  99. reg = <0x0 0x00100000>;
  100. label = "NAND U-Boot Image";
  101. read-only;
  102. };
  103. partition@100000 {
  104. /* 1MB for DTB Image */
  105. reg = <0x00100000 0x00100000>;
  106. label = "NAND DTB Image";
  107. };
  108. partition@200000 {
  109. /* 10MB for Linux Kernel Image */
  110. reg = <0x00200000 0x00A00000>;
  111. label = "NAND Linux Kernel Image";
  112. };
  113. partition@C00000 {
  114. /* 500MB for Root file System Image */
  115. reg = <0x00c00000 0x1F400000>;
  116. label = "NAND RFS Image";
  117. };
  118. };
  119. board-control@3,0 {
  120. #address-cells = <1>;
  121. #size-cells = <1>;
  122. compatible = "fsl,t4240qds-fpga", "fsl,fpga-qixis";
  123. reg = <3 0 0x300>;
  124. ranges = <0 3 0 0x300>;
  125. mdio-mux-emi1 {
  126. #address-cells = <1>;
  127. #size-cells = <0>;
  128. compatible = "mdio-mux-mmioreg", "mdio-mux";
  129. mdio-parent-bus = <&mdio1>;
  130. reg = <0x54 1>;
  131. mux-mask = <0xe0>;
  132. t4240mdio0: mdio@0 {
  133. #address-cells = <1>;
  134. #size-cells = <0>;
  135. reg = <0>;
  136. phyrgmii1: ethernet-phy@1 {
  137. reg = <0x1>;
  138. };
  139. phyrgmii2: ethernet-phy@2 {
  140. reg = <0x2>;
  141. };
  142. };
  143. t4240mdio1: mdio@20 {
  144. #address-cells = <1>;
  145. #size-cells = <0>;
  146. reg = <0x20>;
  147. status = "disabled";
  148. phy1: ethernet-phy@0 {
  149. reg = <0x0>;
  150. };
  151. phy2: ethernet-phy@1 {
  152. reg = <0x1>;
  153. };
  154. phy3: ethernet-phy@2 {
  155. reg = <0x2>;
  156. };
  157. phy4: ethernet-phy@3 {
  158. reg = <0x3>;
  159. };
  160. sgmiiphy11: ethernet-phy@1c {
  161. reg = <0x1c>;
  162. };
  163. sgmiiphy12: ethernet-phy@1d {
  164. reg = <0x1d>;
  165. };
  166. sgmiiphy13: ethernet-phy@1e {
  167. reg = <0x1e>;
  168. };
  169. sgmiiphy14: ethernet-phy@1f {
  170. reg = <0x1f>;
  171. };
  172. };
  173. t4240mdio2: mdio@40 {
  174. #address-cells = <1>;
  175. #size-cells = <0>;
  176. reg = <0x40>;
  177. status = "disabled";
  178. phy5: ethernet-phy@4 {
  179. reg = <0x4>;
  180. };
  181. phy6: ethernet-phy@5 {
  182. reg = <0x5>;
  183. };
  184. phy7: ethernet-phy@6 {
  185. reg = <0x6>;
  186. };
  187. phy8: ethernet-phy@7 {
  188. reg = <0x7>;
  189. };
  190. sgmiiphy21: ethernet-phy@1c {
  191. reg = <0x1c>;
  192. };
  193. sgmiiphy22: ethernet-phy@1d {
  194. reg = <0x1d>;
  195. };
  196. sgmiiphy23: ethernet-phy@1e {
  197. reg = <0x1e>;
  198. };
  199. sgmiiphy24: ethernet-phy@1f {
  200. reg = <0x1f>;
  201. };
  202. };
  203. t4240mdio3: mdio@60 {
  204. #address-cells = <1>;
  205. #size-cells = <0>;
  206. reg = <0x60>;
  207. status = "disabled";
  208. phy9: ethernet-phy@8 {
  209. reg = <0x8>;
  210. };
  211. phy10: ethernet-phy@9 {
  212. reg = <0x9>;
  213. };
  214. phy11: ethernet-phy@a {
  215. reg = <0xa>;
  216. };
  217. phy12: ethernet-phy@b {
  218. reg = <0xb>;
  219. };
  220. sgmiiphy31: ethernet-phy@1c {
  221. reg = <0x1c>;
  222. };
  223. sgmiiphy32: ethernet-phy@1d {
  224. reg = <0x1d>;
  225. };
  226. sgmiiphy33: ethernet-phy@1e {
  227. reg = <0x1e>;
  228. };
  229. sgmiiphy34: ethernet-phy@1f {
  230. reg = <0x1f>;
  231. };
  232. };
  233. t4240mdio4: mdio@80 {
  234. #address-cells = <1>;
  235. #size-cells = <0>;
  236. reg = <0x80>;
  237. status = "disabled";
  238. phy13: ethernet-phy@c {
  239. reg = <0xc>;
  240. };
  241. phy14: ethernet-phy@d {
  242. reg = <0xd>;
  243. };
  244. phy15: ethernet-phy@e {
  245. reg = <0xe>;
  246. };
  247. phy16: ethernet-phy@f {
  248. reg = <0xf>;
  249. };
  250. sgmiiphy41: ethernet-phy@1c {
  251. reg = <0x1c>;
  252. };
  253. sgmiiphy42: ethernet-phy@1d {
  254. reg = <0x1d>;
  255. };
  256. sgmiiphy43: ethernet-phy@1e {
  257. reg = <0x1e>;
  258. };
  259. sgmiiphy44: ethernet-phy@1f {
  260. reg = <0x1f>;
  261. };
  262. };
  263. };
  264. };
  265. };
  266. memory {
  267. device_type = "memory";
  268. };
  269. reserved-memory {
  270. #address-cells = <2>;
  271. #size-cells = <2>;
  272. ranges;
  273. bman_fbpr: bman-fbpr {
  274. size = <0 0x1000000>;
  275. alignment = <0 0x1000000>;
  276. };
  277. qman_fqd: qman-fqd {
  278. size = <0 0x400000>;
  279. alignment = <0 0x400000>;
  280. };
  281. qman_pfdr: qman-pfdr {
  282. size = <0 0x2000000>;
  283. alignment = <0 0x2000000>;
  284. };
  285. };
  286. dcsr: dcsr@f00000000 {
  287. ranges = <0x00000000 0xf 0x00000000 0x01072000>;
  288. };
  289. bportals: bman-portals@ff4000000 {
  290. ranges = <0x0 0xf 0xf4000000 0x2000000>;
  291. };
  292. qportals: qman-portals@ff6000000 {
  293. ranges = <0x0 0xf 0xf6000000 0x2000000>;
  294. };
  295. soc: soc@ffe000000 {
  296. ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
  297. reg = <0xf 0xfe000000 0 0x00001000>;
  298. spi@110000 {
  299. flash@0 {
  300. #address-cells = <1>;
  301. #size-cells = <1>;
  302. compatible = "sst,sst25wf040", "jedec,spi-nor";
  303. reg = <0>;
  304. spi-max-frequency = <40000000>; /* input clock */
  305. };
  306. };
  307. i2c@118000 {
  308. mux@77 {
  309. compatible = "nxp,pca9547";
  310. reg = <0x77>;
  311. #address-cells = <1>;
  312. #size-cells = <0>;
  313. i2c@0 {
  314. #address-cells = <1>;
  315. #size-cells = <0>;
  316. reg = <0>;
  317. eeprom@51 {
  318. compatible = "at24,24c256";
  319. reg = <0x51>;
  320. };
  321. eeprom@52 {
  322. compatible = "at24,24c256";
  323. reg = <0x52>;
  324. };
  325. eeprom@53 {
  326. compatible = "at24,24c256";
  327. reg = <0x53>;
  328. };
  329. eeprom@54 {
  330. compatible = "at24,24c256";
  331. reg = <0x54>;
  332. };
  333. eeprom@55 {
  334. compatible = "at24,24c256";
  335. reg = <0x55>;
  336. };
  337. eeprom@56 {
  338. compatible = "at24,24c256";
  339. reg = <0x56>;
  340. };
  341. rtc@68 {
  342. compatible = "dallas,ds3232";
  343. reg = <0x68>;
  344. interrupts = <0x1 0x1 0 0>;
  345. };
  346. };
  347. i2c@2 {
  348. #address-cells = <1>;
  349. #size-cells = <0>;
  350. reg = <0x2>;
  351. ina220@40 {
  352. compatible = "ti,ina220";
  353. reg = <0x40>;
  354. shunt-resistor = <1000>;
  355. };
  356. ina220@41 {
  357. compatible = "ti,ina220";
  358. reg = <0x41>;
  359. shunt-resistor = <1000>;
  360. };
  361. ina220@44 {
  362. compatible = "ti,ina220";
  363. reg = <0x44>;
  364. shunt-resistor = <1000>;
  365. };
  366. ina220@45 {
  367. compatible = "ti,ina220";
  368. reg = <0x45>;
  369. shunt-resistor = <1000>;
  370. };
  371. ina220@46 {
  372. compatible = "ti,ina220";
  373. reg = <0x46>;
  374. shunt-resistor = <1000>;
  375. };
  376. ina220@47 {
  377. compatible = "ti,ina220";
  378. reg = <0x47>;
  379. shunt-resistor = <1000>;
  380. };
  381. };
  382. };
  383. };
  384. sdhc@114000 {
  385. voltage-ranges = <1800 1800 3300 3300>;
  386. };
  387. fman@400000 {
  388. port@83000 {
  389. status = "disabled";
  390. };
  391. port@84000 {
  392. status = "disabled";
  393. };
  394. port@85000 {
  395. status = "disabled";
  396. };
  397. port@86000 {
  398. status = "disabled";
  399. };
  400. port@87000 {
  401. status = "disabled";
  402. };
  403. ethernet@e0000 {
  404. phy-handle = <&phy5>;
  405. phy-connection-type = "sgmii";
  406. };
  407. ethernet@e2000 {
  408. phy-handle = <&phy6>;
  409. phy-connection-type = "sgmii";
  410. };
  411. ethernet@e4000 {
  412. phy-handle = <&phy7>;
  413. phy-connection-type = "sgmii";
  414. };
  415. ethernet@e6000 {
  416. phy-handle = <&phy8>;
  417. phy-connection-type = "sgmii";
  418. };
  419. ethernet@e8000 {
  420. phy-handle = <&phyrgmii2>;
  421. phy-connection-type = "rgmii";
  422. };
  423. ethernet@ea000 {
  424. phy-handle = <&phy2>;
  425. phy-connection-type = "sgmii";
  426. };
  427. ethernet@f0000 {
  428. phy-handle = <&xauiphy1>;
  429. phy-connection-type = "xgmii";
  430. };
  431. ethernet@f2000 {
  432. phy-handle = <&xauiphy2>;
  433. phy-connection-type = "xgmii";
  434. };
  435. xfimdio0: mdio@f1000 {
  436. status = "disabled";
  437. xfiphy1: ethernet-phy@0 {
  438. compatible = "ethernet-phy-ieee802.3-c45";
  439. reg = <0x0>;
  440. };
  441. };
  442. xfimdio1: mdio@f3000 {
  443. status = "disabled";
  444. xfiphy2: ethernet-phy@0 {
  445. compatible = "ethernet-phy-ieee802.3-c45";
  446. reg = <0x0>;
  447. };
  448. };
  449. };
  450. fman@500000 {
  451. port@84000 {
  452. status = "disabled";
  453. };
  454. port@85000 {
  455. status = "disabled";
  456. };
  457. port@86000 {
  458. status = "disabled";
  459. };
  460. port@87000 {
  461. status = "disabled";
  462. };
  463. ethernet@e0000 {
  464. phy-handle = <&phy13>;
  465. phy-connection-type = "sgmii";
  466. };
  467. ethernet@e2000 {
  468. phy-handle = <&phy14>;
  469. phy-connection-type = "sgmii";
  470. };
  471. ethernet@e4000 {
  472. phy-handle = <&phy15>;
  473. phy-connection-type = "sgmii";
  474. };
  475. ethernet@e6000 {
  476. phy-handle = <&phy16>;
  477. phy-connection-type = "sgmii";
  478. };
  479. ethernet@e8000 {
  480. phy-handle = <&phyrgmii1>;
  481. phy-connection-type = "rgmii";
  482. };
  483. ethernet@ea000 {
  484. phy-handle = <&phy10>;
  485. phy-connection-type = "sgmii";
  486. };
  487. ethernet@f0000 {
  488. phy-handle = <&xauiphy3>;
  489. phy-connection-type = "xgmii";
  490. };
  491. ethernet@f2000 {
  492. phy-handle = <&xauiphy4>;
  493. phy-connection-type = "xgmii";
  494. };
  495. xfimdio2: mdio@f1000 {
  496. status = "disabled";
  497. xfiphy3: ethernet-phy@0 {
  498. compatible = "ethernet-phy-ieee802.3-c45";
  499. reg = <0x0>;
  500. };
  501. };
  502. xfimdio3: mdio@f3000 {
  503. status = "disabled";
  504. xfiphy4: ethernet-phy@0 {
  505. compatible = "ethernet-phy-ieee802.3-c45";
  506. reg = <0x0>;
  507. };
  508. };
  509. mdio@fd000 {
  510. xauiphy1: ethernet-phy@0 {
  511. compatible = "ethernet-phy-ieee802.3-c45";
  512. reg = <0x0>;
  513. };
  514. xauiphy2: ethernet-phy@1 {
  515. compatible = "ethernet-phy-ieee802.3-c45";
  516. reg = <0x1>;
  517. };
  518. xauiphy3: ethernet-phy@2 {
  519. compatible = "ethernet-phy-ieee802.3-c45";
  520. reg = <0x2>;
  521. };
  522. xauiphy4: ethernet-phy@3 {
  523. compatible = "ethernet-phy-ieee802.3-c45";
  524. reg = <0x3>;
  525. };
  526. };
  527. };
  528. };
  529. pci0: pcie@ffe240000 {
  530. reg = <0xf 0xfe240000 0 0x10000>;
  531. ranges = <0x02000000 0 0xe0000000 0xc 0x00000000 0x0 0x20000000
  532. 0x01000000 0 0x00000000 0xf 0xf8000000 0x0 0x00010000>;
  533. pcie@0 {
  534. ranges = <0x02000000 0 0xe0000000
  535. 0x02000000 0 0xe0000000
  536. 0 0x20000000
  537. 0x01000000 0 0x00000000
  538. 0x01000000 0 0x00000000
  539. 0 0x00010000>;
  540. };
  541. };
  542. pci1: pcie@ffe250000 {
  543. reg = <0xf 0xfe250000 0 0x10000>;
  544. ranges = <0x02000000 0x0 0xe0000000 0xc 0x20000000 0x0 0x20000000
  545. 0x01000000 0x0 0x00000000 0xf 0xf8010000 0x0 0x00010000>;
  546. pcie@0 {
  547. ranges = <0x02000000 0 0xe0000000
  548. 0x02000000 0 0xe0000000
  549. 0 0x20000000
  550. 0x01000000 0 0x00000000
  551. 0x01000000 0 0x00000000
  552. 0 0x00010000>;
  553. };
  554. };
  555. pci2: pcie@ffe260000 {
  556. reg = <0xf 0xfe260000 0 0x1000>;
  557. ranges = <0x02000000 0 0xe0000000 0xc 0x40000000 0 0x20000000
  558. 0x01000000 0 0x00000000 0xf 0xf8020000 0 0x00010000>;
  559. pcie@0 {
  560. ranges = <0x02000000 0 0xe0000000
  561. 0x02000000 0 0xe0000000
  562. 0 0x20000000
  563. 0x01000000 0 0x00000000
  564. 0x01000000 0 0x00000000
  565. 0 0x00010000>;
  566. };
  567. };
  568. pci3: pcie@ffe270000 {
  569. reg = <0xf 0xfe270000 0 0x10000>;
  570. ranges = <0x02000000 0 0xe0000000 0xc 0x60000000 0 0x20000000
  571. 0x01000000 0 0x00000000 0xf 0xf8030000 0 0x00010000>;
  572. pcie@0 {
  573. ranges = <0x02000000 0 0xe0000000
  574. 0x02000000 0 0xe0000000
  575. 0 0x20000000
  576. 0x01000000 0 0x00000000
  577. 0x01000000 0 0x00000000
  578. 0 0x00010000>;
  579. };
  580. };
  581. rio: rapidio@ffe0c0000 {
  582. reg = <0xf 0xfe0c0000 0 0x11000>;
  583. port1 {
  584. ranges = <0 0 0xc 0x20000000 0 0x10000000>;
  585. };
  586. port2 {
  587. ranges = <0 0 0xc 0x30000000 0 0x10000000>;
  588. };
  589. };
  590. };
  591. /include/ "t4240si-post.dtsi"