jr2_pcb111.dts 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2018 Microsemi Corporation
  4. */
  5. /dts-v1/;
  6. #include "mscc,jr2.dtsi"
  7. #include <dt-bindings/mscc/jr2_data.h>
  8. / {
  9. model = "Jaguar2 Cu48 PCB111 Reference Board";
  10. compatible = "mscc,jr2-pcb111", "mscc,jr2";
  11. aliases {
  12. spi0 = &spi0;
  13. serial0 = &uart0;
  14. };
  15. chosen {
  16. stdout-path = "serial0:115200n8";
  17. };
  18. gpio-leds {
  19. compatible = "gpio-leds";
  20. status_green {
  21. label = "pcb111:green:status";
  22. gpios = <&gpio 12 0>;
  23. default-state = "on";
  24. };
  25. status_red {
  26. label = "pcb111:red:status";
  27. gpios = <&gpio 13 0>;
  28. default-state = "off";
  29. };
  30. };
  31. };
  32. &uart0 {
  33. status = "okay";
  34. };
  35. &spi0 {
  36. status = "okay";
  37. spi-flash@0 {
  38. compatible = "jedec,spi-nor";
  39. spi-max-frequency = <18000000>; /* input clock */
  40. reg = <0>; /* CS0 */
  41. };
  42. };
  43. &gpio {
  44. /* SPIO only use DO, CLK, no inputs */
  45. sgpio1_pins: sgpio1-pins {
  46. pins = "GPIO_4", "GPIO_5";
  47. function = "sg1";
  48. };
  49. };
  50. &sgpio {
  51. status = "okay";
  52. sgpio-ports = <0xffffffff>;
  53. };
  54. &sgpio1 {
  55. status = "okay";
  56. sgpio-ports = <0x001effff>;
  57. };
  58. &sgpio2 {
  59. status = "okay";
  60. sgpio-ports = <0xff000000>;
  61. gpio-ranges = <&sgpio2 0 0 96>;
  62. };
  63. &mdio1 {
  64. status = "okay";
  65. phy0: ethernet-phy@0 {
  66. reg = <0>;
  67. };
  68. phy1: ethernet-phy@1 {
  69. reg = <1>;
  70. };
  71. phy2: ethernet-phy@2 {
  72. reg = <2>;
  73. };
  74. phy3: ethernet-phy@3 {
  75. reg = <3>;
  76. };
  77. phy4: ethernet-phy@4 {
  78. reg = <4>;
  79. };
  80. phy5: ethernet-phy@5 {
  81. reg = <5>;
  82. };
  83. phy6: ethernet-phy@6 {
  84. reg = <6>;
  85. };
  86. phy7: ethernet-phy@7 {
  87. reg = <7>;
  88. };
  89. phy8: ethernet-phy@8 {
  90. reg = <8>;
  91. };
  92. phy9: ethernet-phy@9 {
  93. reg = <9>;
  94. };
  95. phy10: ethernet-phy@10 {
  96. reg = <10>;
  97. };
  98. phy11: ethernet-phy@11 {
  99. reg = <11>;
  100. };
  101. phy12: ethernet-phy@12 {
  102. reg = <12>;
  103. };
  104. phy13: ethernet-phy@13 {
  105. reg = <13>;
  106. };
  107. phy14: ethernet-phy@14 {
  108. reg = <14>;
  109. };
  110. phy15: ethernet-phy@15 {
  111. reg = <15>;
  112. };
  113. phy16: ethernet-phy@16 {
  114. reg = <16>;
  115. };
  116. phy17: ethernet-phy@17 {
  117. reg = <17>;
  118. };
  119. phy18: ethernet-phy@18 {
  120. reg = <18>;
  121. };
  122. phy19: ethernet-phy@19 {
  123. reg = <19>;
  124. };
  125. phy20: ethernet-phy@20 {
  126. reg = <20>;
  127. };
  128. phy21: ethernet-phy@21 {
  129. reg = <21>;
  130. };
  131. phy22: ethernet-phy@22 {
  132. reg = <22>;
  133. };
  134. phy23: ethernet-phy@23 {
  135. reg = <23>;
  136. };
  137. };
  138. &mdio2 {
  139. status = "okay";
  140. phy24: ethernet-phy@24 {
  141. reg = <0>;
  142. };
  143. phy25: ethernet-phy@25 {
  144. reg = <1>;
  145. };
  146. phy26: ethernet-phy@26 {
  147. reg = <2>;
  148. };
  149. phy27: ethernet-phy@27 {
  150. reg = <3>;
  151. };
  152. phy28: ethernet-phy@28 {
  153. reg = <4>;
  154. };
  155. phy29: ethernet-phy@29 {
  156. reg = <5>;
  157. };
  158. phy30: ethernet-phy@30 {
  159. reg = <6>;
  160. };
  161. phy31: ethernet-phy@31 {
  162. reg = <7>;
  163. };
  164. phy32: ethernet-phy@32 {
  165. reg = <8>;
  166. };
  167. phy33: ethernet-phy@33 {
  168. reg = <9>;
  169. };
  170. phy34: ethernet-phy@34 {
  171. reg = <10>;
  172. };
  173. phy35: ethernet-phy@35 {
  174. reg = <11>;
  175. };
  176. phy36: ethernet-phy@36 {
  177. reg = <12>;
  178. };
  179. phy37: ethernet-phy@37 {
  180. reg = <13>;
  181. };
  182. phy38: ethernet-phy@38 {
  183. reg = <14>;
  184. };
  185. phy39: ethernet-phy@39 {
  186. reg = <15>;
  187. };
  188. phy40: ethernet-phy@40 {
  189. reg = <16>;
  190. };
  191. phy41: ethernet-phy@41 {
  192. reg = <17>;
  193. };
  194. phy42: ethernet-phy@42 {
  195. reg = <18>;
  196. };
  197. phy43: ethernet-phy@43 {
  198. reg = <19>;
  199. };
  200. phy44: ethernet-phy@44 {
  201. reg = <20>;
  202. };
  203. phy45: ethernet-phy@45 {
  204. reg = <21>;
  205. };
  206. phy46: ethernet-phy@46 {
  207. reg = <22>;
  208. };
  209. phy47: ethernet-phy@47 {
  210. reg = <23>;
  211. };
  212. };
  213. &switch {
  214. ethernet-ports {
  215. port0: port@0 {
  216. reg = <0>;
  217. phy-handle = <&phy0>;
  218. phys = <&serdes_hsio 0 SERDES6G(4) PHY_MODE_QSGMII>;
  219. };
  220. port1: port@1 {
  221. reg = <1>;
  222. phy-handle = <&phy1>;
  223. phys = <&serdes_hsio 1 0xff PHY_MODE_QSGMII>;
  224. };
  225. port2: port@2 {
  226. reg = <2>;
  227. phy-handle = <&phy2>;
  228. phys = <&serdes_hsio 2 0xff PHY_MODE_QSGMII>;
  229. };
  230. port3: port@3 {
  231. reg = <3>;
  232. phy-handle = <&phy3>;
  233. phys = <&serdes_hsio 3 0xff PHY_MODE_QSGMII>;
  234. };
  235. port4: port@4 {
  236. reg = <4>;
  237. phy-handle = <&phy4>;
  238. phys = <&serdes_hsio 4 SERDES6G(5) PHY_MODE_QSGMII>;
  239. };
  240. port5: port@5 {
  241. reg = <5>;
  242. phy-handle = <&phy5>;
  243. phys = <&serdes_hsio 5 0xff PHY_MODE_QSGMII>;
  244. };
  245. port6: port@6 {
  246. reg = <6>;
  247. phy-handle = <&phy6>;
  248. phys = <&serdes_hsio 6 0xff PHY_MODE_QSGMII>;
  249. };
  250. port7: port@7 {
  251. reg = <7>;
  252. phy-handle = <&phy7>;
  253. phys = <&serdes_hsio 7 0xff PHY_MODE_QSGMII>;
  254. };
  255. port8: port@8 {
  256. reg = <8>;
  257. phy-handle = <&phy8>;
  258. phys = <&serdes_hsio 8 SERDES6G(6) PHY_MODE_QSGMII>;
  259. };
  260. port9: port@9 {
  261. reg = <9>;
  262. phy-handle = <&phy9>;
  263. phys = <&serdes_hsio 9 0xff PHY_MODE_QSGMII>;
  264. };
  265. port10: port@10 {
  266. reg = <10>;
  267. phy-handle = <&phy10>;
  268. phys = <&serdes_hsio 10 0xff PHY_MODE_QSGMII>;
  269. };
  270. port11: port@11 {
  271. reg = <11>;
  272. phy-handle = <&phy11>;
  273. phys = <&serdes_hsio 11 0xff PHY_MODE_QSGMII>;
  274. };
  275. port12: port@12 {
  276. reg = <12>;
  277. phy-handle = <&phy12>;
  278. phys = <&serdes_hsio 12 SERDES6G(7) PHY_MODE_QSGMII>;
  279. };
  280. port13: port@13 {
  281. reg = <13>;
  282. phy-handle = <&phy13>;
  283. phys = <&serdes_hsio 13 0xff PHY_MODE_QSGMII>;
  284. };
  285. port14: port@14 {
  286. reg = <14>;
  287. phy-handle = <&phy14>;
  288. phys = <&serdes_hsio 14 0xff PHY_MODE_QSGMII>;
  289. };
  290. port15: port@15 {
  291. reg = <15>;
  292. phy-handle = <&phy15>;
  293. phys = <&serdes_hsio 15 0xff PHY_MODE_QSGMII>;
  294. };
  295. port16: port@16 {
  296. reg = <16>;
  297. phy-handle = <&phy16>;
  298. phys = <&serdes_hsio 16 SERDES6G(8) PHY_MODE_QSGMII>;
  299. };
  300. port17: port@17 {
  301. reg = <17>;
  302. phy-handle = <&phy17>;
  303. phys = <&serdes_hsio 17 0xff PHY_MODE_QSGMII>;
  304. };
  305. port18: port@18 {
  306. reg = <18>;
  307. phy-handle = <&phy18>;
  308. phys = <&serdes_hsio 18 0xff PHY_MODE_QSGMII>;
  309. };
  310. port19: port@19 {
  311. reg = <19>;
  312. phy-handle = <&phy19>;
  313. phys = <&serdes_hsio 19 0xff PHY_MODE_QSGMII>;
  314. };
  315. port20: port@20 {
  316. reg = <20>;
  317. phy-handle = <&phy20>;
  318. phys = <&serdes_hsio 20 SERDES6G(9) PHY_MODE_QSGMII>;
  319. };
  320. port21: port@21 {
  321. reg = <21>;
  322. phy-handle = <&phy21>;
  323. phys = <&serdes_hsio 21 0xff PHY_MODE_QSGMII>;
  324. };
  325. port22: port@22 {
  326. reg = <22>;
  327. phy-handle = <&phy22>;
  328. phys = <&serdes_hsio 22 0xff PHY_MODE_QSGMII>;
  329. };
  330. port23: port@23 {
  331. reg = <23>;
  332. phy-handle = <&phy23>;
  333. phys = <&serdes_hsio 23 0xff PHY_MODE_QSGMII>;
  334. };
  335. port24: port@24 {
  336. reg = <24>;
  337. phy-handle = <&phy24>;
  338. phys = <&serdes_hsio 24 SERDES6G(10) PHY_MODE_QSGMII>;
  339. };
  340. port25: port@25 {
  341. reg = <25>;
  342. phy-handle = <&phy25>;
  343. phys = <&serdes_hsio 25 0xff PHY_MODE_QSGMII>;
  344. };
  345. port26: port@26 {
  346. reg = <26>;
  347. phy-handle = <&phy26>;
  348. phys = <&serdes_hsio 26 0xff PHY_MODE_QSGMII>;
  349. };
  350. port27: port@27 {
  351. reg = <27>;
  352. phy-handle = <&phy27>;
  353. phys = <&serdes_hsio 27 0xff PHY_MODE_QSGMII>;
  354. };
  355. port28: port@28 {
  356. reg = <28>;
  357. phy-handle = <&phy28>;
  358. phys = <&serdes_hsio 28 SERDES6G(11) PHY_MODE_QSGMII>;
  359. };
  360. port29: port@29 {
  361. reg = <29>;
  362. phy-handle = <&phy29>;
  363. phys = <&serdes_hsio 29 0xff PHY_MODE_QSGMII>;
  364. };
  365. port30: port@30 {
  366. reg = <30>;
  367. phy-handle = <&phy30>;
  368. phys = <&serdes_hsio 30 0xff PHY_MODE_QSGMII>;
  369. };
  370. port31: port@31 {
  371. reg = <31>;
  372. phy-handle = <&phy31>;
  373. phys = <&serdes_hsio 31 0xff PHY_MODE_QSGMII>;
  374. };
  375. port32: port@32 {
  376. reg = <32>;
  377. phy-handle = <&phy32>;
  378. phys = <&serdes_hsio 32 SERDES6G(12) PHY_MODE_QSGMII>;
  379. };
  380. port33: port@33 {
  381. reg = <33>;
  382. phy-handle = <&phy33>;
  383. phys = <&serdes_hsio 33 0xff PHY_MODE_QSGMII>;
  384. };
  385. port34: port@34 {
  386. reg = <34>;
  387. phy-handle = <&phy34>;
  388. phys = <&serdes_hsio 34 0xff PHY_MODE_QSGMII>;
  389. };
  390. port35: port@35 {
  391. reg = <35>;
  392. phy-handle = <&phy35>;
  393. phys = <&serdes_hsio 35 0xff PHY_MODE_QSGMII>;
  394. };
  395. port36: port@36 {
  396. reg = <36>;
  397. phy-handle = <&phy36>;
  398. phys = <&serdes_hsio 36 SERDES6G(13) PHY_MODE_QSGMII>;
  399. };
  400. port37: port@37 {
  401. reg = <37>;
  402. phy-handle = <&phy37>;
  403. phys = <&serdes_hsio 37 0xff PHY_MODE_QSGMII>;
  404. };
  405. port38: port@38 {
  406. reg = <38>;
  407. phy-handle = <&phy38>;
  408. phys = <&serdes_hsio 38 0xff PHY_MODE_QSGMII>;
  409. };
  410. port39: port@39 {
  411. reg = <39>;
  412. phy-handle = <&phy39>;
  413. phys = <&serdes_hsio 39 0xff PHY_MODE_QSGMII>;
  414. };
  415. port40: port@40 {
  416. reg = <40>;
  417. phy-handle = <&phy40>;
  418. phys = <&serdes_hsio 40 SERDES6G(14) PHY_MODE_QSGMII>;
  419. };
  420. port41: port@41 {
  421. reg = <41>;
  422. phy-handle = <&phy41>;
  423. phys = <&serdes_hsio 41 0xff PHY_MODE_QSGMII>;
  424. };
  425. port42: port@42 {
  426. reg = <42>;
  427. phy-handle = <&phy42>;
  428. phys = <&serdes_hsio 42 0xff PHY_MODE_QSGMII>;
  429. };
  430. port43: port@43 {
  431. reg = <43>;
  432. phy-handle = <&phy43>;
  433. phys = <&serdes_hsio 43 0xff PHY_MODE_QSGMII>;
  434. };
  435. port44: port@44 {
  436. reg = <44>;
  437. phy-handle = <&phy44>;
  438. phys = <&serdes_hsio 44 SERDES6G(15) PHY_MODE_QSGMII>;
  439. };
  440. port45: port@45 {
  441. reg = <45>;
  442. phy-handle = <&phy45>;
  443. phys = <&serdes_hsio 45 0xff PHY_MODE_QSGMII>;
  444. };
  445. port46: port@46 {
  446. reg = <46>;
  447. phy-handle = <&phy46>;
  448. phys = <&serdes_hsio 46 0xff PHY_MODE_QSGMII>;
  449. };
  450. port47: port@47 {
  451. reg = <47>;
  452. phy-handle = <&phy47>;
  453. phys = <&serdes_hsio 47 0xff PHY_MODE_QSGMII>;
  454. };
  455. };
  456. };