sparx5_pcb134_board.dtsi 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2020 Microchip Technology Inc. and its subsidiaries.
  4. */
  5. /dts-v1/;
  6. #include "sparx5_pcb_common.dtsi"
  7. /{
  8. gpio-restart {
  9. compatible = "gpio-restart";
  10. gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
  11. priority = <200>;
  12. };
  13. i2c0_imux: i2c-mux-0 {
  14. compatible = "i2c-mux-pinctrl";
  15. #address-cells = <1>;
  16. #size-cells = <0>;
  17. i2c-parent = <&i2c0>;
  18. };
  19. i2c0_emux: i2c-mux-1 {
  20. compatible = "i2c-mux-gpio";
  21. #address-cells = <1>;
  22. #size-cells = <0>;
  23. i2c-parent = <&i2c0>;
  24. };
  25. leds {
  26. compatible = "gpio-leds";
  27. led-0 {
  28. label = "twr0:green";
  29. gpios = <&sgpio_out0 8 0 GPIO_ACTIVE_LOW>;
  30. };
  31. led-1 {
  32. label = "twr0:yellow";
  33. gpios = <&sgpio_out0 8 1 GPIO_ACTIVE_LOW>;
  34. };
  35. led-2 {
  36. label = "twr1:green";
  37. gpios = <&sgpio_out0 9 0 GPIO_ACTIVE_LOW>;
  38. };
  39. led-3 {
  40. label = "twr1:yellow";
  41. gpios = <&sgpio_out0 9 1 GPIO_ACTIVE_LOW>;
  42. };
  43. led-4 {
  44. label = "twr2:green";
  45. gpios = <&sgpio_out0 10 0 GPIO_ACTIVE_LOW>;
  46. };
  47. led-5 {
  48. label = "twr2:yellow";
  49. gpios = <&sgpio_out0 10 1 GPIO_ACTIVE_LOW>;
  50. };
  51. led-6 {
  52. label = "twr3:green";
  53. gpios = <&sgpio_out0 11 0 GPIO_ACTIVE_LOW>;
  54. };
  55. led-7 {
  56. label = "twr3:yellow";
  57. gpios = <&sgpio_out0 11 1 GPIO_ACTIVE_LOW>;
  58. };
  59. led-8 {
  60. label = "eth12:green";
  61. gpios = <&sgpio_out0 12 0 GPIO_ACTIVE_HIGH>;
  62. default-state = "off";
  63. };
  64. led-9 {
  65. label = "eth12:yellow";
  66. gpios = <&sgpio_out0 12 1 GPIO_ACTIVE_HIGH>;
  67. default-state = "off";
  68. };
  69. led-10 {
  70. label = "eth13:green";
  71. gpios = <&sgpio_out0 13 0 GPIO_ACTIVE_HIGH>;
  72. default-state = "off";
  73. };
  74. led-11 {
  75. label = "eth13:yellow";
  76. gpios = <&sgpio_out0 13 1 GPIO_ACTIVE_HIGH>;
  77. default-state = "off";
  78. };
  79. led-12 {
  80. label = "eth14:green";
  81. gpios = <&sgpio_out0 14 0 GPIO_ACTIVE_HIGH>;
  82. default-state = "off";
  83. };
  84. led-13 {
  85. label = "eth14:yellow";
  86. gpios = <&sgpio_out0 14 1 GPIO_ACTIVE_HIGH>;
  87. default-state = "off";
  88. };
  89. led-14 {
  90. label = "eth15:green";
  91. gpios = <&sgpio_out0 15 0 GPIO_ACTIVE_HIGH>;
  92. default-state = "off";
  93. };
  94. led-15 {
  95. label = "eth15:yellow";
  96. gpios = <&sgpio_out0 15 1 GPIO_ACTIVE_HIGH>;
  97. default-state = "off";
  98. };
  99. led-16 {
  100. label = "eth48:green";
  101. gpios = <&sgpio_out1 16 0 GPIO_ACTIVE_HIGH>;
  102. default-state = "off";
  103. };
  104. led-17 {
  105. label = "eth48:yellow";
  106. gpios = <&sgpio_out1 16 1 GPIO_ACTIVE_HIGH>;
  107. default-state = "off";
  108. };
  109. led-18 {
  110. label = "eth49:green";
  111. gpios = <&sgpio_out1 17 0 GPIO_ACTIVE_HIGH>;
  112. default-state = "off";
  113. };
  114. led-19 {
  115. label = "eth49:yellow";
  116. gpios = <&sgpio_out1 17 1 GPIO_ACTIVE_HIGH>;
  117. default-state = "off";
  118. };
  119. led-20 {
  120. label = "eth50:green";
  121. gpios = <&sgpio_out1 18 0 GPIO_ACTIVE_HIGH>;
  122. default-state = "off";
  123. };
  124. led-21 {
  125. label = "eth50:yellow";
  126. gpios = <&sgpio_out1 18 1 GPIO_ACTIVE_HIGH>;
  127. default-state = "off";
  128. };
  129. led-22 {
  130. label = "eth51:green";
  131. gpios = <&sgpio_out1 19 0 GPIO_ACTIVE_HIGH>;
  132. default-state = "off";
  133. };
  134. led-23 {
  135. label = "eth51:yellow";
  136. gpios = <&sgpio_out1 19 1 GPIO_ACTIVE_HIGH>;
  137. default-state = "off";
  138. };
  139. led-24 {
  140. label = "eth52:green";
  141. gpios = <&sgpio_out1 20 0 GPIO_ACTIVE_HIGH>;
  142. default-state = "off";
  143. };
  144. led-25 {
  145. label = "eth52:yellow";
  146. gpios = <&sgpio_out1 20 1 GPIO_ACTIVE_HIGH>;
  147. default-state = "off";
  148. };
  149. led-26 {
  150. label = "eth53:green";
  151. gpios = <&sgpio_out1 21 0 GPIO_ACTIVE_HIGH>;
  152. default-state = "off";
  153. };
  154. led-27 {
  155. label = "eth53:yellow";
  156. gpios = <&sgpio_out1 21 1 GPIO_ACTIVE_HIGH>;
  157. default-state = "off";
  158. };
  159. led-28 {
  160. label = "eth54:green";
  161. gpios = <&sgpio_out1 22 0 GPIO_ACTIVE_HIGH>;
  162. default-state = "off";
  163. };
  164. led-29 {
  165. label = "eth54:yellow";
  166. gpios = <&sgpio_out1 22 1 GPIO_ACTIVE_HIGH>;
  167. default-state = "off";
  168. };
  169. led-30 {
  170. label = "eth55:green";
  171. gpios = <&sgpio_out1 23 0 GPIO_ACTIVE_HIGH>;
  172. default-state = "off";
  173. };
  174. led-31 {
  175. label = "eth55:yellow";
  176. gpios = <&sgpio_out1 23 1 GPIO_ACTIVE_HIGH>;
  177. default-state = "off";
  178. };
  179. led-32 {
  180. label = "eth56:green";
  181. gpios = <&sgpio_out1 24 0 GPIO_ACTIVE_HIGH>;
  182. default-state = "off";
  183. };
  184. led-33 {
  185. label = "eth56:yellow";
  186. gpios = <&sgpio_out1 24 1 GPIO_ACTIVE_HIGH>;
  187. default-state = "off";
  188. };
  189. led-34 {
  190. label = "eth57:green";
  191. gpios = <&sgpio_out1 25 0 GPIO_ACTIVE_HIGH>;
  192. default-state = "off";
  193. };
  194. led-35 {
  195. label = "eth57:yellow";
  196. gpios = <&sgpio_out1 25 1 GPIO_ACTIVE_HIGH>;
  197. default-state = "off";
  198. };
  199. led-36 {
  200. label = "eth58:green";
  201. gpios = <&sgpio_out1 26 0 GPIO_ACTIVE_HIGH>;
  202. default-state = "off";
  203. };
  204. led-37 {
  205. label = "eth58:yellow";
  206. gpios = <&sgpio_out1 26 1 GPIO_ACTIVE_HIGH>;
  207. default-state = "off";
  208. };
  209. led-38 {
  210. label = "eth59:green";
  211. gpios = <&sgpio_out1 27 0 GPIO_ACTIVE_HIGH>;
  212. default-state = "off";
  213. };
  214. led-39 {
  215. label = "eth59:yellow";
  216. gpios = <&sgpio_out1 27 1 GPIO_ACTIVE_HIGH>;
  217. default-state = "off";
  218. };
  219. led-40 {
  220. label = "eth60:green";
  221. gpios = <&sgpio_out1 28 0 GPIO_ACTIVE_HIGH>;
  222. default-state = "off";
  223. };
  224. led-41 {
  225. label = "eth60:yellow";
  226. gpios = <&sgpio_out1 28 1 GPIO_ACTIVE_HIGH>;
  227. default-state = "off";
  228. };
  229. led-42 {
  230. label = "eth61:green";
  231. gpios = <&sgpio_out1 29 0 GPIO_ACTIVE_HIGH>;
  232. default-state = "off";
  233. };
  234. led-43 {
  235. label = "eth61:yellow";
  236. gpios = <&sgpio_out1 29 1 GPIO_ACTIVE_HIGH>;
  237. default-state = "off";
  238. };
  239. led-44 {
  240. label = "eth62:green";
  241. gpios = <&sgpio_out1 30 0 GPIO_ACTIVE_HIGH>;
  242. default-state = "off";
  243. };
  244. led-45 {
  245. label = "eth62:yellow";
  246. gpios = <&sgpio_out1 30 1 GPIO_ACTIVE_HIGH>;
  247. default-state = "off";
  248. };
  249. led-46 {
  250. label = "eth63:green";
  251. gpios = <&sgpio_out1 31 0 GPIO_ACTIVE_HIGH>;
  252. default-state = "off";
  253. };
  254. led-47 {
  255. label = "eth63:yellow";
  256. gpios = <&sgpio_out1 31 1 GPIO_ACTIVE_HIGH>;
  257. default-state = "off";
  258. };
  259. };
  260. sfp_eth12: sfp-eth12 {
  261. compatible = "sff,sfp";
  262. i2c-bus = <&i2c_sfp1>;
  263. tx-disable-gpios = <&sgpio_out2 11 1 GPIO_ACTIVE_LOW>;
  264. los-gpios = <&sgpio_in2 11 1 GPIO_ACTIVE_HIGH>;
  265. mod-def0-gpios = <&sgpio_in2 11 2 GPIO_ACTIVE_LOW>;
  266. tx-fault-gpios = <&sgpio_in2 12 0 GPIO_ACTIVE_HIGH>;
  267. };
  268. sfp_eth13: sfp-eth13 {
  269. compatible = "sff,sfp";
  270. i2c-bus = <&i2c_sfp2>;
  271. tx-disable-gpios = <&sgpio_out2 12 1 GPIO_ACTIVE_LOW>;
  272. los-gpios = <&sgpio_in2 12 1 GPIO_ACTIVE_HIGH>;
  273. mod-def0-gpios = <&sgpio_in2 12 2 GPIO_ACTIVE_LOW>;
  274. tx-fault-gpios = <&sgpio_in2 13 0 GPIO_ACTIVE_HIGH>;
  275. };
  276. sfp_eth14: sfp-eth14 {
  277. compatible = "sff,sfp";
  278. i2c-bus = <&i2c_sfp3>;
  279. tx-disable-gpios = <&sgpio_out2 13 1 GPIO_ACTIVE_LOW>;
  280. los-gpios = <&sgpio_in2 13 1 GPIO_ACTIVE_HIGH>;
  281. mod-def0-gpios = <&sgpio_in2 13 2 GPIO_ACTIVE_LOW>;
  282. tx-fault-gpios = <&sgpio_in2 14 0 GPIO_ACTIVE_HIGH>;
  283. };
  284. sfp_eth15: sfp-eth15 {
  285. compatible = "sff,sfp";
  286. i2c-bus = <&i2c_sfp4>;
  287. tx-disable-gpios = <&sgpio_out2 14 1 GPIO_ACTIVE_LOW>;
  288. los-gpios = <&sgpio_in2 14 1 GPIO_ACTIVE_HIGH>;
  289. mod-def0-gpios = <&sgpio_in2 14 2 GPIO_ACTIVE_LOW>;
  290. tx-fault-gpios = <&sgpio_in2 15 0 GPIO_ACTIVE_HIGH>;
  291. };
  292. sfp_eth48: sfp-eth48 {
  293. compatible = "sff,sfp";
  294. i2c-bus = <&i2c_sfp5>;
  295. tx-disable-gpios = <&sgpio_out2 15 1 GPIO_ACTIVE_LOW>;
  296. los-gpios = <&sgpio_in2 15 1 GPIO_ACTIVE_HIGH>;
  297. mod-def0-gpios = <&sgpio_in2 15 2 GPIO_ACTIVE_LOW>;
  298. tx-fault-gpios = <&sgpio_in2 16 0 GPIO_ACTIVE_HIGH>;
  299. };
  300. sfp_eth49: sfp-eth49 {
  301. compatible = "sff,sfp";
  302. i2c-bus = <&i2c_sfp6>;
  303. tx-disable-gpios = <&sgpio_out2 16 1 GPIO_ACTIVE_LOW>;
  304. los-gpios = <&sgpio_in2 16 1 GPIO_ACTIVE_HIGH>;
  305. mod-def0-gpios = <&sgpio_in2 16 2 GPIO_ACTIVE_LOW>;
  306. tx-fault-gpios = <&sgpio_in2 17 0 GPIO_ACTIVE_HIGH>;
  307. };
  308. sfp_eth50: sfp-eth50 {
  309. compatible = "sff,sfp";
  310. i2c-bus = <&i2c_sfp7>;
  311. tx-disable-gpios = <&sgpio_out2 17 1 GPIO_ACTIVE_LOW>;
  312. los-gpios = <&sgpio_in2 17 1 GPIO_ACTIVE_HIGH>;
  313. mod-def0-gpios = <&sgpio_in2 17 2 GPIO_ACTIVE_LOW>;
  314. tx-fault-gpios = <&sgpio_in2 18 0 GPIO_ACTIVE_HIGH>;
  315. };
  316. sfp_eth51: sfp-eth51 {
  317. compatible = "sff,sfp";
  318. i2c-bus = <&i2c_sfp8>;
  319. tx-disable-gpios = <&sgpio_out2 18 1 GPIO_ACTIVE_LOW>;
  320. los-gpios = <&sgpio_in2 18 1 GPIO_ACTIVE_HIGH>;
  321. mod-def0-gpios = <&sgpio_in2 18 2 GPIO_ACTIVE_LOW>;
  322. tx-fault-gpios = <&sgpio_in2 19 0 GPIO_ACTIVE_HIGH>;
  323. };
  324. sfp_eth52: sfp-eth52 {
  325. compatible = "sff,sfp";
  326. i2c-bus = <&i2c_sfp9>;
  327. tx-disable-gpios = <&sgpio_out2 19 1 GPIO_ACTIVE_LOW>;
  328. los-gpios = <&sgpio_in2 19 1 GPIO_ACTIVE_HIGH>;
  329. mod-def0-gpios = <&sgpio_in2 19 2 GPIO_ACTIVE_LOW>;
  330. tx-fault-gpios = <&sgpio_in2 20 0 GPIO_ACTIVE_HIGH>;
  331. };
  332. sfp_eth53: sfp-eth53 {
  333. compatible = "sff,sfp";
  334. i2c-bus = <&i2c_sfp10>;
  335. tx-disable-gpios = <&sgpio_out2 20 1 GPIO_ACTIVE_LOW>;
  336. los-gpios = <&sgpio_in2 20 1 GPIO_ACTIVE_HIGH>;
  337. mod-def0-gpios = <&sgpio_in2 20 2 GPIO_ACTIVE_LOW>;
  338. tx-fault-gpios = <&sgpio_in2 21 0 GPIO_ACTIVE_HIGH>;
  339. };
  340. sfp_eth54: sfp-eth54 {
  341. compatible = "sff,sfp";
  342. i2c-bus = <&i2c_sfp11>;
  343. tx-disable-gpios = <&sgpio_out2 21 1 GPIO_ACTIVE_LOW>;
  344. los-gpios = <&sgpio_in2 21 1 GPIO_ACTIVE_HIGH>;
  345. mod-def0-gpios = <&sgpio_in2 21 2 GPIO_ACTIVE_LOW>;
  346. tx-fault-gpios = <&sgpio_in2 22 0 GPIO_ACTIVE_HIGH>;
  347. };
  348. sfp_eth55: sfp-eth55 {
  349. compatible = "sff,sfp";
  350. i2c-bus = <&i2c_sfp12>;
  351. tx-disable-gpios = <&sgpio_out2 22 1 GPIO_ACTIVE_LOW>;
  352. los-gpios = <&sgpio_in2 22 1 GPIO_ACTIVE_HIGH>;
  353. mod-def0-gpios = <&sgpio_in2 22 2 GPIO_ACTIVE_LOW>;
  354. tx-fault-gpios = <&sgpio_in2 23 0 GPIO_ACTIVE_HIGH>;
  355. };
  356. sfp_eth56: sfp-eth56 {
  357. compatible = "sff,sfp";
  358. i2c-bus = <&i2c_sfp13>;
  359. tx-disable-gpios = <&sgpio_out2 23 1 GPIO_ACTIVE_LOW>;
  360. los-gpios = <&sgpio_in2 23 1 GPIO_ACTIVE_HIGH>;
  361. mod-def0-gpios = <&sgpio_in2 23 2 GPIO_ACTIVE_LOW>;
  362. tx-fault-gpios = <&sgpio_in2 24 0 GPIO_ACTIVE_HIGH>;
  363. };
  364. sfp_eth57: sfp-eth57 {
  365. compatible = "sff,sfp";
  366. i2c-bus = <&i2c_sfp14>;
  367. tx-disable-gpios = <&sgpio_out2 24 1 GPIO_ACTIVE_LOW>;
  368. los-gpios = <&sgpio_in2 24 1 GPIO_ACTIVE_HIGH>;
  369. mod-def0-gpios = <&sgpio_in2 24 2 GPIO_ACTIVE_LOW>;
  370. tx-fault-gpios = <&sgpio_in2 25 0 GPIO_ACTIVE_HIGH>;
  371. };
  372. sfp_eth58: sfp-eth58 {
  373. compatible = "sff,sfp";
  374. i2c-bus = <&i2c_sfp15>;
  375. tx-disable-gpios = <&sgpio_out2 25 1 GPIO_ACTIVE_LOW>;
  376. los-gpios = <&sgpio_in2 25 1 GPIO_ACTIVE_HIGH>;
  377. mod-def0-gpios = <&sgpio_in2 25 2 GPIO_ACTIVE_LOW>;
  378. tx-fault-gpios = <&sgpio_in2 26 0 GPIO_ACTIVE_HIGH>;
  379. };
  380. sfp_eth59: sfp-eth59 {
  381. compatible = "sff,sfp";
  382. i2c-bus = <&i2c_sfp16>;
  383. tx-disable-gpios = <&sgpio_out2 26 1 GPIO_ACTIVE_LOW>;
  384. los-gpios = <&sgpio_in2 26 1 GPIO_ACTIVE_HIGH>;
  385. mod-def0-gpios = <&sgpio_in2 26 2 GPIO_ACTIVE_LOW>;
  386. tx-fault-gpios = <&sgpio_in2 27 0 GPIO_ACTIVE_HIGH>;
  387. };
  388. sfp_eth60: sfp-eth60 {
  389. compatible = "sff,sfp";
  390. i2c-bus = <&i2c_sfp17>;
  391. tx-disable-gpios = <&sgpio_out2 27 1 GPIO_ACTIVE_LOW>;
  392. los-gpios = <&sgpio_in2 27 1 GPIO_ACTIVE_HIGH>;
  393. mod-def0-gpios = <&sgpio_in2 27 2 GPIO_ACTIVE_LOW>;
  394. tx-fault-gpios = <&sgpio_in2 28 0 GPIO_ACTIVE_HIGH>;
  395. };
  396. sfp_eth61: sfp-eth61 {
  397. compatible = "sff,sfp";
  398. i2c-bus = <&i2c_sfp18>;
  399. tx-disable-gpios = <&sgpio_out2 28 1 GPIO_ACTIVE_LOW>;
  400. los-gpios = <&sgpio_in2 28 1 GPIO_ACTIVE_HIGH>;
  401. mod-def0-gpios = <&sgpio_in2 28 2 GPIO_ACTIVE_LOW>;
  402. tx-fault-gpios = <&sgpio_in2 29 0 GPIO_ACTIVE_HIGH>;
  403. };
  404. sfp_eth62: sfp-eth62 {
  405. compatible = "sff,sfp";
  406. i2c-bus = <&i2c_sfp19>;
  407. tx-disable-gpios = <&sgpio_out2 29 1 GPIO_ACTIVE_LOW>;
  408. los-gpios = <&sgpio_in2 29 1 GPIO_ACTIVE_HIGH>;
  409. mod-def0-gpios = <&sgpio_in2 29 2 GPIO_ACTIVE_LOW>;
  410. tx-fault-gpios = <&sgpio_in2 30 0 GPIO_ACTIVE_HIGH>;
  411. };
  412. sfp_eth63: sfp-eth63 {
  413. compatible = "sff,sfp";
  414. i2c-bus = <&i2c_sfp20>;
  415. tx-disable-gpios = <&sgpio_out2 30 1 GPIO_ACTIVE_LOW>;
  416. los-gpios = <&sgpio_in2 30 1 GPIO_ACTIVE_HIGH>;
  417. mod-def0-gpios = <&sgpio_in2 30 2 GPIO_ACTIVE_LOW>;
  418. tx-fault-gpios = <&sgpio_in2 31 0 GPIO_ACTIVE_HIGH>;
  419. };
  420. };
  421. &sgpio0 {
  422. status = "okay";
  423. microchip,sgpio-port-ranges = <8 15>;
  424. gpio@0 {
  425. ngpios = <64>;
  426. };
  427. gpio@1 {
  428. ngpios = <64>;
  429. };
  430. };
  431. &sgpio1 {
  432. status = "okay";
  433. microchip,sgpio-port-ranges = <24 31>;
  434. gpio@0 {
  435. ngpios = <64>;
  436. };
  437. gpio@1 {
  438. ngpios = <64>;
  439. };
  440. };
  441. &spi0 {
  442. status = "okay";
  443. spi@0 {
  444. compatible = "spi-mux";
  445. mux-controls = <&mux>;
  446. #address-cells = <1>;
  447. #size-cells = <0>;
  448. reg = <0>; /* CS0 */
  449. flash@9 {
  450. compatible = "jedec,spi-nor";
  451. spi-max-frequency = <8000000>;
  452. reg = <0x9>; /* SPI */
  453. };
  454. };
  455. };
  456. &sgpio0 {
  457. status = "okay";
  458. microchip,sgpio-port-ranges = <8 15>;
  459. gpio@0 {
  460. ngpios = <64>;
  461. };
  462. gpio@1 {
  463. ngpios = <64>;
  464. };
  465. };
  466. &sgpio1 {
  467. status = "okay";
  468. microchip,sgpio-port-ranges = <24 31>;
  469. gpio@0 {
  470. ngpios = <64>;
  471. };
  472. gpio@1 {
  473. ngpios = <64>;
  474. };
  475. };
  476. &sgpio2 {
  477. status = "okay";
  478. microchip,sgpio-port-ranges = <0 0>, <11 31>;
  479. };
  480. &gpio {
  481. i2cmux_pins_i: i2cmux-pins {
  482. pins = "GPIO_16", "GPIO_17", "GPIO_18", "GPIO_19",
  483. "GPIO_20", "GPIO_22", "GPIO_36", "GPIO_35",
  484. "GPIO_50", "GPIO_51", "GPIO_56", "GPIO_57";
  485. function = "twi_scl_m";
  486. output-low;
  487. };
  488. i2cmux_0: i2cmux-0-pins {
  489. pins = "GPIO_16";
  490. function = "twi_scl_m";
  491. output-high;
  492. };
  493. i2cmux_1: i2cmux-1-pins {
  494. pins = "GPIO_17";
  495. function = "twi_scl_m";
  496. output-high;
  497. };
  498. i2cmux_2: i2cmux-2-pins {
  499. pins = "GPIO_18";
  500. function = "twi_scl_m";
  501. output-high;
  502. };
  503. i2cmux_3: i2cmux-3-pins {
  504. pins = "GPIO_19";
  505. function = "twi_scl_m";
  506. output-high;
  507. };
  508. i2cmux_4: i2cmux-4-pins {
  509. pins = "GPIO_20";
  510. function = "twi_scl_m";
  511. output-high;
  512. };
  513. i2cmux_5: i2cmux-5-pins {
  514. pins = "GPIO_22";
  515. function = "twi_scl_m";
  516. output-high;
  517. };
  518. i2cmux_6: i2cmux-6-pins {
  519. pins = "GPIO_36";
  520. function = "twi_scl_m";
  521. output-high;
  522. };
  523. i2cmux_7: i2cmux-7-pins {
  524. pins = "GPIO_35";
  525. function = "twi_scl_m";
  526. output-high;
  527. };
  528. i2cmux_8: i2cmux-8-pins {
  529. pins = "GPIO_50";
  530. function = "twi_scl_m";
  531. output-high;
  532. };
  533. i2cmux_9: i2cmux-9-pins {
  534. pins = "GPIO_51";
  535. function = "twi_scl_m";
  536. output-high;
  537. };
  538. i2cmux_10: i2cmux-10-pins {
  539. pins = "GPIO_56";
  540. function = "twi_scl_m";
  541. output-high;
  542. };
  543. i2cmux_11: i2cmux-11-pins {
  544. pins = "GPIO_57";
  545. function = "twi_scl_m";
  546. output-high;
  547. };
  548. };
  549. &i2c0_imux {
  550. pinctrl-names =
  551. "i2c_sfp1", "i2c_sfp2", "i2c_sfp3", "i2c_sfp4",
  552. "i2c_sfp5", "i2c_sfp6", "i2c_sfp7", "i2c_sfp8",
  553. "i2c_sfp9", "i2c_sfp10", "i2c_sfp11", "i2c_sfp12", "idle";
  554. pinctrl-0 = <&i2cmux_0>;
  555. pinctrl-1 = <&i2cmux_1>;
  556. pinctrl-2 = <&i2cmux_2>;
  557. pinctrl-3 = <&i2cmux_3>;
  558. pinctrl-4 = <&i2cmux_4>;
  559. pinctrl-5 = <&i2cmux_5>;
  560. pinctrl-6 = <&i2cmux_6>;
  561. pinctrl-7 = <&i2cmux_7>;
  562. pinctrl-8 = <&i2cmux_8>;
  563. pinctrl-9 = <&i2cmux_9>;
  564. pinctrl-10 = <&i2cmux_10>;
  565. pinctrl-11 = <&i2cmux_11>;
  566. pinctrl-12 = <&i2cmux_pins_i>;
  567. i2c_sfp1: i2c@0 {
  568. reg = <0x0>;
  569. #address-cells = <1>;
  570. #size-cells = <0>;
  571. };
  572. i2c_sfp2: i2c@1 {
  573. reg = <0x1>;
  574. #address-cells = <1>;
  575. #size-cells = <0>;
  576. };
  577. i2c_sfp3: i2c@2 {
  578. reg = <0x2>;
  579. #address-cells = <1>;
  580. #size-cells = <0>;
  581. };
  582. i2c_sfp4: i2c@3 {
  583. reg = <0x3>;
  584. #address-cells = <1>;
  585. #size-cells = <0>;
  586. };
  587. i2c_sfp5: i2c@4 {
  588. reg = <0x4>;
  589. #address-cells = <1>;
  590. #size-cells = <0>;
  591. };
  592. i2c_sfp6: i2c@5 {
  593. reg = <0x5>;
  594. #address-cells = <1>;
  595. #size-cells = <0>;
  596. };
  597. i2c_sfp7: i2c@6 {
  598. reg = <0x6>;
  599. #address-cells = <1>;
  600. #size-cells = <0>;
  601. };
  602. i2c_sfp8: i2c@7 {
  603. reg = <0x7>;
  604. #address-cells = <1>;
  605. #size-cells = <0>;
  606. };
  607. i2c_sfp9: i2c@8 {
  608. reg = <0x8>;
  609. #address-cells = <1>;
  610. #size-cells = <0>;
  611. };
  612. i2c_sfp10: i2c@9 {
  613. reg = <0x9>;
  614. #address-cells = <1>;
  615. #size-cells = <0>;
  616. };
  617. i2c_sfp11: i2c@a {
  618. reg = <0xa>;
  619. #address-cells = <1>;
  620. #size-cells = <0>;
  621. };
  622. i2c_sfp12: i2c@b {
  623. reg = <0xb>;
  624. #address-cells = <1>;
  625. #size-cells = <0>;
  626. };
  627. };
  628. &i2c0_emux {
  629. mux-gpios = <&gpio 55 GPIO_ACTIVE_HIGH
  630. &gpio 60 GPIO_ACTIVE_HIGH
  631. &gpio 61 GPIO_ACTIVE_HIGH
  632. &gpio 54 GPIO_ACTIVE_HIGH>;
  633. idle-state = <0x8>;
  634. i2c_sfp13: i2c@0 {
  635. reg = <0x0>;
  636. #address-cells = <1>;
  637. #size-cells = <0>;
  638. };
  639. i2c_sfp14: i2c@1 {
  640. reg = <0x1>;
  641. #address-cells = <1>;
  642. #size-cells = <0>;
  643. };
  644. i2c_sfp15: i2c@2 {
  645. reg = <0x2>;
  646. #address-cells = <1>;
  647. #size-cells = <0>;
  648. };
  649. i2c_sfp16: i2c@3 {
  650. reg = <0x3>;
  651. #address-cells = <1>;
  652. #size-cells = <0>;
  653. };
  654. i2c_sfp17: i2c@4 {
  655. reg = <0x4>;
  656. #address-cells = <1>;
  657. #size-cells = <0>;
  658. };
  659. i2c_sfp18: i2c@5 {
  660. reg = <0x5>;
  661. #address-cells = <1>;
  662. #size-cells = <0>;
  663. };
  664. i2c_sfp19: i2c@6 {
  665. reg = <0x6>;
  666. #address-cells = <1>;
  667. #size-cells = <0>;
  668. };
  669. i2c_sfp20: i2c@7 {
  670. reg = <0x7>;
  671. #address-cells = <1>;
  672. #size-cells = <0>;
  673. };
  674. };
  675. &mdio3 {
  676. status = "okay";
  677. phy64: ethernet-phy@64 {
  678. reg = <28>;
  679. };
  680. };
  681. &switch {
  682. ethernet-ports {
  683. #address-cells = <1>;
  684. #size-cells = <0>;
  685. /* 10G SFPs */
  686. port12: port@12 {
  687. reg = <12>;
  688. microchip,bandwidth = <10000>;
  689. phys = <&serdes 13>;
  690. phy-mode = "10gbase-r";
  691. sfp = <&sfp_eth12>;
  692. microchip,sd-sgpio = <301>;
  693. managed = "in-band-status";
  694. };
  695. port13: port@13 {
  696. reg = <13>;
  697. /* Example: CU SFP, 1G speed */
  698. microchip,bandwidth = <10000>;
  699. phys = <&serdes 14>;
  700. phy-mode = "10gbase-r";
  701. sfp = <&sfp_eth13>;
  702. microchip,sd-sgpio = <305>;
  703. managed = "in-band-status";
  704. };
  705. port14: port@14 {
  706. reg = <14>;
  707. microchip,bandwidth = <10000>;
  708. phys = <&serdes 15>;
  709. phy-mode = "10gbase-r";
  710. sfp = <&sfp_eth14>;
  711. microchip,sd-sgpio = <309>;
  712. managed = "in-band-status";
  713. };
  714. port15: port@15 {
  715. reg = <15>;
  716. microchip,bandwidth = <10000>;
  717. phys = <&serdes 16>;
  718. phy-mode = "10gbase-r";
  719. sfp = <&sfp_eth15>;
  720. microchip,sd-sgpio = <313>;
  721. managed = "in-band-status";
  722. };
  723. port48: port@48 {
  724. reg = <48>;
  725. microchip,bandwidth = <10000>;
  726. phys = <&serdes 17>;
  727. phy-mode = "10gbase-r";
  728. sfp = <&sfp_eth48>;
  729. microchip,sd-sgpio = <317>;
  730. managed = "in-band-status";
  731. };
  732. port49: port@49 {
  733. reg = <49>;
  734. microchip,bandwidth = <10000>;
  735. phys = <&serdes 18>;
  736. phy-mode = "10gbase-r";
  737. sfp = <&sfp_eth49>;
  738. microchip,sd-sgpio = <321>;
  739. managed = "in-band-status";
  740. };
  741. port50: port@50 {
  742. reg = <50>;
  743. microchip,bandwidth = <10000>;
  744. phys = <&serdes 19>;
  745. phy-mode = "10gbase-r";
  746. sfp = <&sfp_eth50>;
  747. microchip,sd-sgpio = <325>;
  748. managed = "in-band-status";
  749. };
  750. port51: port@51 {
  751. reg = <51>;
  752. microchip,bandwidth = <10000>;
  753. phys = <&serdes 20>;
  754. phy-mode = "10gbase-r";
  755. sfp = <&sfp_eth51>;
  756. microchip,sd-sgpio = <329>;
  757. managed = "in-band-status";
  758. };
  759. port52: port@52 {
  760. reg = <52>;
  761. microchip,bandwidth = <10000>;
  762. phys = <&serdes 21>;
  763. phy-mode = "10gbase-r";
  764. sfp = <&sfp_eth52>;
  765. microchip,sd-sgpio = <333>;
  766. managed = "in-band-status";
  767. };
  768. port53: port@53 {
  769. reg = <53>;
  770. microchip,bandwidth = <10000>;
  771. phys = <&serdes 22>;
  772. phy-mode = "10gbase-r";
  773. sfp = <&sfp_eth53>;
  774. microchip,sd-sgpio = <337>;
  775. managed = "in-band-status";
  776. };
  777. port54: port@54 {
  778. reg = <54>;
  779. microchip,bandwidth = <10000>;
  780. phys = <&serdes 23>;
  781. phy-mode = "10gbase-r";
  782. sfp = <&sfp_eth54>;
  783. microchip,sd-sgpio = <341>;
  784. managed = "in-band-status";
  785. };
  786. port55: port@55 {
  787. reg = <55>;
  788. microchip,bandwidth = <10000>;
  789. phys = <&serdes 24>;
  790. phy-mode = "10gbase-r";
  791. sfp = <&sfp_eth55>;
  792. microchip,sd-sgpio = <345>;
  793. managed = "in-band-status";
  794. };
  795. /* 25G SFPs */
  796. port56: port@56 {
  797. reg = <56>;
  798. microchip,bandwidth = <10000>;
  799. phys = <&serdes 25>;
  800. phy-mode = "10gbase-r";
  801. sfp = <&sfp_eth56>;
  802. microchip,sd-sgpio = <349>;
  803. managed = "in-band-status";
  804. };
  805. port57: port@57 {
  806. reg = <57>;
  807. microchip,bandwidth = <10000>;
  808. phys = <&serdes 26>;
  809. phy-mode = "10gbase-r";
  810. sfp = <&sfp_eth57>;
  811. microchip,sd-sgpio = <353>;
  812. managed = "in-band-status";
  813. };
  814. port58: port@58 {
  815. reg = <58>;
  816. microchip,bandwidth = <10000>;
  817. phys = <&serdes 27>;
  818. phy-mode = "10gbase-r";
  819. sfp = <&sfp_eth58>;
  820. microchip,sd-sgpio = <357>;
  821. managed = "in-band-status";
  822. };
  823. port59: port@59 {
  824. reg = <59>;
  825. microchip,bandwidth = <10000>;
  826. phys = <&serdes 28>;
  827. phy-mode = "10gbase-r";
  828. sfp = <&sfp_eth59>;
  829. microchip,sd-sgpio = <361>;
  830. managed = "in-band-status";
  831. };
  832. port60: port@60 {
  833. reg = <60>;
  834. microchip,bandwidth = <10000>;
  835. phys = <&serdes 29>;
  836. phy-mode = "10gbase-r";
  837. sfp = <&sfp_eth60>;
  838. microchip,sd-sgpio = <365>;
  839. managed = "in-band-status";
  840. };
  841. port61: port@61 {
  842. reg = <61>;
  843. microchip,bandwidth = <10000>;
  844. phys = <&serdes 30>;
  845. phy-mode = "10gbase-r";
  846. sfp = <&sfp_eth61>;
  847. microchip,sd-sgpio = <369>;
  848. managed = "in-band-status";
  849. };
  850. port62: port@62 {
  851. reg = <62>;
  852. microchip,bandwidth = <10000>;
  853. phys = <&serdes 31>;
  854. phy-mode = "10gbase-r";
  855. sfp = <&sfp_eth62>;
  856. microchip,sd-sgpio = <373>;
  857. managed = "in-band-status";
  858. };
  859. port63: port@63 {
  860. reg = <63>;
  861. microchip,bandwidth = <10000>;
  862. phys = <&serdes 32>;
  863. phy-mode = "10gbase-r";
  864. sfp = <&sfp_eth63>;
  865. microchip,sd-sgpio = <377>;
  866. managed = "in-band-status";
  867. };
  868. /* Finally the Management interface */
  869. port64: port@64 {
  870. reg = <64>;
  871. microchip,bandwidth = <1000>;
  872. phys = <&serdes 0>;
  873. phy-handle = <&phy64>;
  874. phy-mode = "sgmii";
  875. };
  876. };
  877. };