zynqmp-zcu106-revA.dts 20 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * dts file for Xilinx ZynqMP ZCU106
  4. *
  5. * (C) Copyright 2016 - 2021, Xilinx, Inc.
  6. *
  7. * Michal Simek <[email protected]>
  8. */
  9. /dts-v1/;
  10. #include "zynqmp.dtsi"
  11. #include "zynqmp-clk-ccf.dtsi"
  12. #include <dt-bindings/input/input.h>
  13. #include <dt-bindings/gpio/gpio.h>
  14. #include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
  15. #include <dt-bindings/phy/phy.h>
  16. / {
  17. model = "ZynqMP ZCU106 RevA";
  18. compatible = "xlnx,zynqmp-zcu106-revA", "xlnx,zynqmp-zcu106", "xlnx,zynqmp";
  19. aliases {
  20. ethernet0 = &gem3;
  21. i2c0 = &i2c0;
  22. i2c1 = &i2c1;
  23. mmc0 = &sdhci1;
  24. nvmem0 = &eeprom;
  25. rtc0 = &rtc;
  26. serial0 = &uart0;
  27. serial1 = &uart1;
  28. serial2 = &dcc;
  29. spi0 = &qspi;
  30. usb0 = &usb0;
  31. };
  32. chosen {
  33. bootargs = "earlycon";
  34. stdout-path = "serial0:115200n8";
  35. };
  36. memory@0 {
  37. device_type = "memory";
  38. reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
  39. };
  40. gpio-keys {
  41. compatible = "gpio-keys";
  42. autorepeat;
  43. switch-19 {
  44. label = "sw19";
  45. gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
  46. linux,code = <KEY_DOWN>;
  47. wakeup-source;
  48. autorepeat;
  49. };
  50. };
  51. leds {
  52. compatible = "gpio-leds";
  53. heartbeat-led {
  54. label = "heartbeat";
  55. gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
  56. linux,default-trigger = "heartbeat";
  57. };
  58. };
  59. ina226-u76 {
  60. compatible = "iio-hwmon";
  61. io-channels = <&u76 0>, <&u76 1>, <&u76 2>, <&u76 3>;
  62. };
  63. ina226-u77 {
  64. compatible = "iio-hwmon";
  65. io-channels = <&u77 0>, <&u77 1>, <&u77 2>, <&u77 3>;
  66. };
  67. ina226-u78 {
  68. compatible = "iio-hwmon";
  69. io-channels = <&u78 0>, <&u78 1>, <&u78 2>, <&u78 3>;
  70. };
  71. ina226-u87 {
  72. compatible = "iio-hwmon";
  73. io-channels = <&u87 0>, <&u87 1>, <&u87 2>, <&u87 3>;
  74. };
  75. ina226-u85 {
  76. compatible = "iio-hwmon";
  77. io-channels = <&u85 0>, <&u85 1>, <&u85 2>, <&u85 3>;
  78. };
  79. ina226-u86 {
  80. compatible = "iio-hwmon";
  81. io-channels = <&u86 0>, <&u86 1>, <&u86 2>, <&u86 3>;
  82. };
  83. ina226-u93 {
  84. compatible = "iio-hwmon";
  85. io-channels = <&u93 0>, <&u93 1>, <&u93 2>, <&u93 3>;
  86. };
  87. ina226-u88 {
  88. compatible = "iio-hwmon";
  89. io-channels = <&u88 0>, <&u88 1>, <&u88 2>, <&u88 3>;
  90. };
  91. ina226-u15 {
  92. compatible = "iio-hwmon";
  93. io-channels = <&u15 0>, <&u15 1>, <&u15 2>, <&u15 3>;
  94. };
  95. ina226-u92 {
  96. compatible = "iio-hwmon";
  97. io-channels = <&u92 0>, <&u92 1>, <&u92 2>, <&u92 3>;
  98. };
  99. ina226-u79 {
  100. compatible = "iio-hwmon";
  101. io-channels = <&u79 0>, <&u79 1>, <&u79 2>, <&u79 3>;
  102. };
  103. ina226-u81 {
  104. compatible = "iio-hwmon";
  105. io-channels = <&u81 0>, <&u81 1>, <&u81 2>, <&u81 3>;
  106. };
  107. ina226-u80 {
  108. compatible = "iio-hwmon";
  109. io-channels = <&u80 0>, <&u80 1>, <&u80 2>, <&u80 3>;
  110. };
  111. ina226-u84 {
  112. compatible = "iio-hwmon";
  113. io-channels = <&u84 0>, <&u84 1>, <&u84 2>, <&u84 3>;
  114. };
  115. ina226-u16 {
  116. compatible = "iio-hwmon";
  117. io-channels = <&u16 0>, <&u16 1>, <&u16 2>, <&u16 3>;
  118. };
  119. ina226-u65 {
  120. compatible = "iio-hwmon";
  121. io-channels = <&u65 0>, <&u65 1>, <&u65 2>, <&u65 3>;
  122. };
  123. ina226-u74 {
  124. compatible = "iio-hwmon";
  125. io-channels = <&u74 0>, <&u74 1>, <&u74 2>, <&u74 3>;
  126. };
  127. ina226-u75 {
  128. compatible = "iio-hwmon";
  129. io-channels = <&u75 0>, <&u75 1>, <&u75 2>, <&u75 3>;
  130. };
  131. /* 48MHz reference crystal */
  132. ref48: ref48M {
  133. compatible = "fixed-clock";
  134. #clock-cells = <0>;
  135. clock-frequency = <48000000>;
  136. };
  137. refhdmi: refhdmi {
  138. compatible = "fixed-clock";
  139. #clock-cells = <0>;
  140. clock-frequency = <114285000>;
  141. };
  142. };
  143. &can1 {
  144. status = "okay";
  145. pinctrl-names = "default";
  146. pinctrl-0 = <&pinctrl_can1_default>;
  147. };
  148. &dcc {
  149. status = "okay";
  150. };
  151. &fpd_dma_chan1 {
  152. status = "okay";
  153. };
  154. &fpd_dma_chan2 {
  155. status = "okay";
  156. };
  157. &fpd_dma_chan3 {
  158. status = "okay";
  159. };
  160. &fpd_dma_chan4 {
  161. status = "okay";
  162. };
  163. &fpd_dma_chan5 {
  164. status = "okay";
  165. };
  166. &fpd_dma_chan6 {
  167. status = "okay";
  168. };
  169. &fpd_dma_chan7 {
  170. status = "okay";
  171. };
  172. &fpd_dma_chan8 {
  173. status = "okay";
  174. };
  175. &gem3 {
  176. status = "okay";
  177. phy-handle = <&phy0>;
  178. phy-mode = "rgmii-id";
  179. pinctrl-names = "default";
  180. pinctrl-0 = <&pinctrl_gem3_default>;
  181. phy0: ethernet-phy@c {
  182. reg = <0xc>;
  183. ti,rx-internal-delay = <0x8>;
  184. ti,tx-internal-delay = <0xa>;
  185. ti,fifo-depth = <0x1>;
  186. ti,dp83867-rxctrl-strap-quirk;
  187. };
  188. };
  189. &gpio {
  190. status = "okay";
  191. pinctrl-names = "default";
  192. pinctrl-0 = <&pinctrl_gpio_default>;
  193. };
  194. &i2c0 {
  195. status = "okay";
  196. clock-frequency = <400000>;
  197. pinctrl-names = "default", "gpio";
  198. pinctrl-0 = <&pinctrl_i2c0_default>;
  199. pinctrl-1 = <&pinctrl_i2c0_gpio>;
  200. scl-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
  201. sda-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
  202. tca6416_u97: gpio@20 {
  203. compatible = "ti,tca6416";
  204. reg = <0x20>;
  205. gpio-controller; /* interrupt not connected */
  206. #gpio-cells = <2>;
  207. /*
  208. * IRQ not connected
  209. * Lines:
  210. * 0 - SFP_SI5328_INT_ALM
  211. * 1 - HDMI_SI5328_INT_ALM
  212. * 5 - IIC_MUX_RESET_B
  213. * 6 - GEM3_EXP_RESET_B
  214. * 10 - FMC_HPC0_PRSNT_M2C_B
  215. * 11 - FMC_HPC1_PRSNT_M2C_B
  216. * 2-4, 7, 12-17 - not connected
  217. */
  218. };
  219. tca6416_u61: gpio@21 {
  220. compatible = "ti,tca6416";
  221. reg = <0x21>;
  222. gpio-controller;
  223. #gpio-cells = <2>;
  224. /*
  225. * IRQ not connected
  226. * Lines:
  227. * 0 - VCCPSPLL_EN
  228. * 1 - MGTRAVCC_EN
  229. * 2 - MGTRAVTT_EN
  230. * 3 - VCCPSDDRPLL_EN
  231. * 4 - MIO26_PMU_INPUT_LS
  232. * 5 - PL_PMBUS_ALERT
  233. * 6 - PS_PMBUS_ALERT
  234. * 7 - MAXIM_PMBUS_ALERT
  235. * 10 - PL_DDR4_VTERM_EN
  236. * 11 - PL_DDR4_VPP_2V5_EN
  237. * 12 - PS_DIMM_VDDQ_TO_PSVCCO_ON
  238. * 13 - PS_DIMM_SUSPEND_EN
  239. * 14 - PS_DDR4_VTERM_EN
  240. * 15 - PS_DDR4_VPP_2V5_EN
  241. * 16 - 17 - not connected
  242. */
  243. };
  244. i2c-mux@75 { /* u60 */
  245. compatible = "nxp,pca9544";
  246. #address-cells = <1>;
  247. #size-cells = <0>;
  248. reg = <0x75>;
  249. i2c@0 {
  250. #address-cells = <1>;
  251. #size-cells = <0>;
  252. reg = <0>;
  253. /* PS_PMBUS */
  254. u76: ina226@40 { /* u76 */
  255. compatible = "ti,ina226";
  256. #io-channel-cells = <1>;
  257. label = "ina226-u76";
  258. reg = <0x40>;
  259. shunt-resistor = <5000>;
  260. };
  261. u77: ina226@41 { /* u77 */
  262. compatible = "ti,ina226";
  263. #io-channel-cells = <1>;
  264. label = "ina226-u77";
  265. reg = <0x41>;
  266. shunt-resistor = <5000>;
  267. };
  268. u78: ina226@42 { /* u78 */
  269. compatible = "ti,ina226";
  270. #io-channel-cells = <1>;
  271. label = "ina226-u78";
  272. reg = <0x42>;
  273. shunt-resistor = <5000>;
  274. };
  275. u87: ina226@43 { /* u87 */
  276. compatible = "ti,ina226";
  277. #io-channel-cells = <1>;
  278. label = "ina226-u87";
  279. reg = <0x43>;
  280. shunt-resistor = <5000>;
  281. };
  282. u85: ina226@44 { /* u85 */
  283. compatible = "ti,ina226";
  284. #io-channel-cells = <1>;
  285. label = "ina226-u85";
  286. reg = <0x44>;
  287. shunt-resistor = <5000>;
  288. };
  289. u86: ina226@45 { /* u86 */
  290. compatible = "ti,ina226";
  291. #io-channel-cells = <1>;
  292. label = "ina226-u86";
  293. reg = <0x45>;
  294. shunt-resistor = <5000>;
  295. };
  296. u93: ina226@46 { /* u93 */
  297. compatible = "ti,ina226";
  298. #io-channel-cells = <1>;
  299. label = "ina226-u93";
  300. reg = <0x46>;
  301. shunt-resistor = <5000>;
  302. };
  303. u88: ina226@47 { /* u88 */
  304. compatible = "ti,ina226";
  305. #io-channel-cells = <1>;
  306. label = "ina226-u88";
  307. reg = <0x47>;
  308. shunt-resistor = <5000>;
  309. };
  310. u15: ina226@4a { /* u15 */
  311. compatible = "ti,ina226";
  312. #io-channel-cells = <1>;
  313. label = "ina226-u15";
  314. reg = <0x4a>;
  315. shunt-resistor = <5000>;
  316. };
  317. u92: ina226@4b { /* u92 */
  318. compatible = "ti,ina226";
  319. #io-channel-cells = <1>;
  320. label = "ina226-u92";
  321. reg = <0x4b>;
  322. shunt-resistor = <5000>;
  323. };
  324. };
  325. i2c@1 {
  326. #address-cells = <1>;
  327. #size-cells = <0>;
  328. reg = <1>;
  329. /* PL_PMBUS */
  330. u79: ina226@40 { /* u79 */
  331. compatible = "ti,ina226";
  332. #io-channel-cells = <1>;
  333. label = "ina226-u79";
  334. reg = <0x40>;
  335. shunt-resistor = <2000>;
  336. };
  337. u81: ina226@41 { /* u81 */
  338. compatible = "ti,ina226";
  339. #io-channel-cells = <1>;
  340. label = "ina226-u81";
  341. reg = <0x41>;
  342. shunt-resistor = <5000>;
  343. };
  344. u80: ina226@42 { /* u80 */
  345. compatible = "ti,ina226";
  346. #io-channel-cells = <1>;
  347. label = "ina226-u80";
  348. reg = <0x42>;
  349. shunt-resistor = <5000>;
  350. };
  351. u84: ina226@43 { /* u84 */
  352. compatible = "ti,ina226";
  353. #io-channel-cells = <1>;
  354. label = "ina226-u84";
  355. reg = <0x43>;
  356. shunt-resistor = <5000>;
  357. };
  358. u16: ina226@44 { /* u16 */
  359. compatible = "ti,ina226";
  360. #io-channel-cells = <1>;
  361. label = "ina226-u16";
  362. reg = <0x44>;
  363. shunt-resistor = <5000>;
  364. };
  365. u65: ina226@45 { /* u65 */
  366. compatible = "ti,ina226";
  367. #io-channel-cells = <1>;
  368. label = "ina226-u65";
  369. reg = <0x45>;
  370. shunt-resistor = <5000>;
  371. };
  372. u74: ina226@46 { /* u74 */
  373. compatible = "ti,ina226";
  374. #io-channel-cells = <1>;
  375. label = "ina226-u74";
  376. reg = <0x46>;
  377. shunt-resistor = <5000>;
  378. };
  379. u75: ina226@47 { /* u75 */
  380. compatible = "ti,ina226";
  381. #io-channel-cells = <1>;
  382. label = "ina226-u75";
  383. reg = <0x47>;
  384. shunt-resistor = <5000>;
  385. };
  386. };
  387. i2c@2 {
  388. #address-cells = <1>;
  389. #size-cells = <0>;
  390. reg = <2>;
  391. /* MAXIM_PMBUS - 00 */
  392. max15301@a { /* u46 */
  393. compatible = "maxim,max15301";
  394. reg = <0xa>;
  395. };
  396. max15303@b { /* u4 */
  397. compatible = "maxim,max15303";
  398. reg = <0xb>;
  399. };
  400. max15303@10 { /* u13 */
  401. compatible = "maxim,max15303";
  402. reg = <0x10>;
  403. };
  404. max15301@13 { /* u47 */
  405. compatible = "maxim,max15301";
  406. reg = <0x13>;
  407. };
  408. max15303@14 { /* u7 */
  409. compatible = "maxim,max15303";
  410. reg = <0x14>;
  411. };
  412. max15303@15 { /* u6 */
  413. compatible = "maxim,max15303";
  414. reg = <0x15>;
  415. };
  416. max15303@16 { /* u10 */
  417. compatible = "maxim,max15303";
  418. reg = <0x16>;
  419. };
  420. max15303@17 { /* u9 */
  421. compatible = "maxim,max15303";
  422. reg = <0x17>;
  423. };
  424. max15301@18 { /* u63 */
  425. compatible = "maxim,max15301";
  426. reg = <0x18>;
  427. };
  428. max15303@1a { /* u49 */
  429. compatible = "maxim,max15303";
  430. reg = <0x1a>;
  431. };
  432. max15303@1b { /* u8 */
  433. compatible = "maxim,max15303";
  434. reg = <0x1b>;
  435. };
  436. max15303@1d { /* u18 */
  437. compatible = "maxim,max15303";
  438. reg = <0x1d>;
  439. };
  440. max20751@72 { /* u95 */
  441. compatible = "maxim,max20751";
  442. reg = <0x72>;
  443. };
  444. max20751@73 { /* u96 */
  445. compatible = "maxim,max20751";
  446. reg = <0x73>;
  447. };
  448. };
  449. /* Bus 3 is not connected */
  450. };
  451. };
  452. &i2c1 {
  453. status = "okay";
  454. clock-frequency = <400000>;
  455. pinctrl-names = "default", "gpio";
  456. pinctrl-0 = <&pinctrl_i2c1_default>;
  457. pinctrl-1 = <&pinctrl_i2c1_gpio>;
  458. scl-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
  459. sda-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
  460. /* PL i2c via PCA9306 - u45 */
  461. i2c-mux@74 { /* u34 */
  462. compatible = "nxp,pca9548";
  463. #address-cells = <1>;
  464. #size-cells = <0>;
  465. reg = <0x74>;
  466. i2c@0 {
  467. #address-cells = <1>;
  468. #size-cells = <0>;
  469. reg = <0>;
  470. /*
  471. * IIC_EEPROM 1kB memory which uses 256B blocks
  472. * where every block has different address.
  473. * 0 - 256B address 0x54
  474. * 256B - 512B address 0x55
  475. * 512B - 768B address 0x56
  476. * 768B - 1024B address 0x57
  477. */
  478. eeprom: eeprom@54 { /* u23 */
  479. compatible = "atmel,24c08";
  480. reg = <0x54>;
  481. };
  482. };
  483. i2c@1 {
  484. #address-cells = <1>;
  485. #size-cells = <0>;
  486. reg = <1>;
  487. si5341: clock-generator@36 { /* SI5341 - u69 */
  488. compatible = "silabs,si5341";
  489. reg = <0x36>;
  490. #clock-cells = <2>;
  491. #address-cells = <1>;
  492. #size-cells = <0>;
  493. clocks = <&ref48>;
  494. clock-names = "xtal";
  495. clock-output-names = "si5341";
  496. si5341_0: out@0 {
  497. /* refclk0 for PS-GT, used for DP */
  498. reg = <0>;
  499. always-on;
  500. };
  501. si5341_2: out@2 {
  502. /* refclk2 for PS-GT, used for USB3 */
  503. reg = <2>;
  504. always-on;
  505. };
  506. si5341_3: out@3 {
  507. /* refclk3 for PS-GT, used for SATA */
  508. reg = <3>;
  509. always-on;
  510. };
  511. si5341_6: out@6 {
  512. /* refclk6 PL CLK125 */
  513. reg = <6>;
  514. always-on;
  515. };
  516. si5341_7: out@7 {
  517. /* refclk7 PL CLK74 */
  518. reg = <7>;
  519. always-on;
  520. };
  521. si5341_9: out@9 {
  522. /* refclk9 used for PS_REF_CLK 33.3 MHz */
  523. reg = <9>;
  524. always-on;
  525. };
  526. };
  527. };
  528. i2c@2 {
  529. #address-cells = <1>;
  530. #size-cells = <0>;
  531. reg = <2>;
  532. si570_1: clock-generator@5d { /* USER SI570 - u42 */
  533. #clock-cells = <0>;
  534. compatible = "silabs,si570";
  535. reg = <0x5d>;
  536. temperature-stability = <50>;
  537. factory-fout = <300000000>;
  538. clock-frequency = <300000000>;
  539. clock-output-names = "si570_user";
  540. };
  541. };
  542. i2c@3 {
  543. #address-cells = <1>;
  544. #size-cells = <0>;
  545. reg = <3>;
  546. si570_2: clock-generator@5d { /* USER MGT SI570 - u56 */
  547. #clock-cells = <0>;
  548. compatible = "silabs,si570";
  549. reg = <0x5d>;
  550. temperature-stability = <50>; /* copy from zc702 */
  551. factory-fout = <156250000>;
  552. clock-frequency = <148500000>;
  553. clock-output-names = "si570_mgt";
  554. };
  555. };
  556. i2c@4 {
  557. #address-cells = <1>;
  558. #size-cells = <0>;
  559. reg = <4>;
  560. /* SI5328 - u20 */
  561. };
  562. i2c@5 {
  563. #address-cells = <1>;
  564. #size-cells = <0>;
  565. reg = <5>; /* FAN controller */
  566. temp@4c {/* lm96163 - u128 */
  567. compatible = "national,lm96163";
  568. reg = <0x4c>;
  569. };
  570. };
  571. /* 6 - 7 unconnected */
  572. };
  573. i2c-mux@75 {
  574. compatible = "nxp,pca9548"; /* u135 */
  575. #address-cells = <1>;
  576. #size-cells = <0>;
  577. reg = <0x75>;
  578. i2c@0 {
  579. #address-cells = <1>;
  580. #size-cells = <0>;
  581. reg = <0>;
  582. /* HPC0_IIC */
  583. };
  584. i2c@1 {
  585. #address-cells = <1>;
  586. #size-cells = <0>;
  587. reg = <1>;
  588. /* HPC1_IIC */
  589. };
  590. i2c@2 {
  591. #address-cells = <1>;
  592. #size-cells = <0>;
  593. reg = <2>;
  594. /* SYSMON */
  595. };
  596. i2c@3 {
  597. #address-cells = <1>;
  598. #size-cells = <0>;
  599. reg = <3>;
  600. /* DDR4 SODIMM */
  601. };
  602. i2c@4 {
  603. #address-cells = <1>;
  604. #size-cells = <0>;
  605. reg = <4>;
  606. /* SEP 3 */
  607. };
  608. i2c@5 {
  609. #address-cells = <1>;
  610. #size-cells = <0>;
  611. reg = <5>;
  612. /* SEP 2 */
  613. };
  614. i2c@6 {
  615. #address-cells = <1>;
  616. #size-cells = <0>;
  617. reg = <6>;
  618. /* SEP 1 */
  619. };
  620. i2c@7 {
  621. #address-cells = <1>;
  622. #size-cells = <0>;
  623. reg = <7>;
  624. /* SEP 0 */
  625. };
  626. };
  627. };
  628. &pinctrl0 {
  629. status = "okay";
  630. pinctrl_i2c0_default: i2c0-default {
  631. mux {
  632. groups = "i2c0_3_grp";
  633. function = "i2c0";
  634. };
  635. conf {
  636. groups = "i2c0_3_grp";
  637. bias-pull-up;
  638. slew-rate = <SLEW_RATE_SLOW>;
  639. power-source = <IO_STANDARD_LVCMOS18>;
  640. };
  641. };
  642. pinctrl_i2c0_gpio: i2c0-gpio {
  643. mux {
  644. groups = "gpio0_14_grp", "gpio0_15_grp";
  645. function = "gpio0";
  646. };
  647. conf {
  648. groups = "gpio0_14_grp", "gpio0_15_grp";
  649. slew-rate = <SLEW_RATE_SLOW>;
  650. power-source = <IO_STANDARD_LVCMOS18>;
  651. };
  652. };
  653. pinctrl_i2c1_default: i2c1-default {
  654. mux {
  655. groups = "i2c1_4_grp";
  656. function = "i2c1";
  657. };
  658. conf {
  659. groups = "i2c1_4_grp";
  660. bias-pull-up;
  661. slew-rate = <SLEW_RATE_SLOW>;
  662. power-source = <IO_STANDARD_LVCMOS18>;
  663. };
  664. };
  665. pinctrl_i2c1_gpio: i2c1-gpio {
  666. mux {
  667. groups = "gpio0_16_grp", "gpio0_17_grp";
  668. function = "gpio0";
  669. };
  670. conf {
  671. groups = "gpio0_16_grp", "gpio0_17_grp";
  672. slew-rate = <SLEW_RATE_SLOW>;
  673. power-source = <IO_STANDARD_LVCMOS18>;
  674. };
  675. };
  676. pinctrl_uart0_default: uart0-default {
  677. mux {
  678. groups = "uart0_4_grp";
  679. function = "uart0";
  680. };
  681. conf {
  682. groups = "uart0_4_grp";
  683. slew-rate = <SLEW_RATE_SLOW>;
  684. power-source = <IO_STANDARD_LVCMOS18>;
  685. };
  686. conf-rx {
  687. pins = "MIO18";
  688. bias-high-impedance;
  689. };
  690. conf-tx {
  691. pins = "MIO19";
  692. bias-disable;
  693. };
  694. };
  695. pinctrl_uart1_default: uart1-default {
  696. mux {
  697. groups = "uart1_5_grp";
  698. function = "uart1";
  699. };
  700. conf {
  701. groups = "uart1_5_grp";
  702. slew-rate = <SLEW_RATE_SLOW>;
  703. power-source = <IO_STANDARD_LVCMOS18>;
  704. };
  705. conf-rx {
  706. pins = "MIO21";
  707. bias-high-impedance;
  708. };
  709. conf-tx {
  710. pins = "MIO20";
  711. bias-disable;
  712. };
  713. };
  714. pinctrl_usb0_default: usb0-default {
  715. mux {
  716. groups = "usb0_0_grp";
  717. function = "usb0";
  718. };
  719. conf {
  720. groups = "usb0_0_grp";
  721. slew-rate = <SLEW_RATE_SLOW>;
  722. power-source = <IO_STANDARD_LVCMOS18>;
  723. };
  724. conf-rx {
  725. pins = "MIO52", "MIO53", "MIO55";
  726. bias-high-impedance;
  727. };
  728. conf-tx {
  729. pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
  730. "MIO60", "MIO61", "MIO62", "MIO63";
  731. bias-disable;
  732. };
  733. };
  734. pinctrl_gem3_default: gem3-default {
  735. mux {
  736. function = "ethernet3";
  737. groups = "ethernet3_0_grp";
  738. };
  739. conf {
  740. groups = "ethernet3_0_grp";
  741. slew-rate = <SLEW_RATE_SLOW>;
  742. power-source = <IO_STANDARD_LVCMOS18>;
  743. };
  744. conf-rx {
  745. pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74",
  746. "MIO75";
  747. bias-high-impedance;
  748. low-power-disable;
  749. };
  750. conf-tx {
  751. pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68",
  752. "MIO69";
  753. bias-disable;
  754. low-power-enable;
  755. };
  756. mux-mdio {
  757. function = "mdio3";
  758. groups = "mdio3_0_grp";
  759. };
  760. conf-mdio {
  761. groups = "mdio3_0_grp";
  762. slew-rate = <SLEW_RATE_SLOW>;
  763. power-source = <IO_STANDARD_LVCMOS18>;
  764. bias-disable;
  765. };
  766. };
  767. pinctrl_can1_default: can1-default {
  768. mux {
  769. function = "can1";
  770. groups = "can1_6_grp";
  771. };
  772. conf {
  773. groups = "can1_6_grp";
  774. slew-rate = <SLEW_RATE_SLOW>;
  775. power-source = <IO_STANDARD_LVCMOS18>;
  776. };
  777. conf-rx {
  778. pins = "MIO25";
  779. bias-high-impedance;
  780. };
  781. conf-tx {
  782. pins = "MIO24";
  783. bias-disable;
  784. };
  785. };
  786. pinctrl_sdhci1_default: sdhci1-default {
  787. mux {
  788. groups = "sdio1_0_grp";
  789. function = "sdio1";
  790. };
  791. conf {
  792. groups = "sdio1_0_grp";
  793. slew-rate = <SLEW_RATE_SLOW>;
  794. power-source = <IO_STANDARD_LVCMOS18>;
  795. bias-disable;
  796. };
  797. mux-cd {
  798. groups = "sdio1_cd_0_grp";
  799. function = "sdio1_cd";
  800. };
  801. conf-cd {
  802. groups = "sdio1_cd_0_grp";
  803. bias-high-impedance;
  804. bias-pull-up;
  805. slew-rate = <SLEW_RATE_SLOW>;
  806. power-source = <IO_STANDARD_LVCMOS18>;
  807. };
  808. mux-wp {
  809. groups = "sdio1_wp_0_grp";
  810. function = "sdio1_wp";
  811. };
  812. conf-wp {
  813. groups = "sdio1_wp_0_grp";
  814. bias-high-impedance;
  815. bias-pull-up;
  816. slew-rate = <SLEW_RATE_SLOW>;
  817. power-source = <IO_STANDARD_LVCMOS18>;
  818. };
  819. };
  820. pinctrl_gpio_default: gpio-default {
  821. mux {
  822. function = "gpio0";
  823. groups = "gpio0_22_grp", "gpio0_23_grp";
  824. };
  825. conf {
  826. groups = "gpio0_22_grp", "gpio0_23_grp";
  827. slew-rate = <SLEW_RATE_SLOW>;
  828. power-source = <IO_STANDARD_LVCMOS18>;
  829. };
  830. mux-msp {
  831. function = "gpio0";
  832. groups = "gpio0_13_grp", "gpio0_38_grp";
  833. };
  834. conf-msp {
  835. groups = "gpio0_13_grp", "gpio0_38_grp";
  836. slew-rate = <SLEW_RATE_SLOW>;
  837. power-source = <IO_STANDARD_LVCMOS18>;
  838. };
  839. conf-pull-up {
  840. pins = "MIO22";
  841. bias-pull-up;
  842. };
  843. conf-pull-none {
  844. pins = "MIO13", "MIO23", "MIO38";
  845. bias-disable;
  846. };
  847. };
  848. };
  849. &psgtr {
  850. status = "okay";
  851. /* nc, sata, usb3, dp */
  852. clocks = <&si5341 0 3>, <&si5341 0 2>, <&si5341 0 0>;
  853. clock-names = "ref1", "ref2", "ref3";
  854. };
  855. &qspi {
  856. status = "okay";
  857. flash@0 {
  858. compatible = "m25p80", "jedec,spi-nor"; /* 16MB + 16MB */
  859. #address-cells = <1>;
  860. #size-cells = <1>;
  861. reg = <0x0>;
  862. spi-tx-bus-width = <1>;
  863. spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
  864. spi-max-frequency = <108000000>; /* Based on DC1 spec */
  865. };
  866. };
  867. &rtc {
  868. status = "okay";
  869. };
  870. &sata {
  871. status = "okay";
  872. /* SATA OOB timing settings */
  873. ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
  874. ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
  875. ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
  876. ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
  877. ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
  878. ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
  879. ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
  880. ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
  881. phy-names = "sata-phy";
  882. phys = <&psgtr 3 PHY_TYPE_SATA 1 1>;
  883. };
  884. /* SD1 with level shifter */
  885. &sdhci1 {
  886. status = "okay";
  887. /*
  888. * This property should be removed for supporting UHS mode
  889. */
  890. no-1-8-v;
  891. pinctrl-names = "default";
  892. pinctrl-0 = <&pinctrl_sdhci1_default>;
  893. xlnx,mio-bank = <1>;
  894. };
  895. &uart0 {
  896. status = "okay";
  897. pinctrl-names = "default";
  898. pinctrl-0 = <&pinctrl_uart0_default>;
  899. };
  900. &uart1 {
  901. status = "okay";
  902. pinctrl-names = "default";
  903. pinctrl-0 = <&pinctrl_uart1_default>;
  904. };
  905. /* ULPI SMSC USB3320 */
  906. &usb0 {
  907. status = "okay";
  908. pinctrl-names = "default";
  909. pinctrl-0 = <&pinctrl_usb0_default>;
  910. phy-names = "usb3-phy";
  911. phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
  912. };
  913. &dwc3_0 {
  914. status = "okay";
  915. dr_mode = "host";
  916. snps,usb3_lpm_capable;
  917. maximum-speed = "super-speed";
  918. };
  919. &watchdog0 {
  920. status = "okay";
  921. };
  922. &zynqmp_dpdma {
  923. status = "okay";
  924. };
  925. &zynqmp_dpsub {
  926. status = "okay";
  927. phy-names = "dp-phy0", "dp-phy1";
  928. phys = <&psgtr 1 PHY_TYPE_DP 0 3>,
  929. <&psgtr 0 PHY_TYPE_DP 1 3>;
  930. };