xref: /linux/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-sck-kv-g-revB.dtso (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1d6e25926SAndrew Davis// SPDX-License-Identifier: GPL-2.0
2d6e25926SAndrew Davis/*
3d6e25926SAndrew Davis * dts file for KV260 revA Carrier Card
4d6e25926SAndrew Davis *
5f8673fd5SAshok Reddy Soma * (C) Copyright 2020 - 2022, Xilinx, Inc.
6f8673fd5SAshok Reddy Soma * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc.
7d6e25926SAndrew Davis *
84e4ddd3dSMichal Simek * Michal Simek <michal.simek@amd.com>
9d6e25926SAndrew Davis */
10d6e25926SAndrew Davis
11d6e25926SAndrew Davis#include <dt-bindings/gpio/gpio.h>
12d6e25926SAndrew Davis#include <dt-bindings/net/ti-dp83867.h>
13d6e25926SAndrew Davis#include <dt-bindings/phy/phy.h>
14d6e25926SAndrew Davis#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
15d6e25926SAndrew Davis
16d6e25926SAndrew Davis/dts-v1/;
17d6e25926SAndrew Davis/plugin/;
18d6e25926SAndrew Davis
196a10a19aSMichal Simek&{/} {
20894221b5SMichal Simek	compatible = "xlnx,zynqmp-sk-kv260-rev2",
21894221b5SMichal Simek		     "xlnx,zynqmp-sk-kv260-rev1",
22894221b5SMichal Simek		     "xlnx,zynqmp-sk-kv260-revB",
23894221b5SMichal Simek		     "xlnx,zynqmp-sk-kv260", "xlnx,zynqmp";
24894221b5SMichal Simek	model = "ZynqMP KV260 revB";
25894221b5SMichal Simek
26385cc4f7SMichal Simek	ina260-u14 {
27385cc4f7SMichal Simek		compatible = "iio-hwmon";
28385cc4f7SMichal Simek		io-channels = <&u14 0>, <&u14 1>, <&u14 2>;
29385cc4f7SMichal Simek	};
30385cc4f7SMichal Simek
310bfb7950SMichal Simek	si5332_0: si5332-0 { /* u17 */
32d6e25926SAndrew Davis		compatible = "fixed-clock";
33d6e25926SAndrew Davis		#clock-cells = <0>;
34d6e25926SAndrew Davis		clock-frequency = <125000000>;
35d6e25926SAndrew Davis	};
36d6e25926SAndrew Davis
370bfb7950SMichal Simek	si5332_1: si5332-1 { /* u17 */
38d6e25926SAndrew Davis		compatible = "fixed-clock";
39d6e25926SAndrew Davis		#clock-cells = <0>;
40d6e25926SAndrew Davis		clock-frequency = <25000000>;
41d6e25926SAndrew Davis	};
42d6e25926SAndrew Davis
430bfb7950SMichal Simek	si5332_2: si5332-2 { /* u17 */
44d6e25926SAndrew Davis		compatible = "fixed-clock";
45d6e25926SAndrew Davis		#clock-cells = <0>;
46d6e25926SAndrew Davis		clock-frequency = <48000000>;
47d6e25926SAndrew Davis	};
48d6e25926SAndrew Davis
490bfb7950SMichal Simek	si5332_3: si5332-3 { /* u17 */
50d6e25926SAndrew Davis		compatible = "fixed-clock";
51d6e25926SAndrew Davis		#clock-cells = <0>;
52d6e25926SAndrew Davis		clock-frequency = <24000000>;
53d6e25926SAndrew Davis	};
54d6e25926SAndrew Davis
550bfb7950SMichal Simek	si5332_4: si5332-4 { /* u17 */
56d6e25926SAndrew Davis		compatible = "fixed-clock";
57d6e25926SAndrew Davis		#clock-cells = <0>;
58d6e25926SAndrew Davis		clock-frequency = <26000000>;
59d6e25926SAndrew Davis	};
60d6e25926SAndrew Davis
610bfb7950SMichal Simek	si5332_5: si5332-5 { /* u17 */
62d6e25926SAndrew Davis		compatible = "fixed-clock";
63d6e25926SAndrew Davis		#clock-cells = <0>;
64d6e25926SAndrew Davis		clock-frequency = <27000000>;
65d6e25926SAndrew Davis	};
66*0d7835cfSVishal Sagar
67*0d7835cfSVishal Sagar	dpcon {
68*0d7835cfSVishal Sagar		compatible = "dp-connector";
69*0d7835cfSVishal Sagar		label = "P11";
70*0d7835cfSVishal Sagar		type = "full-size";
71*0d7835cfSVishal Sagar
72*0d7835cfSVishal Sagar		port {
73*0d7835cfSVishal Sagar			dpcon_in: endpoint {
74*0d7835cfSVishal Sagar				remote-endpoint = <&dpsub_dp_out>;
75*0d7835cfSVishal Sagar			};
76*0d7835cfSVishal Sagar		};
77*0d7835cfSVishal Sagar	};
78d6e25926SAndrew Davis};
79d6e25926SAndrew Davis
806a10a19aSMichal Simek&i2c1 { /* I2C_SCK C23/C24 - MIO from SOM */
816a10a19aSMichal Simek	#address-cells = <1>;
826a10a19aSMichal Simek	#size-cells = <0>;
836a10a19aSMichal Simek	pinctrl-names = "default", "gpio";
846a10a19aSMichal Simek	pinctrl-0 = <&pinctrl_i2c1_default>;
856a10a19aSMichal Simek	pinctrl-1 = <&pinctrl_i2c1_gpio>;
866a10a19aSMichal Simek	scl-gpios = <&gpio 24 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
876a10a19aSMichal Simek	sda-gpios = <&gpio 25 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
886a10a19aSMichal Simek
89385cc4f7SMichal Simek	u14: ina260@40 { /* u14 */
90385cc4f7SMichal Simek		compatible = "ti,ina260";
91385cc4f7SMichal Simek		#io-channel-cells = <1>;
92385cc4f7SMichal Simek		label = "ina260-u14";
93385cc4f7SMichal Simek		reg = <0x40>;
94385cc4f7SMichal Simek	};
95385cc4f7SMichal Simek	/* u43 - 0x2d - USB hub */
966a10a19aSMichal Simek	/* u27 - 0xe0 - STDP4320 DP/HDMI splitter */
976a10a19aSMichal Simek};
986a10a19aSMichal Simek
99d6e25926SAndrew Davis/* DP/USB 3.0 */
100d6e25926SAndrew Davis&psgtr {
101d6e25926SAndrew Davis	status = "okay";
102d6e25926SAndrew Davis	/* pcie, usb3, sata */
103d6e25926SAndrew Davis	clocks = <&si5332_5>, <&si5332_4>, <&si5332_0>;
104d6e25926SAndrew Davis	clock-names = "ref0", "ref1", "ref2";
105d6e25926SAndrew Davis};
106d6e25926SAndrew Davis
107d6e25926SAndrew Davis&zynqmp_dpsub {
1086d1a2beaSMichal Simek	status = "okay";
109d6e25926SAndrew Davis	phy-names = "dp-phy0", "dp-phy1";
110d6e25926SAndrew Davis	phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>;
111116de80aSMichal Simek	assigned-clock-rates = <27000000>, <25000000>, <300000000>;
112*0d7835cfSVishal Sagar
113*0d7835cfSVishal Sagar	ports {
114*0d7835cfSVishal Sagar		port@5 {
115*0d7835cfSVishal Sagar			dpsub_dp_out: endpoint {
116*0d7835cfSVishal Sagar				remote-endpoint = <&dpcon_in>;
117*0d7835cfSVishal Sagar			};
118*0d7835cfSVishal Sagar		};
119*0d7835cfSVishal Sagar	};
120d6e25926SAndrew Davis};
121d6e25926SAndrew Davis
122d6e25926SAndrew Davis&zynqmp_dpdma {
123d6e25926SAndrew Davis	status = "okay";
124116de80aSMichal Simek	assigned-clock-rates = <600000000>;
125d6e25926SAndrew Davis};
126d6e25926SAndrew Davis
127d6e25926SAndrew Davis&usb0 {
128d6e25926SAndrew Davis	status = "okay";
129d6e25926SAndrew Davis	pinctrl-names = "default";
130d6e25926SAndrew Davis	pinctrl-0 = <&pinctrl_usb0_default>;
131d6e25926SAndrew Davis	phy-names = "usb3-phy";
132d6e25926SAndrew Davis	phys = <&psgtr 2 PHY_TYPE_USB3 0 1>;
133237a1bbcSMichal Simek	assigned-clock-rates = <250000000>, <20000000>;
134d6e25926SAndrew Davis};
135d6e25926SAndrew Davis
136d6e25926SAndrew Davis&dwc3_0 {
137d6e25926SAndrew Davis	status = "okay";
138d6e25926SAndrew Davis	dr_mode = "host";
139d6e25926SAndrew Davis	snps,usb3_lpm_capable;
140d6e25926SAndrew Davis	maximum-speed = "super-speed";
141d6e25926SAndrew Davis};
142d6e25926SAndrew Davis
143d6e25926SAndrew Davis&sdhci1 { /* on CC with tuned parameters */
144d6e25926SAndrew Davis	status = "okay";
145d6e25926SAndrew Davis	pinctrl-names = "default";
146d6e25926SAndrew Davis	pinctrl-0 = <&pinctrl_sdhci1_default>;
147d6e25926SAndrew Davis	/*
148d6e25926SAndrew Davis	 * SD 3.0 requires level shifter and this property
149d6e25926SAndrew Davis	 * should be removed if the board has level shifter and
150d6e25926SAndrew Davis	 * need to work in UHS mode
151d6e25926SAndrew Davis	 */
152d6e25926SAndrew Davis	no-1-8-v;
153d6e25926SAndrew Davis	disable-wp;
154d6e25926SAndrew Davis	xlnx,mio-bank = <1>;
155d6e25926SAndrew Davis	clk-phase-sd-hs = <126>, <60>;
156d6e25926SAndrew Davis	clk-phase-uhs-sdr25 = <120>, <60>;
157d6e25926SAndrew Davis	clk-phase-uhs-ddr50 = <126>, <48>;
158637902f7SMichal Simek	assigned-clock-rates = <187498123>;
1597b91ccd5SMichal Simek	bus-width = <4>;
160d6e25926SAndrew Davis};
161d6e25926SAndrew Davis
16224e85ff0SMichal Simek&gem3 {
163d6e25926SAndrew Davis	status = "okay";
164d6e25926SAndrew Davis	pinctrl-names = "default";
165d6e25926SAndrew Davis	pinctrl-0 = <&pinctrl_gem3_default>;
166d6e25926SAndrew Davis	phy-handle = <&phy0>;
167d6e25926SAndrew Davis	phy-mode = "rgmii-id";
168233e6e9dSHarini Katakam	assigned-clock-rates = <250000000>;
169d6e25926SAndrew Davis
170d6e25926SAndrew Davis	mdio: mdio {
171d6e25926SAndrew Davis		#address-cells = <1>;
172d6e25926SAndrew Davis		#size-cells = <0>;
173d6e25926SAndrew Davis
174d6e25926SAndrew Davis		phy0: ethernet-phy@1 {
175d6e25926SAndrew Davis			#phy-cells = <1>;
176d6e25926SAndrew Davis			reg = <1>;
177fc57b6c9SMichal Simek			compatible = "ethernet-phy-id2000.a231";
178d6e25926SAndrew Davis			ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
179d6e25926SAndrew Davis			ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>;
180d6e25926SAndrew Davis			ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
181d6e25926SAndrew Davis			ti,dp83867-rxctrl-strap-quirk;
182fc57b6c9SMichal Simek			reset-assert-us = <100>;
183fc57b6c9SMichal Simek			reset-deassert-us = <280>;
184fc57b6c9SMichal Simek			reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
185d6e25926SAndrew Davis		};
186d6e25926SAndrew Davis	};
187d6e25926SAndrew Davis};
188d6e25926SAndrew Davis
18924e85ff0SMichal Simek&pinctrl0 {
190d6e25926SAndrew Davis	status = "okay";
191d6e25926SAndrew Davis
192ea470fe3STejas Bhumkar	pinctrl_gpio0_default: gpio0-default {
193ea470fe3STejas Bhumkar		conf {
194ea470fe3STejas Bhumkar			groups = "gpio0_38_grp";
195ea470fe3STejas Bhumkar			bias-pull-up;
196ea470fe3STejas Bhumkar			power-source = <IO_STANDARD_LVCMOS18>;
197ea470fe3STejas Bhumkar		};
198ea470fe3STejas Bhumkar
199ea470fe3STejas Bhumkar		mux {
200ea470fe3STejas Bhumkar			groups = "gpio0_38_grp";
201ea470fe3STejas Bhumkar			function = "gpio0";
202ea470fe3STejas Bhumkar		};
203ea470fe3STejas Bhumkar
204ea470fe3STejas Bhumkar		conf-tx {
205ea470fe3STejas Bhumkar			pins = "MIO38";
206ea470fe3STejas Bhumkar			bias-disable;
207ea470fe3STejas Bhumkar			output-enable;
208ea470fe3STejas Bhumkar		};
209ea470fe3STejas Bhumkar	};
210ea470fe3STejas Bhumkar
211d6e25926SAndrew Davis	pinctrl_uart1_default: uart1-default {
212d6e25926SAndrew Davis		conf {
213d6e25926SAndrew Davis			groups = "uart1_9_grp";
214d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
215d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
216d6e25926SAndrew Davis			drive-strength = <12>;
217d6e25926SAndrew Davis		};
218d6e25926SAndrew Davis
219d6e25926SAndrew Davis		conf-rx {
220d6e25926SAndrew Davis			pins = "MIO37";
221d6e25926SAndrew Davis			bias-high-impedance;
222d6e25926SAndrew Davis		};
223d6e25926SAndrew Davis
224d6e25926SAndrew Davis		conf-tx {
225d6e25926SAndrew Davis			pins = "MIO36";
226d6e25926SAndrew Davis			bias-disable;
22734e48901SNeal Frager			output-enable;
228d6e25926SAndrew Davis		};
229d6e25926SAndrew Davis
230d6e25926SAndrew Davis		mux {
231d6e25926SAndrew Davis			groups = "uart1_9_grp";
232d6e25926SAndrew Davis			function = "uart1";
233d6e25926SAndrew Davis		};
234d6e25926SAndrew Davis	};
235d6e25926SAndrew Davis
236d6e25926SAndrew Davis	pinctrl_i2c1_default: i2c1-default {
237d6e25926SAndrew Davis		conf {
238d6e25926SAndrew Davis			groups = "i2c1_6_grp";
239d6e25926SAndrew Davis			bias-pull-up;
240d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
241d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
242d6e25926SAndrew Davis		};
243d6e25926SAndrew Davis
244d6e25926SAndrew Davis		mux {
245d6e25926SAndrew Davis			groups = "i2c1_6_grp";
246d6e25926SAndrew Davis			function = "i2c1";
247d6e25926SAndrew Davis		};
248d6e25926SAndrew Davis	};
249d6e25926SAndrew Davis
2508258cf0dSMichal Simek	pinctrl_i2c1_gpio: i2c1-gpio-grp {
251d6e25926SAndrew Davis		conf {
252d6e25926SAndrew Davis			groups = "gpio0_24_grp", "gpio0_25_grp";
253d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
254d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
255d6e25926SAndrew Davis		};
256d6e25926SAndrew Davis
257d6e25926SAndrew Davis		mux {
258d6e25926SAndrew Davis			groups = "gpio0_24_grp", "gpio0_25_grp";
259d6e25926SAndrew Davis			function = "gpio0";
260d6e25926SAndrew Davis		};
261d6e25926SAndrew Davis	};
262d6e25926SAndrew Davis
263d6e25926SAndrew Davis	pinctrl_gem3_default: gem3-default {
264d6e25926SAndrew Davis		conf {
265d6e25926SAndrew Davis			groups = "ethernet3_0_grp";
266d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
267d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
268d6e25926SAndrew Davis		};
269d6e25926SAndrew Davis
270d6e25926SAndrew Davis		conf-rx {
271d6e25926SAndrew Davis			pins = "MIO70", "MIO72", "MIO74";
272d6e25926SAndrew Davis			bias-high-impedance;
273d6e25926SAndrew Davis			low-power-disable;
274d6e25926SAndrew Davis		};
275d6e25926SAndrew Davis
276d6e25926SAndrew Davis		conf-bootstrap {
277d6e25926SAndrew Davis			pins = "MIO71", "MIO73", "MIO75";
278d6e25926SAndrew Davis			bias-disable;
27934e48901SNeal Frager			output-enable;
280d6e25926SAndrew Davis			low-power-disable;
281d6e25926SAndrew Davis		};
282d6e25926SAndrew Davis
283d6e25926SAndrew Davis		conf-tx {
284d6e25926SAndrew Davis			pins = "MIO64", "MIO65", "MIO66",
285d6e25926SAndrew Davis				"MIO67", "MIO68", "MIO69";
286d6e25926SAndrew Davis			bias-disable;
28734e48901SNeal Frager			output-enable;
288d6e25926SAndrew Davis			low-power-enable;
289d6e25926SAndrew Davis		};
290d6e25926SAndrew Davis
291d6e25926SAndrew Davis		conf-mdio {
292d6e25926SAndrew Davis			groups = "mdio3_0_grp";
293d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
294d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
295d6e25926SAndrew Davis			bias-disable;
29634e48901SNeal Frager			output-enable;
297d6e25926SAndrew Davis		};
298d6e25926SAndrew Davis
299d6e25926SAndrew Davis		mux-mdio {
300d6e25926SAndrew Davis			function = "mdio3";
301d6e25926SAndrew Davis			groups = "mdio3_0_grp";
302d6e25926SAndrew Davis		};
303d6e25926SAndrew Davis
304d6e25926SAndrew Davis		mux {
305d6e25926SAndrew Davis			function = "ethernet3";
306d6e25926SAndrew Davis			groups = "ethernet3_0_grp";
307d6e25926SAndrew Davis		};
308d6e25926SAndrew Davis	};
309d6e25926SAndrew Davis
310d6e25926SAndrew Davis	pinctrl_usb0_default: usb0-default {
311d6e25926SAndrew Davis		conf {
312d6e25926SAndrew Davis			groups = "usb0_0_grp";
313d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
314d6e25926SAndrew Davis		};
315d6e25926SAndrew Davis
316d6e25926SAndrew Davis		conf-rx {
317d6e25926SAndrew Davis			pins = "MIO52", "MIO53", "MIO55";
318d6e25926SAndrew Davis			bias-high-impedance;
319f8673fd5SAshok Reddy Soma			drive-strength = <12>;
320f8673fd5SAshok Reddy Soma			slew-rate = <SLEW_RATE_FAST>;
321d6e25926SAndrew Davis		};
322d6e25926SAndrew Davis
323d6e25926SAndrew Davis		conf-tx {
324d6e25926SAndrew Davis			pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
325d6e25926SAndrew Davis			"MIO60", "MIO61", "MIO62", "MIO63";
326d6e25926SAndrew Davis			bias-disable;
32734e48901SNeal Frager			output-enable;
328f8673fd5SAshok Reddy Soma			drive-strength = <4>;
329f8673fd5SAshok Reddy Soma			slew-rate = <SLEW_RATE_SLOW>;
330d6e25926SAndrew Davis		};
331d6e25926SAndrew Davis
332d6e25926SAndrew Davis		mux {
333d6e25926SAndrew Davis			groups = "usb0_0_grp";
334d6e25926SAndrew Davis			function = "usb0";
335d6e25926SAndrew Davis		};
336d6e25926SAndrew Davis	};
337d6e25926SAndrew Davis
338d6e25926SAndrew Davis	pinctrl_sdhci1_default: sdhci1-default {
339d6e25926SAndrew Davis		conf {
340d6e25926SAndrew Davis			groups = "sdio1_0_grp";
341d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
342d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
343d6e25926SAndrew Davis			bias-disable;
344a082e297STejas Bhumkar			output-enable;
345d6e25926SAndrew Davis		};
346d6e25926SAndrew Davis
347d6e25926SAndrew Davis		conf-cd {
348d6e25926SAndrew Davis			groups = "sdio1_cd_0_grp";
349d6e25926SAndrew Davis			bias-high-impedance;
350d6e25926SAndrew Davis			bias-pull-up;
351d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
352d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
353d6e25926SAndrew Davis		};
354d6e25926SAndrew Davis
355d6e25926SAndrew Davis		mux-cd {
356d6e25926SAndrew Davis			groups = "sdio1_cd_0_grp";
357d6e25926SAndrew Davis			function = "sdio1_cd";
358d6e25926SAndrew Davis		};
359d6e25926SAndrew Davis
360d6e25926SAndrew Davis		mux {
361d6e25926SAndrew Davis			groups = "sdio1_0_grp";
362d6e25926SAndrew Davis			function = "sdio1";
363d6e25926SAndrew Davis		};
364d6e25926SAndrew Davis	};
365d6e25926SAndrew Davis};
366d6e25926SAndrew Davis
367ea470fe3STejas Bhumkar&gpio {
368ea470fe3STejas Bhumkar	status = "okay";
369ea470fe3STejas Bhumkar	pinctrl-names = "default";
370ea470fe3STejas Bhumkar	pinctrl-0 = <&pinctrl_gpio0_default>;
371ea470fe3STejas Bhumkar};
372ea470fe3STejas Bhumkar
373d6e25926SAndrew Davis&uart1 {
374d6e25926SAndrew Davis	status = "okay";
375d6e25926SAndrew Davis	pinctrl-names = "default";
376d6e25926SAndrew Davis	pinctrl-0 = <&pinctrl_uart1_default>;
377d6e25926SAndrew Davis};
378