1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP zc1751-xm017-dc3
4 *
5 * (C) Copyright 2016 - 2020, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 */
9
10/dts-v1/;
11
12#include "zynqmp.dtsi"
13#include "zynqmp-clk-ccf.dtsi"
14
15/ {
16	model = "ZynqMP zc1751-xm017-dc3 RevA";
17	compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp";
18
19	aliases {
20		ethernet0 = &gem0;
21		gpio0 = &gpio;
22		i2c0 = &i2c0;
23		i2c1 = &i2c1;
24		mmc0 = &sdhci1;
25		rtc0 = &rtc;
26		serial0 = &uart0;
27		serial1 = &uart1;
28		usb0 = &usb0;
29		usb1 = &usb1;
30	};
31
32	chosen {
33		bootargs = "earlycon";
34		stdout-path = "serial0:115200n8";
35	};
36
37	memory@0 {
38		device_type = "memory";
39		reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
40	};
41};
42
43&fpd_dma_chan1 {
44	status = "okay";
45};
46
47&fpd_dma_chan2 {
48	status = "okay";
49};
50
51&fpd_dma_chan3 {
52	status = "okay";
53};
54
55&fpd_dma_chan4 {
56	status = "okay";
57};
58
59&fpd_dma_chan5 {
60	status = "okay";
61};
62
63&fpd_dma_chan6 {
64	status = "okay";
65};
66
67&fpd_dma_chan7 {
68	status = "okay";
69};
70
71&fpd_dma_chan8 {
72	status = "okay";
73};
74
75&gem0 {
76	status = "okay";
77	phy-handle = <&phy0>;
78	phy-mode = "rgmii-id";
79	phy0: ethernet-phy@0 { /* VSC8211 */
80		reg = <0>;
81	};
82};
83
84&gpio {
85	status = "okay";
86};
87
88/* just eeprom here */
89&i2c0 {
90	status = "okay";
91	clock-frequency = <400000>;
92
93	tca6416_u26: gpio@20 {
94		compatible = "ti,tca6416";
95		reg = <0x20>;
96		gpio-controller;
97		#gpio-cells = <2>;
98		/* IRQ not connected */
99	};
100
101	rtc@68 {
102		compatible = "dallas,ds1339";
103		reg = <0x68>;
104	};
105};
106
107/* eeprom24c02 and SE98A temp chip pca9306 */
108&i2c1 {
109	status = "okay";
110	clock-frequency = <400000>;
111};
112
113/* MT29F64G08AECDBJ4-6 */
114&nand0 {
115	status = "okay";
116	arasan,has-mdma;
117	num-cs = <2>;
118
119	partition@0 {	/* for testing purpose */
120		label = "nand-fsbl-uboot";
121		reg = <0x0 0x0 0x400000>;
122	};
123	partition@1 {	/* for testing purpose */
124		label = "nand-linux";
125		reg = <0x0 0x400000 0x1400000>;
126	};
127	partition@2 {	/* for testing purpose */
128		label = "nand-device-tree";
129		reg = <0x0 0x1800000 0x400000>;
130	};
131	partition@3 {	/* for testing purpose */
132		label = "nand-rootfs";
133		reg = <0x0 0x1C00000 0x1400000>;
134	};
135	partition@4 {	/* for testing purpose */
136		label = "nand-bitstream";
137		reg = <0x0 0x3000000 0x400000>;
138	};
139	partition@5 {	/* for testing purpose */
140		label = "nand-misc";
141		reg = <0x0 0x3400000 0xFCC00000>;
142	};
143
144	partition@6 {	/* for testing purpose */
145		label = "nand1-fsbl-uboot";
146		reg = <0x1 0x0 0x400000>;
147	};
148	partition@7 {	/* for testing purpose */
149		label = "nand1-linux";
150		reg = <0x1 0x400000 0x1400000>;
151	};
152	partition@8 {	/* for testing purpose */
153		label = "nand1-device-tree";
154		reg = <0x1 0x1800000 0x400000>;
155	};
156	partition@9 {	/* for testing purpose */
157		label = "nand1-rootfs";
158		reg = <0x1 0x1C00000 0x1400000>;
159	};
160	partition@10 {	/* for testing purpose */
161		label = "nand1-bitstream";
162		reg = <0x1 0x3000000 0x400000>;
163	};
164	partition@11 {	/* for testing purpose */
165		label = "nand1-misc";
166		reg = <0x1 0x3400000 0xFCC00000>;
167	};
168};
169
170&rtc {
171	status = "okay";
172};
173
174&sata {
175	status = "okay";
176	/* SATA phy OOB timing settings */
177	ceva,p0-cominit-params = /bits/ 8 <0x1B 0x4D 0x18 0x28>;
178	ceva,p0-comwake-params = /bits/ 8 <0x06 0x19 0x08 0x0E>;
179	ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
180	ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
181	ceva,p1-cominit-params = /bits/ 8 <0x1B 0x4D 0x18 0x28>;
182	ceva,p1-comwake-params = /bits/ 8 <0x06 0x19 0x08 0x0E>;
183	ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
184	ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
185};
186
187&sdhci1 { /* emmc with some settings */
188	status = "okay";
189};
190
191/* main */
192&uart0 {
193	status = "okay";
194};
195
196/* DB9 */
197&uart1 {
198	status = "okay";
199};
200
201&usb0 {
202	status = "okay";
203	dr_mode = "host";
204};
205
206/* ULPI SMSC USB3320 */
207&usb1 {
208	status = "okay";
209	dr_mode = "host";
210};
211