zynqmp-zc1751-xm016-dc2.dts 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * dts file for Xilinx ZynqMP zc1751-xm016-dc2
  4. *
  5. * (C) Copyright 2015 - 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/gpio/gpio.h>
  13. #include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
  14. / {
  15. model = "ZynqMP zc1751-xm016-dc2 RevA";
  16. compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp";
  17. aliases {
  18. ethernet0 = &gem2;
  19. i2c0 = &i2c0;
  20. rtc0 = &rtc;
  21. serial0 = &uart0;
  22. serial1 = &uart1;
  23. spi0 = &spi0;
  24. spi1 = &spi1;
  25. usb0 = &usb1;
  26. };
  27. chosen {
  28. bootargs = "earlycon";
  29. stdout-path = "serial0:115200n8";
  30. };
  31. memory@0 {
  32. device_type = "memory";
  33. reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
  34. };
  35. };
  36. &can0 {
  37. status = "okay";
  38. pinctrl-names = "default";
  39. pinctrl-0 = <&pinctrl_can0_default>;
  40. };
  41. &can1 {
  42. status = "okay";
  43. pinctrl-names = "default";
  44. pinctrl-0 = <&pinctrl_can1_default>;
  45. };
  46. &fpd_dma_chan1 {
  47. status = "okay";
  48. };
  49. &fpd_dma_chan2 {
  50. status = "okay";
  51. };
  52. &fpd_dma_chan3 {
  53. status = "okay";
  54. };
  55. &fpd_dma_chan4 {
  56. status = "okay";
  57. };
  58. &fpd_dma_chan5 {
  59. status = "okay";
  60. };
  61. &fpd_dma_chan6 {
  62. status = "okay";
  63. };
  64. &fpd_dma_chan7 {
  65. status = "okay";
  66. };
  67. &fpd_dma_chan8 {
  68. status = "okay";
  69. };
  70. &gem2 {
  71. status = "okay";
  72. phy-handle = <&phy0>;
  73. phy-mode = "rgmii-id";
  74. pinctrl-names = "default";
  75. pinctrl-0 = <&pinctrl_gem2_default>;
  76. phy0: ethernet-phy@5 {
  77. reg = <5>;
  78. ti,rx-internal-delay = <0x8>;
  79. ti,tx-internal-delay = <0xa>;
  80. ti,fifo-depth = <0x1>;
  81. ti,dp83867-rxctrl-strap-quirk;
  82. };
  83. };
  84. &gpio {
  85. status = "okay";
  86. };
  87. &i2c0 {
  88. status = "okay";
  89. clock-frequency = <400000>;
  90. pinctrl-names = "default", "gpio";
  91. pinctrl-0 = <&pinctrl_i2c0_default>;
  92. pinctrl-1 = <&pinctrl_i2c0_gpio>;
  93. scl-gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
  94. sda-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
  95. tca6416_u26: gpio@20 {
  96. compatible = "ti,tca6416";
  97. reg = <0x20>;
  98. gpio-controller;
  99. #gpio-cells = <2>;
  100. /* IRQ not connected */
  101. };
  102. rtc@68 {
  103. compatible = "dallas,ds1339";
  104. reg = <0x68>;
  105. };
  106. };
  107. &nand0 {
  108. status = "okay";
  109. pinctrl-names = "default";
  110. pinctrl-0 = <&pinctrl_nand0_default>;
  111. arasan,has-mdma;
  112. nand@0 {
  113. reg = <0x0>;
  114. #address-cells = <0x2>;
  115. #size-cells = <0x1>;
  116. nand-ecc-mode = "soft";
  117. nand-ecc-algo = "bch";
  118. nand-rb = <0>;
  119. label = "main-storage-0";
  120. };
  121. nand@1 {
  122. reg = <0x1>;
  123. #address-cells = <0x2>;
  124. #size-cells = <0x1>;
  125. nand-ecc-mode = "soft";
  126. nand-ecc-algo = "bch";
  127. nand-rb = <0>;
  128. label = "main-storage-1";
  129. };
  130. };
  131. &pinctrl0 {
  132. status = "okay";
  133. pinctrl_can0_default: can0-default {
  134. mux {
  135. function = "can0";
  136. groups = "can0_9_grp";
  137. };
  138. conf {
  139. groups = "can0_9_grp";
  140. slew-rate = <SLEW_RATE_SLOW>;
  141. power-source = <IO_STANDARD_LVCMOS18>;
  142. };
  143. conf-rx {
  144. pins = "MIO38";
  145. bias-high-impedance;
  146. };
  147. conf-tx {
  148. pins = "MIO39";
  149. bias-disable;
  150. };
  151. };
  152. pinctrl_can1_default: can1-default {
  153. mux {
  154. function = "can1";
  155. groups = "can1_8_grp";
  156. };
  157. conf {
  158. groups = "can1_8_grp";
  159. slew-rate = <SLEW_RATE_SLOW>;
  160. power-source = <IO_STANDARD_LVCMOS18>;
  161. };
  162. conf-rx {
  163. pins = "MIO33";
  164. bias-high-impedance;
  165. };
  166. conf-tx {
  167. pins = "MIO32";
  168. bias-disable;
  169. };
  170. };
  171. pinctrl_i2c0_default: i2c0-default {
  172. mux {
  173. groups = "i2c0_1_grp";
  174. function = "i2c0";
  175. };
  176. conf {
  177. groups = "i2c0_1_grp";
  178. bias-pull-up;
  179. slew-rate = <SLEW_RATE_SLOW>;
  180. power-source = <IO_STANDARD_LVCMOS18>;
  181. };
  182. };
  183. pinctrl_i2c0_gpio: i2c0-gpio {
  184. mux {
  185. groups = "gpio0_6_grp", "gpio0_7_grp";
  186. function = "gpio0";
  187. };
  188. conf {
  189. groups = "gpio0_6_grp", "gpio0_7_grp";
  190. slew-rate = <SLEW_RATE_SLOW>;
  191. power-source = <IO_STANDARD_LVCMOS18>;
  192. };
  193. };
  194. pinctrl_uart0_default: uart0-default {
  195. mux {
  196. groups = "uart0_10_grp";
  197. function = "uart0";
  198. };
  199. conf {
  200. groups = "uart0_10_grp";
  201. slew-rate = <SLEW_RATE_SLOW>;
  202. power-source = <IO_STANDARD_LVCMOS18>;
  203. };
  204. conf-rx {
  205. pins = "MIO42";
  206. bias-high-impedance;
  207. };
  208. conf-tx {
  209. pins = "MIO43";
  210. bias-disable;
  211. };
  212. };
  213. pinctrl_uart1_default: uart1-default {
  214. mux {
  215. groups = "uart1_10_grp";
  216. function = "uart1";
  217. };
  218. conf {
  219. groups = "uart1_10_grp";
  220. slew-rate = <SLEW_RATE_SLOW>;
  221. power-source = <IO_STANDARD_LVCMOS18>;
  222. };
  223. conf-rx {
  224. pins = "MIO41";
  225. bias-high-impedance;
  226. };
  227. conf-tx {
  228. pins = "MIO40";
  229. bias-disable;
  230. };
  231. };
  232. pinctrl_usb1_default: usb1-default {
  233. mux {
  234. groups = "usb1_0_grp";
  235. function = "usb1";
  236. };
  237. conf {
  238. groups = "usb1_0_grp";
  239. slew-rate = <SLEW_RATE_SLOW>;
  240. power-source = <IO_STANDARD_LVCMOS18>;
  241. };
  242. conf-rx {
  243. pins = "MIO64", "MIO65", "MIO67";
  244. bias-high-impedance;
  245. };
  246. conf-tx {
  247. pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
  248. "MIO72", "MIO73", "MIO74", "MIO75";
  249. bias-disable;
  250. };
  251. };
  252. pinctrl_gem2_default: gem2-default {
  253. mux {
  254. function = "ethernet2";
  255. groups = "ethernet2_0_grp";
  256. };
  257. conf {
  258. groups = "ethernet2_0_grp";
  259. slew-rate = <SLEW_RATE_SLOW>;
  260. power-source = <IO_STANDARD_LVCMOS18>;
  261. };
  262. conf-rx {
  263. pins = "MIO58", "MIO59", "MIO60", "MIO61", "MIO62",
  264. "MIO63";
  265. bias-high-impedance;
  266. low-power-disable;
  267. };
  268. conf-tx {
  269. pins = "MIO52", "MIO53", "MIO54", "MIO55", "MIO56",
  270. "MIO57";
  271. bias-disable;
  272. low-power-enable;
  273. };
  274. mux-mdio {
  275. function = "mdio2";
  276. groups = "mdio2_0_grp";
  277. };
  278. conf-mdio {
  279. groups = "mdio2_0_grp";
  280. slew-rate = <SLEW_RATE_SLOW>;
  281. power-source = <IO_STANDARD_LVCMOS18>;
  282. bias-disable;
  283. };
  284. };
  285. pinctrl_nand0_default: nand0-default {
  286. mux {
  287. groups = "nand0_0_grp";
  288. function = "nand0";
  289. };
  290. conf {
  291. groups = "nand0_0_grp";
  292. bias-pull-up;
  293. };
  294. mux-ce {
  295. groups = "nand0_ce_0_grp";
  296. function = "nand0_ce";
  297. };
  298. conf-ce {
  299. groups = "nand0_ce_0_grp";
  300. bias-pull-up;
  301. };
  302. mux-rb {
  303. groups = "nand0_rb_0_grp";
  304. function = "nand0_rb";
  305. };
  306. conf-rb {
  307. groups = "nand0_rb_0_grp";
  308. bias-pull-up;
  309. };
  310. mux-dqs {
  311. groups = "nand0_dqs_0_grp";
  312. function = "nand0_dqs";
  313. };
  314. conf-dqs {
  315. groups = "nand0_dqs_0_grp";
  316. bias-pull-up;
  317. };
  318. };
  319. pinctrl_spi0_default: spi0-default {
  320. mux {
  321. groups = "spi0_0_grp";
  322. function = "spi0";
  323. };
  324. conf {
  325. groups = "spi0_0_grp";
  326. bias-disable;
  327. slew-rate = <SLEW_RATE_SLOW>;
  328. power-source = <IO_STANDARD_LVCMOS18>;
  329. };
  330. mux-cs {
  331. groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
  332. "spi0_ss_2_grp";
  333. function = "spi0_ss";
  334. };
  335. conf-cs {
  336. groups = "spi0_ss_0_grp", "spi0_ss_1_grp",
  337. "spi0_ss_2_grp";
  338. bias-disable;
  339. };
  340. };
  341. pinctrl_spi1_default: spi1-default {
  342. mux {
  343. groups = "spi1_3_grp";
  344. function = "spi1";
  345. };
  346. conf {
  347. groups = "spi1_3_grp";
  348. bias-disable;
  349. slew-rate = <SLEW_RATE_SLOW>;
  350. power-source = <IO_STANDARD_LVCMOS18>;
  351. };
  352. mux-cs {
  353. groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
  354. "spi1_ss_11_grp";
  355. function = "spi1_ss";
  356. };
  357. conf-cs {
  358. groups = "spi1_ss_9_grp", "spi1_ss_10_grp",
  359. "spi1_ss_11_grp";
  360. bias-disable;
  361. };
  362. };
  363. };
  364. &rtc {
  365. status = "okay";
  366. };
  367. &spi0 {
  368. status = "okay";
  369. num-cs = <1>;
  370. pinctrl-names = "default";
  371. pinctrl-0 = <&pinctrl_spi0_default>;
  372. spi0_flash0: flash@0 {
  373. #address-cells = <1>;
  374. #size-cells = <1>;
  375. compatible = "sst,sst25wf080", "jedec,spi-nor";
  376. spi-max-frequency = <50000000>;
  377. reg = <0>;
  378. partition@0 {
  379. label = "spi0-data";
  380. reg = <0x0 0x100000>;
  381. };
  382. };
  383. };
  384. &spi1 {
  385. status = "okay";
  386. num-cs = <1>;
  387. pinctrl-names = "default";
  388. pinctrl-0 = <&pinctrl_spi1_default>;
  389. spi1_flash0: flash@0 {
  390. #address-cells = <1>;
  391. #size-cells = <1>;
  392. compatible = "atmel,at45db041e", "atmel,at45", "atmel,dataflash";
  393. spi-max-frequency = <20000000>;
  394. reg = <0>;
  395. partition@0 {
  396. label = "spi1-data";
  397. reg = <0x0 0x84000>;
  398. };
  399. };
  400. };
  401. /* ULPI SMSC USB3320 */
  402. &usb1 {
  403. status = "okay";
  404. pinctrl-names = "default";
  405. pinctrl-0 = <&pinctrl_usb1_default>;
  406. };
  407. &dwc3_1 {
  408. status = "okay";
  409. dr_mode = "host";
  410. snps,usb3_lpm_capable;
  411. maximum-speed = "super-speed";
  412. };
  413. &uart0 {
  414. status = "okay";
  415. pinctrl-names = "default";
  416. pinctrl-0 = <&pinctrl_uart0_default>;
  417. };
  418. &uart1 {
  419. status = "okay";
  420. pinctrl-names = "default";
  421. pinctrl-0 = <&pinctrl_uart1_default>;
  422. };