zynqmp-zc1751-xm019-dc5.dts 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * dts file for Xilinx ZynqMP zc1751-xm019-dc5
  4. *
  5. * (C) Copyright 2015 - 2021, Xilinx, Inc.
  6. *
  7. * Siva Durga Prasad <[email protected]>
  8. * Michal Simek <[email protected]>
  9. */
  10. /dts-v1/;
  11. #include "zynqmp.dtsi"
  12. #include "zynqmp-clk-ccf.dtsi"
  13. #include <dt-bindings/gpio/gpio.h>
  14. #include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
  15. / {
  16. model = "ZynqMP zc1751-xm019-dc5 RevA";
  17. compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp";
  18. aliases {
  19. ethernet0 = &gem1;
  20. i2c0 = &i2c0;
  21. i2c1 = &i2c1;
  22. mmc0 = &sdhci0;
  23. serial0 = &uart0;
  24. serial1 = &uart1;
  25. };
  26. chosen {
  27. bootargs = "earlycon";
  28. stdout-path = "serial0:115200n8";
  29. };
  30. memory@0 {
  31. device_type = "memory";
  32. reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
  33. };
  34. };
  35. &fpd_dma_chan1 {
  36. status = "okay";
  37. };
  38. &fpd_dma_chan2 {
  39. status = "okay";
  40. };
  41. &fpd_dma_chan3 {
  42. status = "okay";
  43. };
  44. &fpd_dma_chan4 {
  45. status = "okay";
  46. };
  47. &fpd_dma_chan5 {
  48. status = "okay";
  49. };
  50. &fpd_dma_chan6 {
  51. status = "okay";
  52. };
  53. &fpd_dma_chan7 {
  54. status = "okay";
  55. };
  56. &fpd_dma_chan8 {
  57. status = "okay";
  58. };
  59. &gem1 {
  60. status = "okay";
  61. phy-handle = <&phy0>;
  62. phy-mode = "rgmii-id";
  63. pinctrl-names = "default";
  64. pinctrl-0 = <&pinctrl_gem1_default>;
  65. phy0: ethernet-phy@0 {
  66. reg = <0>;
  67. };
  68. };
  69. &gpio {
  70. status = "okay";
  71. };
  72. &i2c0 {
  73. status = "okay";
  74. pinctrl-names = "default", "gpio";
  75. pinctrl-0 = <&pinctrl_i2c0_default>;
  76. pinctrl-1 = <&pinctrl_i2c0_gpio>;
  77. scl-gpios = <&gpio 74 GPIO_ACTIVE_HIGH>;
  78. sda-gpios = <&gpio 75 GPIO_ACTIVE_HIGH>;
  79. };
  80. &i2c1 {
  81. status = "okay";
  82. pinctrl-names = "default", "gpio";
  83. pinctrl-0 = <&pinctrl_i2c1_default>;
  84. pinctrl-1 = <&pinctrl_i2c1_gpio>;
  85. scl-gpios = <&gpio 76 GPIO_ACTIVE_HIGH>;
  86. sda-gpios = <&gpio 77 GPIO_ACTIVE_HIGH>;
  87. };
  88. &pinctrl0 {
  89. status = "okay";
  90. pinctrl_i2c0_default: i2c0-default {
  91. mux {
  92. groups = "i2c0_18_grp";
  93. function = "i2c0";
  94. };
  95. conf {
  96. groups = "i2c0_18_grp";
  97. bias-pull-up;
  98. slew-rate = <SLEW_RATE_SLOW>;
  99. power-source = <IO_STANDARD_LVCMOS18>;
  100. };
  101. };
  102. pinctrl_i2c0_gpio: i2c0-gpio {
  103. mux {
  104. groups = "gpio0_74_grp", "gpio0_75_grp";
  105. function = "gpio0";
  106. };
  107. conf {
  108. groups = "gpio0_74_grp", "gpio0_75_grp";
  109. slew-rate = <SLEW_RATE_SLOW>;
  110. power-source = <IO_STANDARD_LVCMOS18>;
  111. };
  112. };
  113. pinctrl_i2c1_default: i2c1-default {
  114. mux {
  115. groups = "i2c1_19_grp";
  116. function = "i2c1";
  117. };
  118. conf {
  119. groups = "i2c1_19_grp";
  120. bias-pull-up;
  121. slew-rate = <SLEW_RATE_SLOW>;
  122. power-source = <IO_STANDARD_LVCMOS18>;
  123. };
  124. };
  125. pinctrl_i2c1_gpio: i2c1-gpio {
  126. mux {
  127. groups = "gpio0_76_grp", "gpio0_77_grp";
  128. function = "gpio0";
  129. };
  130. conf {
  131. groups = "gpio0_76_grp", "gpio0_77_grp";
  132. slew-rate = <SLEW_RATE_SLOW>;
  133. power-source = <IO_STANDARD_LVCMOS18>;
  134. };
  135. };
  136. pinctrl_uart0_default: uart0-default {
  137. mux {
  138. groups = "uart0_17_grp";
  139. function = "uart0";
  140. };
  141. conf {
  142. groups = "uart0_17_grp";
  143. slew-rate = <SLEW_RATE_SLOW>;
  144. power-source = <IO_STANDARD_LVCMOS18>;
  145. };
  146. conf-rx {
  147. pins = "MIO70";
  148. bias-high-impedance;
  149. };
  150. conf-tx {
  151. pins = "MIO71";
  152. bias-disable;
  153. };
  154. };
  155. pinctrl_uart1_default: uart1-default {
  156. mux {
  157. groups = "uart1_18_grp";
  158. function = "uart1";
  159. };
  160. conf {
  161. groups = "uart1_18_grp";
  162. slew-rate = <SLEW_RATE_SLOW>;
  163. power-source = <IO_STANDARD_LVCMOS18>;
  164. };
  165. conf-rx {
  166. pins = "MIO73";
  167. bias-high-impedance;
  168. };
  169. conf-tx {
  170. pins = "MIO72";
  171. bias-disable;
  172. };
  173. };
  174. pinctrl_gem1_default: gem1-default {
  175. mux {
  176. function = "ethernet1";
  177. groups = "ethernet1_0_grp";
  178. };
  179. conf {
  180. groups = "ethernet1_0_grp";
  181. slew-rate = <SLEW_RATE_SLOW>;
  182. power-source = <IO_STANDARD_LVCMOS18>;
  183. };
  184. conf-rx {
  185. pins = "MIO44", "MIO45", "MIO46", "MIO47", "MIO48",
  186. "MIO49";
  187. bias-high-impedance;
  188. low-power-disable;
  189. };
  190. conf-tx {
  191. pins = "MIO38", "MIO39", "MIO40", "MIO41", "MIO42",
  192. "MIO43";
  193. bias-disable;
  194. low-power-enable;
  195. };
  196. mux-mdio {
  197. function = "mdio1";
  198. groups = "mdio1_0_grp";
  199. };
  200. conf-mdio {
  201. groups = "mdio1_0_grp";
  202. slew-rate = <SLEW_RATE_SLOW>;
  203. power-source = <IO_STANDARD_LVCMOS18>;
  204. bias-disable;
  205. };
  206. };
  207. pinctrl_sdhci0_default: sdhci0-default {
  208. mux {
  209. groups = "sdio0_0_grp";
  210. function = "sdio0";
  211. };
  212. conf {
  213. groups = "sdio0_0_grp";
  214. slew-rate = <SLEW_RATE_SLOW>;
  215. power-source = <IO_STANDARD_LVCMOS18>;
  216. bias-disable;
  217. };
  218. mux-cd {
  219. groups = "sdio0_cd_0_grp";
  220. function = "sdio0_cd";
  221. };
  222. conf-cd {
  223. groups = "sdio0_cd_0_grp";
  224. bias-high-impedance;
  225. bias-pull-up;
  226. slew-rate = <SLEW_RATE_SLOW>;
  227. power-source = <IO_STANDARD_LVCMOS18>;
  228. };
  229. mux-wp {
  230. groups = "sdio0_wp_0_grp";
  231. function = "sdio0_wp";
  232. };
  233. conf-wp {
  234. groups = "sdio0_wp_0_grp";
  235. bias-high-impedance;
  236. bias-pull-up;
  237. slew-rate = <SLEW_RATE_SLOW>;
  238. power-source = <IO_STANDARD_LVCMOS18>;
  239. };
  240. };
  241. pinctrl_watchdog0_default: watchdog0-default {
  242. mux-clk {
  243. groups = "swdt0_clk_1_grp";
  244. function = "swdt0_clk";
  245. };
  246. conf-clk {
  247. groups = "swdt0_clk_1_grp";
  248. bias-pull-up;
  249. };
  250. mux-rst {
  251. groups = "swdt0_rst_1_grp";
  252. function = "swdt0_rst";
  253. };
  254. conf-rst {
  255. groups = "swdt0_rst_1_grp";
  256. bias-disable;
  257. slew-rate = <SLEW_RATE_SLOW>;
  258. };
  259. };
  260. pinctrl_ttc0_default: ttc0-default {
  261. mux-clk {
  262. groups = "ttc0_clk_0_grp";
  263. function = "ttc0_clk";
  264. };
  265. conf-clk {
  266. groups = "ttc0_clk_0_grp";
  267. bias-pull-up;
  268. };
  269. mux-wav {
  270. groups = "ttc0_wav_0_grp";
  271. function = "ttc0_wav";
  272. };
  273. conf-wav {
  274. groups = "ttc0_wav_0_grp";
  275. bias-disable;
  276. slew-rate = <SLEW_RATE_SLOW>;
  277. };
  278. };
  279. pinctrl_ttc1_default: ttc1-default {
  280. mux-clk {
  281. groups = "ttc1_clk_0_grp";
  282. function = "ttc1_clk";
  283. };
  284. conf-clk {
  285. groups = "ttc1_clk_0_grp";
  286. bias-pull-up;
  287. };
  288. mux-wav {
  289. groups = "ttc1_wav_0_grp";
  290. function = "ttc1_wav";
  291. };
  292. conf-wav {
  293. groups = "ttc1_wav_0_grp";
  294. bias-disable;
  295. slew-rate = <SLEW_RATE_SLOW>;
  296. };
  297. };
  298. pinctrl_ttc2_default: ttc2-default {
  299. mux-clk {
  300. groups = "ttc2_clk_0_grp";
  301. function = "ttc2_clk";
  302. };
  303. conf-clk {
  304. groups = "ttc2_clk_0_grp";
  305. bias-pull-up;
  306. };
  307. mux-wav {
  308. groups = "ttc2_wav_0_grp";
  309. function = "ttc2_wav";
  310. };
  311. conf-wav {
  312. groups = "ttc2_wav_0_grp";
  313. bias-disable;
  314. slew-rate = <SLEW_RATE_SLOW>;
  315. };
  316. };
  317. pinctrl_ttc3_default: ttc3-default {
  318. mux-clk {
  319. groups = "ttc3_clk_0_grp";
  320. function = "ttc3_clk";
  321. };
  322. conf-clk {
  323. groups = "ttc3_clk_0_grp";
  324. bias-pull-up;
  325. };
  326. mux-wav {
  327. groups = "ttc3_wav_0_grp";
  328. function = "ttc3_wav";
  329. };
  330. conf-wav {
  331. groups = "ttc3_wav_0_grp";
  332. bias-disable;
  333. slew-rate = <SLEW_RATE_SLOW>;
  334. };
  335. };
  336. };
  337. &sdhci0 {
  338. status = "okay";
  339. pinctrl-names = "default";
  340. pinctrl-0 = <&pinctrl_sdhci0_default>;
  341. no-1-8-v;
  342. xlnx,mio-bank = <0>;
  343. };
  344. &ttc0 {
  345. status = "okay";
  346. pinctrl-names = "default";
  347. pinctrl-0 = <&pinctrl_ttc0_default>;
  348. };
  349. &ttc1 {
  350. status = "okay";
  351. pinctrl-names = "default";
  352. pinctrl-0 = <&pinctrl_ttc1_default>;
  353. };
  354. &ttc2 {
  355. status = "okay";
  356. pinctrl-names = "default";
  357. pinctrl-0 = <&pinctrl_ttc2_default>;
  358. };
  359. &ttc3 {
  360. status = "okay";
  361. pinctrl-names = "default";
  362. pinctrl-0 = <&pinctrl_ttc3_default>;
  363. };
  364. &uart0 {
  365. status = "okay";
  366. pinctrl-names = "default";
  367. pinctrl-0 = <&pinctrl_uart0_default>;
  368. };
  369. &uart1 {
  370. status = "okay";
  371. pinctrl-names = "default";
  372. pinctrl-0 = <&pinctrl_uart1_default>;
  373. };
  374. &watchdog0 {
  375. status = "okay";
  376. pinctrl-names = "default";
  377. pinctrl-0 = <&pinctrl_watchdog0_default>;
  378. };