xref: /linux/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-sck-kv-g-revA.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 *
8d6e25926SAndrew Davis * SD level shifter:
9f5c8855dSMichal Simek * "A" - A01 board un-modified (NXP)
10f5c8855dSMichal Simek * "Y" - A01 board modified with legacy interposer (Nexperia)
11f5c8855dSMichal Simek * "Z" - A01 board modified with Diode interposer
12d6e25926SAndrew Davis *
134e4ddd3dSMichal Simek * Michal Simek <michal.simek@amd.com>
14d6e25926SAndrew Davis */
15d6e25926SAndrew Davis
16d6e25926SAndrew Davis#include <dt-bindings/gpio/gpio.h>
17d6e25926SAndrew Davis#include <dt-bindings/net/ti-dp83867.h>
18d6e25926SAndrew Davis#include <dt-bindings/phy/phy.h>
19d6e25926SAndrew Davis#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
20d6e25926SAndrew Davis
21d6e25926SAndrew Davis/dts-v1/;
22d6e25926SAndrew Davis/plugin/;
23d6e25926SAndrew Davis
246a10a19aSMichal Simek&{/} {
25894221b5SMichal Simek	compatible = "xlnx,zynqmp-sk-kv260-revA",
26894221b5SMichal Simek		     "xlnx,zynqmp-sk-kv260-revY",
27894221b5SMichal Simek		     "xlnx,zynqmp-sk-kv260-revZ",
28894221b5SMichal Simek		     "xlnx,zynqmp-sk-kv260", "xlnx,zynqmp";
29894221b5SMichal Simek	model = "ZynqMP KV260 revA";
30894221b5SMichal Simek
31*385cc4f7SMichal Simek	ina260-u14 {
32*385cc4f7SMichal Simek		compatible = "iio-hwmon";
33*385cc4f7SMichal Simek		io-channels = <&u14 0>, <&u14 1>, <&u14 2>;
34*385cc4f7SMichal Simek	};
35*385cc4f7SMichal Simek
360bfb7950SMichal Simek	si5332_0: si5332-0 { /* u17 */
37d6e25926SAndrew Davis		compatible = "fixed-clock";
38d6e25926SAndrew Davis		#clock-cells = <0>;
39d6e25926SAndrew Davis		clock-frequency = <125000000>;
40d6e25926SAndrew Davis	};
41d6e25926SAndrew Davis
420bfb7950SMichal Simek	si5332_1: si5332-1 { /* u17 */
43d6e25926SAndrew Davis		compatible = "fixed-clock";
44d6e25926SAndrew Davis		#clock-cells = <0>;
45d6e25926SAndrew Davis		clock-frequency = <25000000>;
46d6e25926SAndrew Davis	};
47d6e25926SAndrew Davis
480bfb7950SMichal Simek	si5332_2: si5332-2 { /* u17 */
49d6e25926SAndrew Davis		compatible = "fixed-clock";
50d6e25926SAndrew Davis		#clock-cells = <0>;
51d6e25926SAndrew Davis		clock-frequency = <48000000>;
52d6e25926SAndrew Davis	};
53d6e25926SAndrew Davis
540bfb7950SMichal Simek	si5332_3: si5332-3 { /* u17 */
55d6e25926SAndrew Davis		compatible = "fixed-clock";
56d6e25926SAndrew Davis		#clock-cells = <0>;
57d6e25926SAndrew Davis		clock-frequency = <24000000>;
58d6e25926SAndrew Davis	};
59d6e25926SAndrew Davis
600bfb7950SMichal Simek	si5332_4: si5332-4 { /* u17 */
61d6e25926SAndrew Davis		compatible = "fixed-clock";
62d6e25926SAndrew Davis		#clock-cells = <0>;
63d6e25926SAndrew Davis		clock-frequency = <26000000>;
64d6e25926SAndrew Davis	};
65d6e25926SAndrew Davis
660bfb7950SMichal Simek	si5332_5: si5332-5 { /* u17 */
67d6e25926SAndrew Davis		compatible = "fixed-clock";
68d6e25926SAndrew Davis		#clock-cells = <0>;
69d6e25926SAndrew Davis		clock-frequency = <27000000>;
70d6e25926SAndrew Davis	};
71d6e25926SAndrew Davis};
72d6e25926SAndrew Davis
736a10a19aSMichal Simek&i2c1 { /* I2C_SCK C23/C24 - MIO from SOM */
746a10a19aSMichal Simek	#address-cells = <1>;
756a10a19aSMichal Simek	#size-cells = <0>;
766a10a19aSMichal Simek	pinctrl-names = "default", "gpio";
776a10a19aSMichal Simek	pinctrl-0 = <&pinctrl_i2c1_default>;
786a10a19aSMichal Simek	pinctrl-1 = <&pinctrl_i2c1_gpio>;
796a10a19aSMichal Simek	scl-gpios = <&gpio 24 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
806a10a19aSMichal Simek	sda-gpios = <&gpio 25 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
816a10a19aSMichal Simek
82*385cc4f7SMichal Simek	u14: ina260@40 { /* u14 */
83*385cc4f7SMichal Simek		compatible = "ti,ina260";
84*385cc4f7SMichal Simek		#io-channel-cells = <1>;
85*385cc4f7SMichal Simek		label = "ina260-u14";
86*385cc4f7SMichal Simek		reg = <0x40>;
87*385cc4f7SMichal Simek	};
886a10a19aSMichal Simek	/* u27 - 0xe0 - STDP4320 DP/HDMI splitter */
896a10a19aSMichal Simek};
906a10a19aSMichal Simek
91d6e25926SAndrew Davis/* DP/USB 3.0 and SATA */
92d6e25926SAndrew Davis&psgtr {
93d6e25926SAndrew Davis	status = "okay";
94d6e25926SAndrew Davis	/* pcie, usb3, sata */
95d6e25926SAndrew Davis	clocks = <&si5332_5>, <&si5332_4>, <&si5332_0>;
96d6e25926SAndrew Davis	clock-names = "ref0", "ref1", "ref2";
97d6e25926SAndrew Davis};
98d6e25926SAndrew Davis
99d6e25926SAndrew Davis&sata {
100d6e25926SAndrew Davis	status = "okay";
101d6e25926SAndrew Davis	/* SATA OOB timing settings */
102d6e25926SAndrew Davis	ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
103d6e25926SAndrew Davis	ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
104d6e25926SAndrew Davis	ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
105d6e25926SAndrew Davis	ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
106d6e25926SAndrew Davis	ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
107d6e25926SAndrew Davis	ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
108d6e25926SAndrew Davis	ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
109d6e25926SAndrew Davis	ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
110d6e25926SAndrew Davis	phy-names = "sata-phy";
111d6e25926SAndrew Davis	phys = <&psgtr 3 PHY_TYPE_SATA 1 2>;
112d6e25926SAndrew Davis};
113d6e25926SAndrew Davis
114d6e25926SAndrew Davis&zynqmp_dpsub {
1156d1a2beaSMichal Simek	status = "okay";
116d6e25926SAndrew Davis	phy-names = "dp-phy0", "dp-phy1";
117d6e25926SAndrew Davis	phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>;
118116de80aSMichal Simek	assigned-clock-rates = <27000000>, <25000000>, <300000000>;
119d6e25926SAndrew Davis};
120d6e25926SAndrew Davis
121d6e25926SAndrew Davis&zynqmp_dpdma {
122d6e25926SAndrew Davis	status = "okay";
123116de80aSMichal Simek	assigned-clock-rates = <600000000>;
124d6e25926SAndrew Davis};
125d6e25926SAndrew Davis
126d6e25926SAndrew Davis&usb0 {
127d6e25926SAndrew Davis	status = "okay";
128d6e25926SAndrew Davis	pinctrl-names = "default";
129d6e25926SAndrew Davis	pinctrl-0 = <&pinctrl_usb0_default>;
130d6e25926SAndrew Davis	phy-names = "usb3-phy";
131d6e25926SAndrew Davis	phys = <&psgtr 2 PHY_TYPE_USB3 0 1>;
132d6e25926SAndrew Davis	/* missing usb5744 - u43 */
133d6e25926SAndrew Davis};
134d6e25926SAndrew Davis
135d6e25926SAndrew Davis&dwc3_0 {
136d6e25926SAndrew Davis	status = "okay";
137d6e25926SAndrew Davis	dr_mode = "host";
138d6e25926SAndrew Davis	snps,usb3_lpm_capable;
139d6e25926SAndrew Davis	maximum-speed = "super-speed";
140d6e25926SAndrew Davis};
141d6e25926SAndrew Davis
142d6e25926SAndrew Davis&sdhci1 { /* on CC with tuned parameters */
143d6e25926SAndrew Davis	status = "okay";
144d6e25926SAndrew Davis	pinctrl-names = "default";
145d6e25926SAndrew Davis	pinctrl-0 = <&pinctrl_sdhci1_default>;
146d6e25926SAndrew Davis	/*
147d6e25926SAndrew Davis	 * SD 3.0 requires level shifter and this property
148d6e25926SAndrew Davis	 * should be removed if the board has level shifter and
149d6e25926SAndrew Davis	 * need to work in UHS mode
150d6e25926SAndrew Davis	 */
151d6e25926SAndrew Davis	no-1-8-v;
152d6e25926SAndrew Davis	disable-wp;
153d6e25926SAndrew Davis	xlnx,mio-bank = <1>;
154637902f7SMichal Simek	assigned-clock-rates = <187498123>;
1557b91ccd5SMichal Simek	bus-width = <4>;
156d6e25926SAndrew Davis};
157d6e25926SAndrew Davis
15824e85ff0SMichal Simek&gem3 {
159d6e25926SAndrew Davis	status = "okay";
160d6e25926SAndrew Davis	pinctrl-names = "default";
161d6e25926SAndrew Davis	pinctrl-0 = <&pinctrl_gem3_default>;
162d6e25926SAndrew Davis	phy-handle = <&phy0>;
163d6e25926SAndrew Davis	phy-mode = "rgmii-id";
164233e6e9dSHarini Katakam	assigned-clock-rates = <250000000>;
165d6e25926SAndrew Davis
166d6e25926SAndrew Davis	mdio: mdio {
167d6e25926SAndrew Davis		#address-cells = <1>;
168d6e25926SAndrew Davis		#size-cells = <0>;
169d6e25926SAndrew Davis
170d6e25926SAndrew Davis		phy0: ethernet-phy@1 {
171d6e25926SAndrew Davis			#phy-cells = <1>;
172d6e25926SAndrew Davis			reg = <1>;
173fc57b6c9SMichal Simek			compatible = "ethernet-phy-id2000.a231";
174d6e25926SAndrew Davis			ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
175d6e25926SAndrew Davis			ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>;
176d6e25926SAndrew Davis			ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
177d6e25926SAndrew Davis			ti,dp83867-rxctrl-strap-quirk;
178fc57b6c9SMichal Simek			reset-assert-us = <100>;
179fc57b6c9SMichal Simek			reset-deassert-us = <280>;
180fc57b6c9SMichal Simek			reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
181d6e25926SAndrew Davis		};
182d6e25926SAndrew Davis	};
183d6e25926SAndrew Davis};
184d6e25926SAndrew Davis
18524e85ff0SMichal Simek&pinctrl0 {
186d6e25926SAndrew Davis	status = "okay";
187d6e25926SAndrew Davis
188ea470fe3STejas Bhumkar	pinctrl_gpio0_default: gpio0-default {
189ea470fe3STejas Bhumkar                conf {
190ea470fe3STejas Bhumkar                        groups = "gpio0_38_grp";
191ea470fe3STejas Bhumkar                        bias-pull-up;
192ea470fe3STejas Bhumkar                        power-source = <IO_STANDARD_LVCMOS18>;
193ea470fe3STejas Bhumkar                };
194ea470fe3STejas Bhumkar
195ea470fe3STejas Bhumkar                mux {
196ea470fe3STejas Bhumkar                        groups = "gpio0_38_grp";
197ea470fe3STejas Bhumkar                        function = "gpio0";
198ea470fe3STejas Bhumkar                };
199ea470fe3STejas Bhumkar
200ea470fe3STejas Bhumkar                conf-tx {
201ea470fe3STejas Bhumkar                        pins = "MIO38";
202ea470fe3STejas Bhumkar                        bias-disable;
203ea470fe3STejas Bhumkar                        output-enable;
204ea470fe3STejas Bhumkar                };
205ea470fe3STejas Bhumkar        };
206ea470fe3STejas Bhumkar
207d6e25926SAndrew Davis	pinctrl_uart1_default: uart1-default {
208d6e25926SAndrew Davis		conf {
209d6e25926SAndrew Davis			groups = "uart1_9_grp";
210d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
211d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
212d6e25926SAndrew Davis			drive-strength = <12>;
213d6e25926SAndrew Davis		};
214d6e25926SAndrew Davis
215d6e25926SAndrew Davis		conf-rx {
216d6e25926SAndrew Davis			pins = "MIO37";
217d6e25926SAndrew Davis			bias-high-impedance;
218d6e25926SAndrew Davis		};
219d6e25926SAndrew Davis
220d6e25926SAndrew Davis		conf-tx {
221d6e25926SAndrew Davis			pins = "MIO36";
222d6e25926SAndrew Davis			bias-disable;
22334e48901SNeal Frager			output-enable;
224d6e25926SAndrew Davis		};
225d6e25926SAndrew Davis
226d6e25926SAndrew Davis		mux {
227d6e25926SAndrew Davis			groups = "uart1_9_grp";
228d6e25926SAndrew Davis			function = "uart1";
229d6e25926SAndrew Davis		};
230d6e25926SAndrew Davis	};
231d6e25926SAndrew Davis
232d6e25926SAndrew Davis	pinctrl_i2c1_default: i2c1-default {
233d6e25926SAndrew Davis		conf {
234d6e25926SAndrew Davis			groups = "i2c1_6_grp";
235d6e25926SAndrew Davis			bias-pull-up;
236d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
237d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
238d6e25926SAndrew Davis		};
239d6e25926SAndrew Davis
240d6e25926SAndrew Davis		mux {
241d6e25926SAndrew Davis			groups = "i2c1_6_grp";
242d6e25926SAndrew Davis			function = "i2c1";
243d6e25926SAndrew Davis		};
244d6e25926SAndrew Davis	};
245d6e25926SAndrew Davis
2468258cf0dSMichal Simek	pinctrl_i2c1_gpio: i2c1-gpio-grp {
247d6e25926SAndrew Davis		conf {
248d6e25926SAndrew Davis			groups = "gpio0_24_grp", "gpio0_25_grp";
249d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
250d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
251d6e25926SAndrew Davis		};
252d6e25926SAndrew Davis
253d6e25926SAndrew Davis		mux {
254d6e25926SAndrew Davis			groups = "gpio0_24_grp", "gpio0_25_grp";
255d6e25926SAndrew Davis			function = "gpio0";
256d6e25926SAndrew Davis		};
257d6e25926SAndrew Davis	};
258d6e25926SAndrew Davis
259d6e25926SAndrew Davis	pinctrl_gem3_default: gem3-default {
260d6e25926SAndrew Davis		conf {
261d6e25926SAndrew Davis			groups = "ethernet3_0_grp";
262d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
263d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
264d6e25926SAndrew Davis		};
265d6e25926SAndrew Davis
266d6e25926SAndrew Davis		conf-rx {
267d6e25926SAndrew Davis			pins = "MIO70", "MIO72", "MIO74";
268d6e25926SAndrew Davis			bias-high-impedance;
269d6e25926SAndrew Davis			low-power-disable;
270d6e25926SAndrew Davis		};
271d6e25926SAndrew Davis
272d6e25926SAndrew Davis		conf-bootstrap {
273d6e25926SAndrew Davis			pins = "MIO71", "MIO73", "MIO75";
274d6e25926SAndrew Davis			bias-disable;
27534e48901SNeal Frager			output-enable;
276d6e25926SAndrew Davis			low-power-disable;
277d6e25926SAndrew Davis		};
278d6e25926SAndrew Davis
279d6e25926SAndrew Davis		conf-tx {
280d6e25926SAndrew Davis			pins = "MIO64", "MIO65", "MIO66",
281d6e25926SAndrew Davis				"MIO67", "MIO68", "MIO69";
282d6e25926SAndrew Davis			bias-disable;
28334e48901SNeal Frager			output-enable;
284d6e25926SAndrew Davis			low-power-enable;
285d6e25926SAndrew Davis		};
286d6e25926SAndrew Davis
287d6e25926SAndrew Davis		conf-mdio {
288d6e25926SAndrew Davis			groups = "mdio3_0_grp";
289d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
290d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
291d6e25926SAndrew Davis			bias-disable;
29234e48901SNeal Frager			output-enable;
293d6e25926SAndrew Davis		};
294d6e25926SAndrew Davis
295d6e25926SAndrew Davis		mux-mdio {
296d6e25926SAndrew Davis			function = "mdio3";
297d6e25926SAndrew Davis			groups = "mdio3_0_grp";
298d6e25926SAndrew Davis		};
299d6e25926SAndrew Davis
300d6e25926SAndrew Davis		mux {
301d6e25926SAndrew Davis			function = "ethernet3";
302d6e25926SAndrew Davis			groups = "ethernet3_0_grp";
303d6e25926SAndrew Davis		};
304d6e25926SAndrew Davis	};
305d6e25926SAndrew Davis
306d6e25926SAndrew Davis	pinctrl_usb0_default: usb0-default {
307d6e25926SAndrew Davis		conf {
308d6e25926SAndrew Davis			groups = "usb0_0_grp";
309d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
310d6e25926SAndrew Davis		};
311d6e25926SAndrew Davis
312d6e25926SAndrew Davis		conf-rx {
313d6e25926SAndrew Davis			pins = "MIO52", "MIO53", "MIO55";
314d6e25926SAndrew Davis			bias-high-impedance;
315f8673fd5SAshok Reddy Soma			drive-strength = <12>;
316f8673fd5SAshok Reddy Soma			slew-rate = <SLEW_RATE_FAST>;
317d6e25926SAndrew Davis		};
318d6e25926SAndrew Davis
319d6e25926SAndrew Davis		conf-tx {
320d6e25926SAndrew Davis			pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
321d6e25926SAndrew Davis			"MIO60", "MIO61", "MIO62", "MIO63";
322d6e25926SAndrew Davis			bias-disable;
32334e48901SNeal Frager			output-enable;
324f8673fd5SAshok Reddy Soma			drive-strength = <4>;
325f8673fd5SAshok Reddy Soma			slew-rate = <SLEW_RATE_SLOW>;
326d6e25926SAndrew Davis		};
327d6e25926SAndrew Davis
328d6e25926SAndrew Davis		mux {
329d6e25926SAndrew Davis			groups = "usb0_0_grp";
330d6e25926SAndrew Davis			function = "usb0";
331d6e25926SAndrew Davis		};
332d6e25926SAndrew Davis	};
333d6e25926SAndrew Davis
334d6e25926SAndrew Davis	pinctrl_sdhci1_default: sdhci1-default {
335d6e25926SAndrew Davis		conf {
336d6e25926SAndrew Davis			groups = "sdio1_0_grp";
337d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
338d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
339d6e25926SAndrew Davis			bias-disable;
340a082e297STejas Bhumkar			output-enable;
341d6e25926SAndrew Davis		};
342d6e25926SAndrew Davis
343d6e25926SAndrew Davis		conf-cd {
344d6e25926SAndrew Davis			groups = "sdio1_cd_0_grp";
345d6e25926SAndrew Davis			bias-high-impedance;
346d6e25926SAndrew Davis			bias-pull-up;
347d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
348d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
349d6e25926SAndrew Davis		};
350d6e25926SAndrew Davis
351d6e25926SAndrew Davis		mux-cd {
352d6e25926SAndrew Davis			groups = "sdio1_cd_0_grp";
353d6e25926SAndrew Davis			function = "sdio1_cd";
354d6e25926SAndrew Davis		};
355d6e25926SAndrew Davis
356d6e25926SAndrew Davis		mux {
357d6e25926SAndrew Davis			groups = "sdio1_0_grp";
358d6e25926SAndrew Davis			function = "sdio1";
359d6e25926SAndrew Davis		};
360d6e25926SAndrew Davis	};
361d6e25926SAndrew Davis};
362d6e25926SAndrew Davis
363ea470fe3STejas Bhumkar&gpio {
364ea470fe3STejas Bhumkar        status = "okay";
365ea470fe3STejas Bhumkar        pinctrl-names = "default";
366ea470fe3STejas Bhumkar        pinctrl-0 = <&pinctrl_gpio0_default>;
367ea470fe3STejas Bhumkar};
368ea470fe3STejas Bhumkar
369d6e25926SAndrew Davis&uart1 {
370d6e25926SAndrew Davis	status = "okay";
371d6e25926SAndrew Davis	pinctrl-names = "default";
372d6e25926SAndrew Davis	pinctrl-0 = <&pinctrl_uart1_default>;
373d6e25926SAndrew Davis};
374