blob: 9323b8d64d5683459591d174b23393b9f29d8790 [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 Simek4f1b7f62020-02-18 08:38:06 +01005 * (C) Copyright 2015 - 2020, 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>;
Sudeep Holla13104ce2018-10-24 12:45:40 +010054 wakeup-source;
Michal Simek7df37832016-05-25 20:09:35 +020055 autorepeat;
56 };
57 };
58
Michal Simekbe3c95f2016-04-20 13:12:25 +020059 leds {
60 compatible = "gpio-leds";
Michal Simek2ef53362018-11-08 10:06:53 +010061 heartbeat-led {
Michal Simekbe3c95f2016-04-20 13:12:25 +020062 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 Simek958c0e92020-11-26 14:25:02 +0100140
141 /* 48MHz reference crystal */
142 ref48: ref48M {
143 compatible = "fixed-clock";
144 #clock-cells = <0>;
145 clock-frequency = <48000000>;
146 };
147
148 refhdmi: refhdmi {
149 compatible = "fixed-clock";
150 #clock-cells = <0>;
151 clock-frequency = <114285000>;
152 };
Michal Simek5fc61c82016-04-07 15:58:23 +0200153};
154
155&can1 {
156 status = "okay";
157};
158
Michal Simekde29d542016-09-09 08:46:39 +0200159&dcc {
160 status = "okay";
161};
162
Michal Simek5fc61c82016-04-07 15:58:23 +0200163&fpd_dma_chan1 {
164 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200165};
166
167&fpd_dma_chan2 {
168 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200169};
170
171&fpd_dma_chan3 {
172 status = "okay";
173};
174
175&fpd_dma_chan4 {
176 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200177};
178
179&fpd_dma_chan5 {
180 status = "okay";
181};
182
183&fpd_dma_chan6 {
184 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200185};
186
187&fpd_dma_chan7 {
188 status = "okay";
189};
190
191&fpd_dma_chan8 {
192 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200193};
194
195&gem3 {
196 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200197 phy-handle = <&phy0>;
198 phy-mode = "rgmii-id";
Michal Simek393decf2019-08-08 12:44:22 +0200199 phy0: ethernet-phy@21 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200200 reg = <21>;
201 ti,rx-internal-delay = <0x8>;
202 ti,tx-internal-delay = <0xa>;
203 ti,fifo-depth = <0x1>;
Harini Katakam991a1612019-02-13 17:02:21 +0530204 ti,dp83867-rxctrl-strap-quirk;
Harini Katakam4d367cd2019-03-13 19:41:19 +0530205 /* reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; */
Michal Simek5fc61c82016-04-07 15:58:23 +0200206 };
207};
208
209&gpio {
210 status = "okay";
211};
212
213&gpu {
214 status = "okay";
215};
216
217&i2c0 {
218 status = "okay";
219 clock-frequency = <400000>;
220
221 tca6416_u97: gpio@20 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200222 compatible = "ti,tca6416";
223 reg = <0x20>;
Michal Simeka545f5f2019-03-12 10:15:27 +0100224 gpio-controller; /* IRQ not connected */
Michal Simek5fc61c82016-04-07 15:58:23 +0200225 #gpio-cells = <2>;
Michal Simeka545f5f2019-03-12 10:15:27 +0100226 gpio-line-names = "PS_GTR_LAN_SEL0", "PS_GTR_LAN_SEL1", "PS_GTR_LAN_SEL2", "PS_GTR_LAN_SEL3",
227 "PCI_CLK_DIR_SEL", "IIC_MUX_RESET_B", "GEM3_EXP_RESET_B",
228 "", "", "", "", "", "", "", "", "";
Michal Simek958c0e92020-11-26 14:25:02 +0100229 gtr-sel0-hog {
Michal Simek5fc61c82016-04-07 15:58:23 +0200230 gpio-hog;
231 gpios = <0 0>;
Bharat Kumar Gogadae6464352017-01-30 12:06:02 +0530232 output-low; /* PCIE = 0, DP = 1 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200233 line-name = "sel0";
234 };
Michal Simek958c0e92020-11-26 14:25:02 +0100235 gtr-sel1-hog {
Michal Simek5fc61c82016-04-07 15:58:23 +0200236 gpio-hog;
237 gpios = <1 0>;
238 output-high; /* PCIE = 0, DP = 1 */
239 line-name = "sel1";
240 };
Michal Simek958c0e92020-11-26 14:25:02 +0100241 gtr-sel2-hog {
Michal Simek5fc61c82016-04-07 15:58:23 +0200242 gpio-hog;
243 gpios = <2 0>;
244 output-high; /* PCIE = 0, USB0 = 1 */
245 line-name = "sel2";
246 };
Michal Simek958c0e92020-11-26 14:25:02 +0100247 gtr-sel3-hog {
Michal Simek5fc61c82016-04-07 15:58:23 +0200248 gpio-hog;
249 gpios = <3 0>;
250 output-high; /* PCIE = 0, SATA = 1 */
251 line-name = "sel3";
252 };
253 };
254
Michal Simekd45b4402018-03-27 10:47:26 +0200255 tca6416_u61: gpio@21 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200256 compatible = "ti,tca6416";
257 reg = <0x21>;
Michal Simeka545f5f2019-03-12 10:15:27 +0100258 gpio-controller; /* IRQ not connected */
Michal Simek5fc61c82016-04-07 15:58:23 +0200259 #gpio-cells = <2>;
Michal Simeka545f5f2019-03-12 10:15:27 +0100260 gpio-line-names = "VCCPSPLL_EN", "MGTRAVCC_EN", "MGTRAVTT_EN", "VCCPSDDRPLL_EN", "MIO26_PMU_INPUT_LS",
261 "PL_PMBUS_ALERT", "PS_PMBUS_ALERT", "MAXIM_PMBUS_ALERT", "PL_DDR4_VTERM_EN",
262 "PL_DDR4_VPP_2V5_EN", "PS_DIMM_VDDQ_TO_PSVCCO_ON", "PS_DIMM_SUSPEND_EN",
263 "PS_DDR4_VTERM_EN", "PS_DDR4_VPP_2V5_EN", "", "";
Michal Simek5fc61c82016-04-07 15:58:23 +0200264 };
265
Michal Simek2fde09e2018-03-27 10:38:08 +0200266 i2c-mux@75 { /* u60 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200267 compatible = "nxp,pca9544";
268 #address-cells = <1>;
269 #size-cells = <0>;
270 reg = <0x75>;
Michal Simekd45b4402018-03-27 10:47:26 +0200271 i2c@0 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200272 #address-cells = <1>;
273 #size-cells = <0>;
274 reg = <0>;
275 /* PS_PMBUS */
Michal Simek41a41a42019-08-16 10:42:42 +0200276 u76: ina226@40 { /* u76 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200277 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200278 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200279 label = "ina226-u76";
Michal Simek5fc61c82016-04-07 15:58:23 +0200280 reg = <0x40>;
281 shunt-resistor = <5000>;
282 };
Michal Simek41a41a42019-08-16 10:42:42 +0200283 u77: ina226@41 { /* u77 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200284 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200285 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200286 label = "ina226-u77";
Michal Simek5fc61c82016-04-07 15:58:23 +0200287 reg = <0x41>;
288 shunt-resistor = <5000>;
289 };
Michal Simek41a41a42019-08-16 10:42:42 +0200290 u78: ina226@42 { /* u78 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200291 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200292 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200293 label = "ina226-u78";
Michal Simek5fc61c82016-04-07 15:58:23 +0200294 reg = <0x42>;
295 shunt-resistor = <5000>;
296 };
Michal Simek41a41a42019-08-16 10:42:42 +0200297 u87: ina226@43 { /* u87 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200298 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200299 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200300 label = "ina226-u87";
Michal Simek5fc61c82016-04-07 15:58:23 +0200301 reg = <0x43>;
302 shunt-resistor = <5000>;
303 };
Michal Simek41a41a42019-08-16 10:42:42 +0200304 u85: ina226@44 { /* u85 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200305 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200306 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200307 label = "ina226-u85";
Michal Simek5fc61c82016-04-07 15:58:23 +0200308 reg = <0x44>;
309 shunt-resistor = <5000>;
310 };
Michal Simek41a41a42019-08-16 10:42:42 +0200311 u86: ina226@45 { /* u86 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200312 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200313 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200314 label = "ina226-u86";
Michal Simek5fc61c82016-04-07 15:58:23 +0200315 reg = <0x45>;
316 shunt-resistor = <5000>;
317 };
Michal Simek41a41a42019-08-16 10:42:42 +0200318 u93: ina226@46 { /* u93 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200319 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200320 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200321 label = "ina226-u93";
Michal Simek5fc61c82016-04-07 15:58:23 +0200322 reg = <0x46>;
323 shunt-resistor = <5000>;
324 };
Michal Simek41a41a42019-08-16 10:42:42 +0200325 u88: ina226@47 { /* u88 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200326 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200327 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200328 label = "ina226-u88";
Michal Simek5fc61c82016-04-07 15:58:23 +0200329 reg = <0x47>;
330 shunt-resistor = <5000>;
331 };
Michal Simek41a41a42019-08-16 10:42:42 +0200332 u15: ina226@4a { /* u15 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200333 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200334 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200335 label = "ina226-u15";
Michal Simek5fc61c82016-04-07 15:58:23 +0200336 reg = <0x4a>;
337 shunt-resistor = <5000>;
338 };
Michal Simek41a41a42019-08-16 10:42:42 +0200339 u92: ina226@4b { /* u92 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200340 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200341 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200342 label = "ina226-u92";
Michal Simek5fc61c82016-04-07 15:58:23 +0200343 reg = <0x4b>;
344 shunt-resistor = <5000>;
345 };
346 };
Michal Simekd45b4402018-03-27 10:47:26 +0200347 i2c@1 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200348 #address-cells = <1>;
349 #size-cells = <0>;
350 reg = <1>;
351 /* PL_PMBUS */
Michal Simek41a41a42019-08-16 10:42:42 +0200352 u79: ina226@40 { /* u79 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200353 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200354 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200355 label = "ina226-u79";
Michal Simek5fc61c82016-04-07 15:58:23 +0200356 reg = <0x40>;
357 shunt-resistor = <2000>;
358 };
Michal Simek41a41a42019-08-16 10:42:42 +0200359 u81: ina226@41 { /* u81 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200360 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200361 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200362 label = "ina226-u81";
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 Simeka246bed2019-08-26 10:20:07 +0200369 label = "ina226-u80";
Michal Simek5fc61c82016-04-07 15:58:23 +0200370 reg = <0x42>;
371 shunt-resistor = <5000>;
372 };
Michal Simek41a41a42019-08-16 10:42:42 +0200373 u84: ina226@43 { /* u84 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200374 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200375 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200376 label = "ina226-u84";
Michal Simek5fc61c82016-04-07 15:58:23 +0200377 reg = <0x43>;
378 shunt-resistor = <5000>;
379 };
Michal Simek41a41a42019-08-16 10:42:42 +0200380 u16: ina226@44 { /* u16 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200381 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200382 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200383 label = "ina226-u16";
Michal Simek5fc61c82016-04-07 15:58:23 +0200384 reg = <0x44>;
385 shunt-resistor = <5000>;
386 };
Michal Simek41a41a42019-08-16 10:42:42 +0200387 u65: ina226@45 { /* u65 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200388 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200389 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200390 label = "ina226-u65";
Michal Simek5fc61c82016-04-07 15:58:23 +0200391 reg = <0x45>;
392 shunt-resistor = <5000>;
393 };
Michal Simek41a41a42019-08-16 10:42:42 +0200394 u74: ina226@46 { /* u74 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200395 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200396 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200397 label = "ina226-u74";
Michal Simek5fc61c82016-04-07 15:58:23 +0200398 reg = <0x46>;
399 shunt-resistor = <5000>;
400 };
Michal Simek41a41a42019-08-16 10:42:42 +0200401 u75: ina226@47 { /* u75 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200402 compatible = "ti,ina226";
Michal Simek41a41a42019-08-16 10:42:42 +0200403 #io-channel-cells = <1>;
Michal Simeka246bed2019-08-26 10:20:07 +0200404 label = "ina226-u75";
Michal Simek5fc61c82016-04-07 15:58:23 +0200405 reg = <0x47>;
406 shunt-resistor = <5000>;
407 };
408 };
Michal Simekd45b4402018-03-27 10:47:26 +0200409 i2c@2 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200410 #address-cells = <1>;
411 #size-cells = <0>;
412 reg = <2>;
413 /* MAXIM_PMBUS - 00 */
414 max15301@a { /* u46 */
Michal Simekcba5b322018-03-27 10:52:40 +0200415 compatible = "maxim,max15301";
Michal Simek5fc61c82016-04-07 15:58:23 +0200416 reg = <0xa>;
417 };
418 max15303@b { /* u4 */
Michal Simekcba5b322018-03-27 10:52:40 +0200419 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200420 reg = <0xb>;
421 };
422 max15303@10 { /* u13 */
Michal Simekcba5b322018-03-27 10:52:40 +0200423 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200424 reg = <0x10>;
425 };
426 max15301@13 { /* u47 */
Michal Simekcba5b322018-03-27 10:52:40 +0200427 compatible = "maxim,max15301";
Michal Simek5fc61c82016-04-07 15:58:23 +0200428 reg = <0x13>;
429 };
430 max15303@14 { /* u7 */
Michal Simekcba5b322018-03-27 10:52:40 +0200431 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200432 reg = <0x14>;
433 };
434 max15303@15 { /* u6 */
Michal Simekcba5b322018-03-27 10:52:40 +0200435 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200436 reg = <0x15>;
437 };
438 max15303@16 { /* u10 */
Michal Simekcba5b322018-03-27 10:52:40 +0200439 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200440 reg = <0x16>;
441 };
442 max15303@17 { /* u9 */
Michal Simekcba5b322018-03-27 10:52:40 +0200443 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200444 reg = <0x17>;
445 };
446 max15301@18 { /* u63 */
Michal Simekcba5b322018-03-27 10:52:40 +0200447 compatible = "maxim,max15301";
Michal Simek5fc61c82016-04-07 15:58:23 +0200448 reg = <0x18>;
449 };
450 max15303@1a { /* u49 */
Michal Simekcba5b322018-03-27 10:52:40 +0200451 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200452 reg = <0x1a>;
453 };
454 max15303@1d { /* u18 */
Michal Simekcba5b322018-03-27 10:52:40 +0200455 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200456 reg = <0x1d>;
457 };
458 max15303@20 { /* u8 */
Michal Simekcba5b322018-03-27 10:52:40 +0200459 compatible = "maxim,max15303";
Michal Simek5fc61c82016-04-07 15:58:23 +0200460 status = "disabled"; /* unreachable */
461 reg = <0x20>;
462 };
Michal Simek84dc3c02018-03-27 12:01:24 +0200463 max20751@72 { /* u95 */
Michal Simekcba5b322018-03-27 10:52:40 +0200464 compatible = "maxim,max20751";
Michal Simek5fc61c82016-04-07 15:58:23 +0200465 reg = <0x72>;
466 };
Michal Simek84dc3c02018-03-27 12:01:24 +0200467 max20751@73 { /* u96 */
Michal Simekcba5b322018-03-27 10:52:40 +0200468 compatible = "maxim,max20751";
Michal Simek5fc61c82016-04-07 15:58:23 +0200469 reg = <0x73>;
470 };
471 };
472 /* Bus 3 is not connected */
473 };
Michal Simek5fc61c82016-04-07 15:58:23 +0200474};
475
476&i2c1 {
477 status = "okay";
478 clock-frequency = <400000>;
Michal Simek6471f8e2017-11-02 11:51:59 +0100479
Michal Simek84dc3c02018-03-27 12:01:24 +0200480 /* PL i2c via PCA9306 - u45 */
Michal Simek2fde09e2018-03-27 10:38:08 +0200481 i2c-mux@74 { /* u34 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200482 compatible = "nxp,pca9548";
483 #address-cells = <1>;
484 #size-cells = <0>;
485 reg = <0x74>;
Michal Simekd45b4402018-03-27 10:47:26 +0200486 i2c@0 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200487 #address-cells = <1>;
488 #size-cells = <0>;
489 reg = <0>;
490 /*
491 * IIC_EEPROM 1kB memory which uses 256B blocks
492 * where every block has different address.
493 * 0 - 256B address 0x54
494 * 256B - 512B address 0x55
495 * 512B - 768B address 0x56
496 * 768B - 1024B address 0x57
497 */
Michal Simekc9ce08d2017-11-02 11:42:12 +0100498 eeprom: eeprom@54 { /* u23 */
Michal Simek28cf3ba2018-03-27 10:54:25 +0200499 compatible = "atmel,24c08";
Michal Simek5fc61c82016-04-07 15:58:23 +0200500 reg = <0x54>;
501 };
502 };
Michal Simekd45b4402018-03-27 10:47:26 +0200503 i2c@1 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200504 #address-cells = <1>;
505 #size-cells = <0>;
506 reg = <1>;
Michal Simek68ddc172018-03-27 10:39:53 +0200507 si5341: clock-generator@36 { /* SI5341 - u69 */
Michal Simek7b5a7a42018-03-27 12:48:30 +0200508 compatible = "silabs,si5341";
Michal Simek5fc61c82016-04-07 15:58:23 +0200509 reg = <0x36>;
Michal Simek958c0e92020-11-26 14:25:02 +0100510 #clock-cells = <2>;
511 #address-cells = <1>;
512 #size-cells = <0>;
513 clocks = <&ref48>;
514 clock-names = "xtal";
515 clock-output-names = "si5341";
Michal Simek5fc61c82016-04-07 15:58:23 +0200516
Michal Simek958c0e92020-11-26 14:25:02 +0100517 si5341_0: out@0 {
518 /* refclk0 for PS-GT, used for DP */
519 reg = <0>;
520 always-on;
521 };
522 si5341_2: out@2 {
523 /* refclk2 for PS-GT, used for USB3 */
524 reg = <2>;
525 always-on;
526 };
527 si5341_3: out@3 {
528 /* refclk3 for PS-GT, used for SATA */
529 reg = <3>;
530 always-on;
531 };
532 si5341_4: out@4 {
533 /* refclk4 for PS-GT, used for PCIE slot */
534 reg = <4>;
535 always-on;
536 };
537 si5341_5: out@5 {
538 /* refclk5 for PS-GT, used for PCIE */
539 reg = <5>;
540 always-on;
541 };
542 si5341_6: out@6 {
543 /* refclk6 PL CLK125 */
544 reg = <6>;
545 always-on;
546 };
547 si5341_7: out@7 {
548 /* refclk7 PL CLK74 */
549 reg = <7>;
550 always-on;
551 };
552 si5341_9: out@9 {
553 /* refclk9 used for PS_REF_CLK 33.3 MHz */
554 reg = <9>;
555 always-on;
556 };
557 };
Michal Simek5fc61c82016-04-07 15:58:23 +0200558 };
Michal Simekd45b4402018-03-27 10:47:26 +0200559 i2c@2 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200560 #address-cells = <1>;
561 #size-cells = <0>;
562 reg = <2>;
Michal Simek68ddc172018-03-27 10:39:53 +0200563 si570_1: clock-generator@5d { /* USER SI570 - u42 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200564 #clock-cells = <0>;
565 compatible = "silabs,si570";
566 reg = <0x5d>;
567 temperature-stability = <50>;
568 factory-fout = <300000000>;
569 clock-frequency = <300000000>;
Michal Simek3cf07bf2018-07-18 12:10:02 +0200570 clock-output-names = "si570_user";
Michal Simek5fc61c82016-04-07 15:58:23 +0200571 };
572 };
Michal Simekd45b4402018-03-27 10:47:26 +0200573 i2c@3 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200574 #address-cells = <1>;
575 #size-cells = <0>;
576 reg = <3>;
Michal Simek68ddc172018-03-27 10:39:53 +0200577 si570_2: clock-generator@5d { /* USER MGT SI570 - u56 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200578 #clock-cells = <0>;
579 compatible = "silabs,si570";
580 reg = <0x5d>;
581 temperature-stability = <50>; /* copy from zc702 */
582 factory-fout = <156250000>;
583 clock-frequency = <148500000>;
Michal Simek3cf07bf2018-07-18 12:10:02 +0200584 clock-output-names = "si570_mgt";
Michal Simek5fc61c82016-04-07 15:58:23 +0200585 };
586 };
Michal Simekd45b4402018-03-27 10:47:26 +0200587 i2c@4 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200588 #address-cells = <1>;
589 #size-cells = <0>;
590 reg = <4>;
Michal Simek68ddc172018-03-27 10:39:53 +0200591 si5328: clock-generator@69 {/* SI5328 - u20 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200592 compatible = "silabs,si5328";
593 reg = <0x69>;
Michal Simek20c17792017-11-02 12:45:10 +0100594 /*
595 * Chip has interrupt present connected to PL
596 * interrupt-parent = <&>;
597 * interrupts = <>;
598 */
Michal Simek5fc61c82016-04-07 15:58:23 +0200599 };
600 };
601 /* 5 - 7 unconnected */
602 };
603
Michal Simek2fde09e2018-03-27 10:38:08 +0200604 i2c-mux@75 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200605 compatible = "nxp,pca9548"; /* u135 */
606 #address-cells = <1>;
607 #size-cells = <0>;
608 reg = <0x75>;
609
610 i2c@0 {
611 #address-cells = <1>;
612 #size-cells = <0>;
613 reg = <0>;
614 /* HPC0_IIC */
615 };
616 i2c@1 {
617 #address-cells = <1>;
618 #size-cells = <0>;
619 reg = <1>;
620 /* HPC1_IIC */
621 };
622 i2c@2 {
623 #address-cells = <1>;
624 #size-cells = <0>;
625 reg = <2>;
626 /* SYSMON */
627 };
Michal Simekd45b4402018-03-27 10:47:26 +0200628 i2c@3 {
Michal Simek5fc61c82016-04-07 15:58:23 +0200629 #address-cells = <1>;
630 #size-cells = <0>;
631 reg = <3>;
632 /* DDR4 SODIMM */
Michal Simek5fc61c82016-04-07 15:58:23 +0200633 };
634 i2c@4 {
635 #address-cells = <1>;
636 #size-cells = <0>;
637 reg = <4>;
638 /* SEP 3 */
639 };
640 i2c@5 {
641 #address-cells = <1>;
642 #size-cells = <0>;
643 reg = <5>;
644 /* SEP 2 */
645 };
646 i2c@6 {
647 #address-cells = <1>;
648 #size-cells = <0>;
649 reg = <6>;
650 /* SEP 1 */
651 };
652 i2c@7 {
653 #address-cells = <1>;
654 #size-cells = <0>;
655 reg = <7>;
656 /* SEP 0 */
657 };
658 };
659};
660
661&pcie {
Bharat Kumar Gogadae6464352017-01-30 12:06:02 +0530662 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200663};
664
Michal Simek958c0e92020-11-26 14:25:02 +0100665&psgtr {
666 status = "okay";
667 /* pcie, sata, usb3, dp */
668 clocks = <&si5341 0 5>, <&si5341 0 3>, <&si5341 0 2>, <&si5341 0 0>;
669 clock-names = "ref0", "ref1", "ref2", "ref3";
670};
671
Michal Simek5fc61c82016-04-07 15:58:23 +0200672&qspi {
673 status = "okay";
674 is-dual = <1>;
675 flash@0 {
Neil Armstronga009fa72019-02-10 10:16:20 +0000676 compatible = "m25p80", "jedec,spi-nor"; /* 32MB */
Michal Simek5fc61c82016-04-07 15:58:23 +0200677 #address-cells = <1>;
678 #size-cells = <1>;
679 reg = <0x0>;
680 spi-tx-bus-width = <1>;
681 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
682 spi-max-frequency = <108000000>; /* Based on DC1 spec */
Michal Simek70fafdf2020-02-14 14:19:56 +0100683 partition@0 { /* for testing purpose */
Michal Simek5fc61c82016-04-07 15:58:23 +0200684 label = "qspi-fsbl-uboot";
685 reg = <0x0 0x100000>;
686 };
Michal Simek70fafdf2020-02-14 14:19:56 +0100687 partition@100000 { /* for testing purpose */
Michal Simek5fc61c82016-04-07 15:58:23 +0200688 label = "qspi-linux";
689 reg = <0x100000 0x500000>;
690 };
Michal Simek70fafdf2020-02-14 14:19:56 +0100691 partition@600000 { /* for testing purpose */
Michal Simek5fc61c82016-04-07 15:58:23 +0200692 label = "qspi-device-tree";
693 reg = <0x600000 0x20000>;
694 };
Michal Simek70fafdf2020-02-14 14:19:56 +0100695 partition@620000 { /* for testing purpose */
Michal Simek5fc61c82016-04-07 15:58:23 +0200696 label = "qspi-rootfs";
697 reg = <0x620000 0x5E0000>;
698 };
699 };
700};
701
702&rtc {
703 status = "okay";
704};
705
706&sata {
707 status = "okay";
708 /* SATA OOB timing settings */
709 ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
710 ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
711 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
712 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
713 ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
714 ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
715 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
716 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
Michal Simekd5ba4f22017-12-01 15:50:31 +0100717 phy-names = "sata-phy";
Michal Simek958c0e92020-11-26 14:25:02 +0100718 phys = <&psgtr 3 PHY_TYPE_SATA 1 1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200719};
720
721/* SD1 with level shifter */
722&sdhci1 {
723 status = "okay";
Manish Naranie2ba0932020-02-13 23:37:30 -0700724 /*
725 * 1.0 revision has level shifter and this property should be
726 * removed for supporting UHS mode
727 */
728 no-1-8-v;
Michal Simek3b662642020-07-22 17:42:43 +0200729 xlnx,mio-bank = <1>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200730};
731
732&uart0 {
733 status = "okay";
734};
735
736&uart1 {
737 status = "okay";
738};
739
740/* ULPI SMSC USB3320 */
741&usb0 {
742 status = "okay";
Michal Simek5fc61c82016-04-07 15:58:23 +0200743};
744
745&dwc3_0 {
746 status = "okay";
747 dr_mode = "host";
Michal Simekd5ba4f22017-12-01 15:50:31 +0100748 snps,usb3_lpm_capable;
Michal Simekd5ba4f22017-12-01 15:50:31 +0100749 maximum-speed = "super-speed";
Michal Simek5fc61c82016-04-07 15:58:23 +0200750};
751
Shubhrajyoti Dattae036cd62017-04-06 12:28:14 +0530752&watchdog0 {
753 status = "okay";
754};
755
Michal Simek1bb4be32017-11-02 12:04:43 +0100756&xilinx_ams {
757 status = "okay";
758};
759
760&ams_ps {
761 status = "okay";
762};
763
764&ams_pl {
765 status = "okay";
766};
767
Michal Simek958c0e92020-11-26 14:25:02 +0100768&zynqmp_dpdma {
Michal Simek5fc61c82016-04-07 15:58:23 +0200769 status = "okay";
770};
771
Michal Simek958c0e92020-11-26 14:25:02 +0100772&zynqmp_dpsub {
Michal Simek5fc61c82016-04-07 15:58:23 +0200773 status = "okay";
Michal Simek958c0e92020-11-26 14:25:02 +0100774 phy-names = "dp-phy0";
775 phys = <&psgtr 1 PHY_TYPE_DP 0 3>;
Michal Simek5fc61c82016-04-07 15:58:23 +0200776};