blob: e05357fd6b903f278a4ef0ee1760904988b0226e [file] [log] [blame]
Michal Simek090a2d72018-03-27 10:36:39 +02001// SPDX-License-Identifier: GPL-2.0+
Michal Simek5fc61c82016-04-07 15:58:23 +02002/*
Michal Simek0bfbb212017-11-02 10:21:08 +01003 * dts file for Xilinx ZynqMP ZCU102 RevA
Michal Simek5fc61c82016-04-07 15:58:23 +02004 *
Michal Simek090a2d72018-03-27 10:36:39 +02005 * (C) Copyright 2015 - 2018, Xilinx, Inc.
Michal Simek5fc61c82016-04-07 15:58:23 +02006 *
7 * Michal Simek <michal.simek@xilinx.com>
Michal Simek5fc61c82016-04-07 15:58:23 +02008 */
9
10/dts-v1/;
11
12#include "zynqmp.dtsi"
Michal Simeka6604b62017-12-08 14:50:42 +010013#include "zynqmp-clk-ccf.dtsi"
Michal Simekc87c7b22018-03-27 12:13:13 +020014#include <dt-bindings/input/input.h>
Michal Simek7df37832016-05-25 20:09:35 +020015#include <dt-bindings/gpio/gpio.h>
Michal Simekd5ba4f22017-12-01 15:50:31 +010016#include <dt-bindings/phy/phy.h>
Michal Simek5fc61c82016-04-07 15:58:23 +020017
18/ {
19 model = "ZynqMP ZCU102 RevA";
Michal Simek40d839a2017-07-20 12:38:27 +020020 compatible = "xlnx,zynqmp-zcu102-revA", "xlnx,zynqmp-zcu102", "xlnx,zynqmp";
Michal Simek5fc61c82016-04-07 15:58:23 +020021
22 aliases {
23 ethernet0 = &gem3;
24 gpio0 = &gpio;
25 i2c0 = &i2c0;
26 i2c1 = &i2c1;
27 mmc0 = &sdhci1;
28 rtc0 = &rtc;
29 serial0 = &uart0;
30 serial1 = &uart1;
Michal Simekde29d542016-09-09 08:46:39 +020031 serial2 = &dcc;
Michal Simek5fc61c82016-04-07 15:58:23 +020032 spi0 = &qspi;
33 usb0 = &usb0;
34 };
35
36 chosen {
37 bootargs = "earlycon";
38 stdout-path = "serial0:115200n8";
Michal Simek53b97e62019-01-18 09:10:39 +010039 xlnx,eeprom = &eeprom;
Michal Simek5fc61c82016-04-07 15:58:23 +020040 };
41
Michal Simek79c1cbf2016-11-11 13:21:04 +010042 memory@0 {
Michal Simek5fc61c82016-04-07 15:58:23 +020043 device_type = "memory";
44 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
45 };
Michal Simekbe3c95f2016-04-20 13:12:25 +020046
Michal Simek7df37832016-05-25 20:09:35 +020047 gpio-keys {
48 compatible = "gpio-keys";
Michal Simek7df37832016-05-25 20:09:35 +020049 autorepeat;
50 sw19 {
51 label = "sw19";
52 gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
Michal Simekc87c7b22018-03-27 12:13:13 +020053 linux,code = <KEY_DOWN>;
Michal Simek7df37832016-05-25 20:09:35 +020054 gpio-key,wakeup;
55 autorepeat;
56 };
57 };
58
Michal Simekbe3c95f2016-04-20 13:12:25 +020059 leds {
60 compatible = "gpio-leds";
61 heartbeat_led {
62 label = "heartbeat";
Chirag Parekhcc406a62017-01-25 07:00:57 -080063 gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
Michal Simekbe3c95f2016-04-20 13:12:25 +020064 linux,default-trigger = "heartbeat";
65 };
66 };
Michal Simek41a41a42019-08-16 10:42:42 +020067
68 ina226-u76 {
69 compatible = "iio-hwmon";
70 io-channels = <&u76 0>, <&u76 1>, <&u76 2>, <&u76 3>;
71 };
72 ina226-u77 {
73 compatible = "iio-hwmon";
74 io-channels = <&u77 0>, <&u77 1>, <&u77 2>, <&u77 3>;
75 };
76 ina226-u78 {
77 compatible = "iio-hwmon";
78 io-channels = <&u78 0>, <&u78 1>, <&u78 2>, <&u78 3>;
79 };
80 ina226-u87 {
81 compatible = "iio-hwmon";
82 io-channels = <&u87 0>, <&u87 1>, <&u87 2>, <&u87 3>;
83 };
84 ina226-u85 {
85 compatible = "iio-hwmon";
86 io-channels = <&u85 0>, <&u85 1>, <&u85 2>, <&u85 3>;
87 };
88 ina226-u86 {
89 compatible = "iio-hwmon";
90 io-channels = <&u86 0>, <&u86 1>, <&u86 2>, <&u86 3>;
91 };
92 ina226-u93 {
93 compatible = "iio-hwmon";
94 io-channels = <&u93 0>, <&u93 1>, <&u93 2>, <&u93 3>;
95 };
96 ina226-u88 {
97 compatible = "iio-hwmon";
98 io-channels = <&u88 0>, <&u88 1>, <&u88 2>, <&u88 3>;
99 };
100 ina226-u15 {
101 compatible = "iio-hwmon";
102 io-channels = <&u15 0>, <&u15 1>, <&u15 2>, <&u15 3>;
103 };
104 ina226-u92 {
105 compatible = "iio-hwmon";
106 io-channels = <&u92 0>, <&u92 1>, <&u92 2>, <&u92 3>;
107 };
108 ina226-u79 {
109 compatible = "iio-hwmon";
110 io-channels = <&u79 0>, <&u79 1>, <&u79 2>, <&u79 3>;
111 };
112 ina226-u81 {
113 compatible = "iio-hwmon";
114 io-channels = <&u81 0>, <&u81 1>, <&u81 2>, <&u81 3>;
115 };
116 ina226-u80 {
117 compatible = "iio-hwmon";
118 io-channels = <&u80 0>, <&u80 1>, <&u80 2>, <&u80 3>;
119 };
120 ina226-u84 {
121 compatible = "iio-hwmon";
122 io-channels = <&u84 0>, <&u84 1>, <&u84 2>, <&u84 3>;
123 };
124 ina226-u16 {
125 compatible = "iio-hwmon";
126 io-channels = <&u16 0>, <&u16 1>, <&u16 2>, <&u16 3>;
127 };
128 ina226-u65 {
129 compatible = "iio-hwmon";
130 io-channels = <&u65 0>, <&u65 1>, <&u65 2>, <&u65 3>;
131 };
132 ina226-u74 {
133 compatible = "iio-hwmon";
134 io-channels = <&u74 0>, <&u74 1>, <&u74 2>, <&u74 3>;
135 };
136 ina226-u75 {
137 compatible = "iio-hwmon";
138 io-channels = <&u75 0>, <&u75 1>, <&u75 2>, <&u75 3>;
139 };
Michal Simek5fc61c82016-04-07 15:58:23 +0200140};
141
142&can1 {
143 status = "okay";
144};
145
Michal Simekde29d542016-09-09 08:46:39 +0200146&dcc {
147 status = "okay";
148};
149
Michal Simek5fc61c82016-04-07 15:58:23 +0200150&fpd_dma_chan1 {
151 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200152};
153
154&fpd_dma_chan2 {
155 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200156};
157
158&fpd_dma_chan3 {
159 status = "okay";
160};
161
162&fpd_dma_chan4 {
163 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200164};
165
166&fpd_dma_chan5 {
167 status = "okay";
168};
169
170&fpd_dma_chan6 {
171 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200172};
173
174&fpd_dma_chan7 {
175 status = "okay";
176};
177
178&fpd_dma_chan8 {
179 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200180};
181
182&gem3 {
183 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200184 phy-handle = <&phy0>;
185 phy-mode = "rgmii-id";
Michal Simek393decf2019-08-08 12:44:22 +0200186 phy0: ethernet-phy@21 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200187 reg = <21>;
188 ti,rx-internal-delay = <0x8>;
189 ti,tx-internal-delay = <0xa>;
190 ti,fifo-depth = <0x1>;
Harini Katakam991a1612019-02-13 17:02:21 +0530191 ti,dp83867-rxctrl-strap-quirk;
Harini Katakam4d367cd2019-03-13 19:41:19 +0530192 /* reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; */
Michal Simek5fc61c82016-04-07 15:58:23 +0200193 };
194};
195
196&gpio {
197 status = "okay";
198};
199
200&gpu {
201 status = "okay";
202};
203
204&i2c0 {
205 status = "okay";
206 clock-frequency = <400000>;
207
208 tca6416_u97: gpio@20 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200209 compatible = "ti,tca6416";
210 reg = <0x20>;
211 gpio-controller;
212 #gpio-cells = <2>;
213 /*
214 * IRQ not connected
215 * Lines:
216 * 0 - PS_GTR_LAN_SEL0
217 * 1 - PS_GTR_LAN_SEL1
218 * 2 - PS_GTR_LAN_SEL2
219 * 3 - PS_GTR_LAN_SEL3
220 * 4 - PCI_CLK_DIR_SEL
221 * 5 - IIC_MUX_RESET_B
222 * 6 - GEM3_EXP_RESET_B
223 * 7, 10 - 17 - not connected
224 */
225
226 gtr_sel0 {
227 gpio-hog;
228 gpios = <0 0>;
Bharat Kumar Gogadae6464352017-01-30 12:06:02 +0530229 output-low; /* PCIE = 0, DP = 1 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200230 line-name = "sel0";
231 };
232 gtr_sel1 {
233 gpio-hog;
234 gpios = <1 0>;
235 output-high; /* PCIE = 0, DP = 1 */
236 line-name = "sel1";
237 };
238 gtr_sel2 {
239 gpio-hog;
240 gpios = <2 0>;
241 output-high; /* PCIE = 0, USB0 = 1 */
242 line-name = "sel2";
243 };
244 gtr_sel3 {
245 gpio-hog;
246 gpios = <3 0>;
247 output-high; /* PCIE = 0, SATA = 1 */
248 line-name = "sel3";
249 };
250 };
251
Michal Simekd45b4402018-03-27 10:47:26 +0200252 tca6416_u61: gpio@21 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200253 compatible = "ti,tca6416";
254 reg = <0x21>;
255 gpio-controller;
256 #gpio-cells = <2>;
257 /*
258 * IRQ not connected
259 * Lines:
260 * 0 - VCCPSPLL_EN
261 * 1 - MGTRAVCC_EN
262 * 2 - MGTRAVTT_EN
263 * 3 - VCCPSDDRPLL_EN
264 * 4 - MIO26_PMU_INPUT_LS
265 * 5 - PL_PMBUS_ALERT
266 * 6 - PS_PMBUS_ALERT
267 * 7 - MAXIM_PMBUS_ALERT
268 * 10 - PL_DDR4_VTERM_EN
269 * 11 - PL_DDR4_VPP_2V5_EN
270 * 12 - PS_DIMM_VDDQ_TO_PSVCCO_ON
271 * 13 - PS_DIMM_SUSPEND_EN
272 * 14 - PS_DDR4_VTERM_EN
273 * 15 - PS_DDR4_VPP_2V5_EN
274 * 16 - 17 - not connected
275 */
276 };
277
Michal Simek2fde09e2018-03-27 10:38:08 +0200278 i2c-mux@75 { /* u60 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200279 compatible = "nxp,pca9544";
280 #address-cells = <1>;
281 #size-cells = <0>;
282 reg = <0x75>;
Michal Simekd45b4402018-03-27 10:47:26 +0200283 i2c@0 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200284 #address-cells = <1>;
285 #size-cells = <0>;
286 reg = <0>;
287 /* PS_PMBUS */
Michal Simek41a41a42019-08-16 10:42:42 +0200288 u76: ina226@40 { /* u76 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200289 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200290 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200291 reg = <0x40>;
292 shunt-resistor = <5000>;
293 };
Michal Simek41a41a42019-08-16 10:42:42 +0200294 u77: ina226@41 { /* u77 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200295 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200296 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200297 reg = <0x41>;
298 shunt-resistor = <5000>;
299 };
Michal Simek41a41a42019-08-16 10:42:42 +0200300 u78: ina226@42 { /* u78 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200301 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200302 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200303 reg = <0x42>;
304 shunt-resistor = <5000>;
305 };
Michal Simek41a41a42019-08-16 10:42:42 +0200306 u87: ina226@43 { /* u87 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200307 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200308 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200309 reg = <0x43>;
310 shunt-resistor = <5000>;
311 };
Michal Simek41a41a42019-08-16 10:42:42 +0200312 u85: ina226@44 { /* u85 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200313 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200314 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200315 reg = <0x44>;
316 shunt-resistor = <5000>;
317 };
Michal Simek41a41a42019-08-16 10:42:42 +0200318 u86: ina226@45 { /* u86 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200319 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200320 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200321 reg = <0x45>;
322 shunt-resistor = <5000>;
323 };
Michal Simek41a41a42019-08-16 10:42:42 +0200324 u93: ina226@46 { /* u93 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200325 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200326 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200327 reg = <0x46>;
328 shunt-resistor = <5000>;
329 };
Michal Simek41a41a42019-08-16 10:42:42 +0200330 u88: ina226@47 { /* u88 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200331 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200332 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200333 reg = <0x47>;
334 shunt-resistor = <5000>;
335 };
Michal Simek41a41a42019-08-16 10:42:42 +0200336 u15: ina226@4a { /* u15 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200337 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200338 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200339 reg = <0x4a>;
340 shunt-resistor = <5000>;
341 };
Michal Simek41a41a42019-08-16 10:42:42 +0200342 u92: ina226@4b { /* u92 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200343 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200344 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200345 reg = <0x4b>;
346 shunt-resistor = <5000>;
347 };
348 };
Michal Simekd45b4402018-03-27 10:47:26 +0200349 i2c@1 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200350 #address-cells = <1>;
351 #size-cells = <0>;
352 reg = <1>;
353 /* PL_PMBUS */
Michal Simek41a41a42019-08-16 10:42:42 +0200354 u79: ina226@40 { /* u79 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200355 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200356 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200357 reg = <0x40>;
358 shunt-resistor = <2000>;
359 };
Michal Simek41a41a42019-08-16 10:42:42 +0200360 u81: ina226@41 { /* u81 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200361 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200362 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200363 reg = <0x41>;
364 shunt-resistor = <5000>;
365 };
Michal Simek41a41a42019-08-16 10:42:42 +0200366 u80: ina226@42 { /* u80 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200367 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200368 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200369 reg = <0x42>;
370 shunt-resistor = <5000>;
371 };
Michal Simek41a41a42019-08-16 10:42:42 +0200372 u84: ina226@43 { /* u84 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200373 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200374 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200375 reg = <0x43>;
376 shunt-resistor = <5000>;
377 };
Michal Simek41a41a42019-08-16 10:42:42 +0200378 u16: ina226@44 { /* u16 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200379 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200380 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200381 reg = <0x44>;
382 shunt-resistor = <5000>;
383 };
Michal Simek41a41a42019-08-16 10:42:42 +0200384 u65: ina226@45 { /* u65 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200385 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200386 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200387 reg = <0x45>;
388 shunt-resistor = <5000>;
389 };
Michal Simek41a41a42019-08-16 10:42:42 +0200390 u74: ina226@46 { /* u74 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200391 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200392 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200393 reg = <0x46>;
394 shunt-resistor = <5000>;
395 };
Michal Simek41a41a42019-08-16 10:42:42 +0200396 u75: ina226@47 { /* u75 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200397 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200398 #io-channel-cells = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200399 reg = <0x47>;
400 shunt-resistor = <5000>;
401 };
402 };
Michal Simekd45b4402018-03-27 10:47:26 +0200403 i2c@2 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200404 #address-cells = <1>;
405 #size-cells = <0>;
406 reg = <2>;
407 /* MAXIM_PMBUS - 00 */
408 max15301@a { /* u46 */
Michal Simekcba5b322018-03-27 10:52:40 +0200409 compatible = "maxim,max15301";
Michal Simek5fc61c82016-04-07 15:58:23 +0200410 reg = <0xa>;
411 };
412 max15303@b { /* u4 */
Michal Simekcba5b322018-03-27 10:52:40 +0200413 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200414 reg = <0xb>;
415 };
416 max15303@10 { /* u13 */
Michal Simekcba5b322018-03-27 10:52:40 +0200417 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200418 reg = <0x10>;
419 };
420 max15301@13 { /* u47 */
Michal Simekcba5b322018-03-27 10:52:40 +0200421 compatible = "maxim,max15301";
Michal Simek5fc61c82016-04-07 15:58:23 +0200422 reg = <0x13>;
423 };
424 max15303@14 { /* u7 */
Michal Simekcba5b322018-03-27 10:52:40 +0200425 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200426 reg = <0x14>;
427 };
428 max15303@15 { /* u6 */
Michal Simekcba5b322018-03-27 10:52:40 +0200429 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200430 reg = <0x15>;
431 };
432 max15303@16 { /* u10 */
Michal Simekcba5b322018-03-27 10:52:40 +0200433 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200434 reg = <0x16>;
435 };
436 max15303@17 { /* u9 */
Michal Simekcba5b322018-03-27 10:52:40 +0200437 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200438 reg = <0x17>;
439 };
440 max15301@18 { /* u63 */
Michal Simekcba5b322018-03-27 10:52:40 +0200441 compatible = "maxim,max15301";
Michal Simek5fc61c82016-04-07 15:58:23 +0200442 reg = <0x18>;
443 };
444 max15303@1a { /* u49 */
Michal Simekcba5b322018-03-27 10:52:40 +0200445 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200446 reg = <0x1a>;
447 };
448 max15303@1d { /* u18 */
Michal Simekcba5b322018-03-27 10:52:40 +0200449 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200450 reg = <0x1d>;
451 };
452 max15303@20 { /* u8 */
Michal Simekcba5b322018-03-27 10:52:40 +0200453 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200454 status = "disabled"; /* unreachable */
455 reg = <0x20>;
456 };
Michal Simek84dc3c02018-03-27 12:01:24 +0200457 max20751@72 { /* u95 */
Michal Simekcba5b322018-03-27 10:52:40 +0200458 compatible = "maxim,max20751";
Michal Simek5fc61c82016-04-07 15:58:23 +0200459 reg = <0x72>;
460 };
Michal Simek84dc3c02018-03-27 12:01:24 +0200461 max20751@73 { /* u96 */
Michal Simekcba5b322018-03-27 10:52:40 +0200462 compatible = "maxim,max20751";
Michal Simek5fc61c82016-04-07 15:58:23 +0200463 reg = <0x73>;
464 };
465 };
466 /* Bus 3 is not connected */
467 };
Michal Simek5fc61c82016-04-07 15:58:23 +0200468};
469
470&i2c1 {
471 status = "okay";
472 clock-frequency = <400000>;
Michal Simek6471f8e2017-11-02 11:51:59 +0100473
Michal Simek84dc3c02018-03-27 12:01:24 +0200474 /* PL i2c via PCA9306 - u45 */
Michal Simek2fde09e2018-03-27 10:38:08 +0200475 i2c-mux@74 { /* u34 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200476 compatible = "nxp,pca9548";
477 #address-cells = <1>;
478 #size-cells = <0>;
479 reg = <0x74>;
Michal Simekd45b4402018-03-27 10:47:26 +0200480 i2c@0 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200481 #address-cells = <1>;
482 #size-cells = <0>;
483 reg = <0>;
484 /*
485 * IIC_EEPROM 1kB memory which uses 256B blocks
486 * where every block has different address.
487 * 0 - 256B address 0x54
488 * 256B - 512B address 0x55
489 * 512B - 768B address 0x56
490 * 768B - 1024B address 0x57
491 */
Michal Simekc9ce08d2017-11-02 11:42:12 +0100492 eeprom: eeprom@54 { /* u23 */
Michal Simek28cf3ba2018-03-27 10:54:25 +0200493 compatible = "atmel,24c08";
Michal Simek5fc61c82016-04-07 15:58:23 +0200494 reg = <0x54>;
495 };
496 };
Michal Simekd45b4402018-03-27 10:47:26 +0200497 i2c@1 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200498 #address-cells = <1>;
499 #size-cells = <0>;
500 reg = <1>;
Michal Simek68ddc172018-03-27 10:39:53 +0200501 si5341: clock-generator@36 { /* SI5341 - u69 */
Michal Simek7b5a7a42018-03-27 12:48:30 +0200502 compatible = "silabs,si5341";
Michal Simek5fc61c82016-04-07 15:58:23 +0200503 reg = <0x36>;
504 };
505
506 };
Michal Simekd45b4402018-03-27 10:47:26 +0200507 i2c@2 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200508 #address-cells = <1>;
509 #size-cells = <0>;
510 reg = <2>;
Michal Simek68ddc172018-03-27 10:39:53 +0200511 si570_1: clock-generator@5d { /* USER SI570 - u42 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200512 #clock-cells = <0>;
513 compatible = "silabs,si570";
514 reg = <0x5d>;
515 temperature-stability = <50>;
516 factory-fout = <300000000>;
517 clock-frequency = <300000000>;
Michal Simek3cf07bf2018-07-18 12:10:02 +0200518 clock-output-names = "si570_user";
Michal Simek5fc61c82016-04-07 15:58:23 +0200519 };
520 };
Michal Simekd45b4402018-03-27 10:47:26 +0200521 i2c@3 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200522 #address-cells = <1>;
523 #size-cells = <0>;
524 reg = <3>;
Michal Simek68ddc172018-03-27 10:39:53 +0200525 si570_2: clock-generator@5d { /* USER MGT SI570 - u56 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200526 #clock-cells = <0>;
527 compatible = "silabs,si570";
528 reg = <0x5d>;
529 temperature-stability = <50>; /* copy from zc702 */
530 factory-fout = <156250000>;
531 clock-frequency = <148500000>;
Michal Simek3cf07bf2018-07-18 12:10:02 +0200532 clock-output-names = "si570_mgt";
Michal Simek5fc61c82016-04-07 15:58:23 +0200533 };
534 };
Michal Simekd45b4402018-03-27 10:47:26 +0200535 i2c@4 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200536 #address-cells = <1>;
537 #size-cells = <0>;
538 reg = <4>;
Michal Simek68ddc172018-03-27 10:39:53 +0200539 si5328: clock-generator@69 {/* SI5328 - u20 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200540 compatible = "silabs,si5328";
541 reg = <0x69>;
Michal Simek20c17792017-11-02 12:45:10 +0100542 /*
543 * Chip has interrupt present connected to PL
544 * interrupt-parent = <&>;
545 * interrupts = <>;
546 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200547 };
548 };
549 /* 5 - 7 unconnected */
550 };
551
Michal Simek2fde09e2018-03-27 10:38:08 +0200552 i2c-mux@75 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200553 compatible = "nxp,pca9548"; /* u135 */
554 #address-cells = <1>;
555 #size-cells = <0>;
556 reg = <0x75>;
557
558 i2c@0 {
559 #address-cells = <1>;
560 #size-cells = <0>;
561 reg = <0>;
562 /* HPC0_IIC */
563 };
564 i2c@1 {
565 #address-cells = <1>;
566 #size-cells = <0>;
567 reg = <1>;
568 /* HPC1_IIC */
569 };
570 i2c@2 {
571 #address-cells = <1>;
572 #size-cells = <0>;
573 reg = <2>;
574 /* SYSMON */
575 };
Michal Simekd45b4402018-03-27 10:47:26 +0200576 i2c@3 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200577 #address-cells = <1>;
578 #size-cells = <0>;
579 reg = <3>;
580 /* DDR4 SODIMM */
Michal Simek5fc61c82016-04-07 15:58:23 +0200581 };
582 i2c@4 {
583 #address-cells = <1>;
584 #size-cells = <0>;
585 reg = <4>;
586 /* SEP 3 */
587 };
588 i2c@5 {
589 #address-cells = <1>;
590 #size-cells = <0>;
591 reg = <5>;
592 /* SEP 2 */
593 };
594 i2c@6 {
595 #address-cells = <1>;
596 #size-cells = <0>;
597 reg = <6>;
598 /* SEP 1 */
599 };
600 i2c@7 {
601 #address-cells = <1>;
602 #size-cells = <0>;
603 reg = <7>;
604 /* SEP 0 */
605 };
606 };
607};
608
609&pcie {
Bharat Kumar Gogadae6464352017-01-30 12:06:02 +0530610 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200611};
612
613&qspi {
614 status = "okay";
615 is-dual = <1>;
616 flash@0 {
Neil Armstronga009fa72019-02-10 10:16:20 +0000617 compatible = "m25p80", "jedec,spi-nor"; /* 32MB */
Michal Simek5fc61c82016-04-07 15:58:23 +0200618 #address-cells = <1>;
619 #size-cells = <1>;
620 reg = <0x0>;
621 spi-tx-bus-width = <1>;
622 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
623 spi-max-frequency = <108000000>; /* Based on DC1 spec */
624 partition@qspi-fsbl-uboot { /* for testing purpose */
625 label = "qspi-fsbl-uboot";
626 reg = <0x0 0x100000>;
627 };
628 partition@qspi-linux { /* for testing purpose */
629 label = "qspi-linux";
630 reg = <0x100000 0x500000>;
631 };
632 partition@qspi-device-tree { /* for testing purpose */
633 label = "qspi-device-tree";
634 reg = <0x600000 0x20000>;
635 };
636 partition@qspi-rootfs { /* for testing purpose */
637 label = "qspi-rootfs";
638 reg = <0x620000 0x5E0000>;
639 };
640 };
641};
642
643&rtc {
644 status = "okay";
645};
646
647&sata {
648 status = "okay";
649 /* SATA OOB timing settings */
650 ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
651 ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
652 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
653 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
654 ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
655 ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
656 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
657 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
Michal Simekd5ba4f22017-12-01 15:50:31 +0100658 phy-names = "sata-phy";
659 phys = <&lane3 PHY_TYPE_SATA 1 1 125000000>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200660};
661
662/* SD1 with level shifter */
663&sdhci1 {
664 status = "okay";
665 no-1-8-v; /* for 1.0 silicon */
Sai Krishna Potthuri02550fb2016-08-16 14:41:35 +0530666 xlnx,mio_bank = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200667};
668
Michal Simekd5ba4f22017-12-01 15:50:31 +0100669&serdes {
670 status = "okay";
671};
672
Michal Simek5fc61c82016-04-07 15:58:23 +0200673&uart0 {
674 status = "okay";
675};
676
677&uart1 {
678 status = "okay";
679};
680
681/* ULPI SMSC USB3320 */
682&usb0 {
683 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200684};
685
686&dwc3_0 {
687 status = "okay";
688 dr_mode = "host";
Michal Simekd5ba4f22017-12-01 15:50:31 +0100689 snps,usb3_lpm_capable;
690 phy-names = "usb3-phy";
691 phys = <&lane2 PHY_TYPE_USB3 0 2 26000000>;
692 maximum-speed = "super-speed";
Michal Simek5fc61c82016-04-07 15:58:23 +0200693};
694
Shubhrajyoti Dattae036cd62017-04-06 12:28:14 +0530695&watchdog0 {
696 status = "okay";
697};
698
Michal Simek1bb4be32017-11-02 12:04:43 +0100699&xilinx_ams {
700 status = "okay";
701};
702
703&ams_ps {
704 status = "okay";
705};
706
707&ams_pl {
708 status = "okay";
709};
710
Michal Simek5fc61c82016-04-07 15:58:23 +0200711&xilinx_drm {
712 status = "okay";
713 clocks = <&si570_1>;
714};
715
716&xlnx_dp {
717 status = "okay";
718};
719
720&xlnx_dp_sub {
721 status = "okay";
722 xlnx,vid-clk-pl;
723};
724
725&xlnx_dp_snd_pcm0 {
726 status = "okay";
727};
728
729&xlnx_dp_snd_pcm1 {
730 status = "okay";
731};
732
733&xlnx_dp_snd_card {
734 status = "okay";
735};
736
737&xlnx_dp_snd_codec0 {
738 status = "okay";
739};
740
741&xlnx_dpdma {
742 status = "okay";
743};