xref: /linux/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-sck-kv-g-revB.dtso (revision 24e85ff034a38cd27939272a2318d3db9fa92161)
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&{/} {
200bfb7950SMichal Simek	si5332_0: si5332-0 { /* u17 */
21d6e25926SAndrew Davis		compatible = "fixed-clock";
22d6e25926SAndrew Davis		#clock-cells = <0>;
23d6e25926SAndrew Davis		clock-frequency = <125000000>;
24d6e25926SAndrew Davis	};
25d6e25926SAndrew Davis
260bfb7950SMichal Simek	si5332_1: si5332-1 { /* u17 */
27d6e25926SAndrew Davis		compatible = "fixed-clock";
28d6e25926SAndrew Davis		#clock-cells = <0>;
29d6e25926SAndrew Davis		clock-frequency = <25000000>;
30d6e25926SAndrew Davis	};
31d6e25926SAndrew Davis
320bfb7950SMichal Simek	si5332_2: si5332-2 { /* u17 */
33d6e25926SAndrew Davis		compatible = "fixed-clock";
34d6e25926SAndrew Davis		#clock-cells = <0>;
35d6e25926SAndrew Davis		clock-frequency = <48000000>;
36d6e25926SAndrew Davis	};
37d6e25926SAndrew Davis
380bfb7950SMichal Simek	si5332_3: si5332-3 { /* u17 */
39d6e25926SAndrew Davis		compatible = "fixed-clock";
40d6e25926SAndrew Davis		#clock-cells = <0>;
41d6e25926SAndrew Davis		clock-frequency = <24000000>;
42d6e25926SAndrew Davis	};
43d6e25926SAndrew Davis
440bfb7950SMichal Simek	si5332_4: si5332-4 { /* u17 */
45d6e25926SAndrew Davis		compatible = "fixed-clock";
46d6e25926SAndrew Davis		#clock-cells = <0>;
47d6e25926SAndrew Davis		clock-frequency = <26000000>;
48d6e25926SAndrew Davis	};
49d6e25926SAndrew Davis
500bfb7950SMichal Simek	si5332_5: si5332-5 { /* u17 */
51d6e25926SAndrew Davis		compatible = "fixed-clock";
52d6e25926SAndrew Davis		#clock-cells = <0>;
53d6e25926SAndrew Davis		clock-frequency = <27000000>;
54d6e25926SAndrew Davis	};
55d6e25926SAndrew Davis};
56d6e25926SAndrew Davis
576a10a19aSMichal Simek&i2c1 { /* I2C_SCK C23/C24 - MIO from SOM */
586a10a19aSMichal Simek	#address-cells = <1>;
596a10a19aSMichal Simek	#size-cells = <0>;
606a10a19aSMichal Simek	pinctrl-names = "default", "gpio";
616a10a19aSMichal Simek	pinctrl-0 = <&pinctrl_i2c1_default>;
626a10a19aSMichal Simek	pinctrl-1 = <&pinctrl_i2c1_gpio>;
636a10a19aSMichal Simek	scl-gpios = <&gpio 24 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
646a10a19aSMichal Simek	sda-gpios = <&gpio 25 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
656a10a19aSMichal Simek
666a10a19aSMichal Simek	/* u14 - 0x40 - ina260 */
676a10a19aSMichal Simek	/* u43 - 0x2d - usb5744 */
686a10a19aSMichal Simek	/* u27 - 0xe0 - STDP4320 DP/HDMI splitter */
696a10a19aSMichal Simek};
706a10a19aSMichal Simek
71d6e25926SAndrew Davis/* DP/USB 3.0 */
72d6e25926SAndrew Davis&psgtr {
73d6e25926SAndrew Davis	status = "okay";
74d6e25926SAndrew Davis	/* pcie, usb3, sata */
75d6e25926SAndrew Davis	clocks = <&si5332_5>, <&si5332_4>, <&si5332_0>;
76d6e25926SAndrew Davis	clock-names = "ref0", "ref1", "ref2";
77d6e25926SAndrew Davis};
78d6e25926SAndrew Davis
79d6e25926SAndrew Davis&zynqmp_dpsub {
806d1a2beaSMichal Simek	status = "okay";
81d6e25926SAndrew Davis	phy-names = "dp-phy0", "dp-phy1";
82d6e25926SAndrew Davis	phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>;
83116de80aSMichal Simek	assigned-clock-rates = <27000000>, <25000000>, <300000000>;
84d6e25926SAndrew Davis};
85d6e25926SAndrew Davis
86d6e25926SAndrew Davis&zynqmp_dpdma {
87d6e25926SAndrew Davis	status = "okay";
88116de80aSMichal Simek	assigned-clock-rates = <600000000>;
89d6e25926SAndrew Davis};
90d6e25926SAndrew Davis
91d6e25926SAndrew Davis&usb0 {
92d6e25926SAndrew Davis	status = "okay";
93d6e25926SAndrew Davis	pinctrl-names = "default";
94d6e25926SAndrew Davis	pinctrl-0 = <&pinctrl_usb0_default>;
95d6e25926SAndrew Davis	phy-names = "usb3-phy";
96d6e25926SAndrew Davis	phys = <&psgtr 2 PHY_TYPE_USB3 0 1>;
97d6e25926SAndrew Davis};
98d6e25926SAndrew Davis
99d6e25926SAndrew Davis&dwc3_0 {
100d6e25926SAndrew Davis	status = "okay";
101d6e25926SAndrew Davis	dr_mode = "host";
102d6e25926SAndrew Davis	snps,usb3_lpm_capable;
103d6e25926SAndrew Davis	maximum-speed = "super-speed";
104d6e25926SAndrew Davis};
105d6e25926SAndrew Davis
106d6e25926SAndrew Davis&sdhci1 { /* on CC with tuned parameters */
107d6e25926SAndrew Davis	status = "okay";
108d6e25926SAndrew Davis	pinctrl-names = "default";
109d6e25926SAndrew Davis	pinctrl-0 = <&pinctrl_sdhci1_default>;
110d6e25926SAndrew Davis	/*
111d6e25926SAndrew Davis	 * SD 3.0 requires level shifter and this property
112d6e25926SAndrew Davis	 * should be removed if the board has level shifter and
113d6e25926SAndrew Davis	 * need to work in UHS mode
114d6e25926SAndrew Davis	 */
115d6e25926SAndrew Davis	no-1-8-v;
116d6e25926SAndrew Davis	disable-wp;
117d6e25926SAndrew Davis	xlnx,mio-bank = <1>;
118d6e25926SAndrew Davis	clk-phase-sd-hs = <126>, <60>;
119d6e25926SAndrew Davis	clk-phase-uhs-sdr25 = <120>, <60>;
120d6e25926SAndrew Davis	clk-phase-uhs-ddr50 = <126>, <48>;
121637902f7SMichal Simek	assigned-clock-rates = <187498123>;
1227b91ccd5SMichal Simek	bus-width = <4>;
123d6e25926SAndrew Davis};
124d6e25926SAndrew Davis
125*24e85ff0SMichal Simek&gem3 {
126d6e25926SAndrew Davis	status = "okay";
127d6e25926SAndrew Davis	pinctrl-names = "default";
128d6e25926SAndrew Davis	pinctrl-0 = <&pinctrl_gem3_default>;
129d6e25926SAndrew Davis	phy-handle = <&phy0>;
130d6e25926SAndrew Davis	phy-mode = "rgmii-id";
131233e6e9dSHarini Katakam	assigned-clock-rates = <250000000>;
132d6e25926SAndrew Davis
133d6e25926SAndrew Davis	mdio: mdio {
134d6e25926SAndrew Davis		#address-cells = <1>;
135d6e25926SAndrew Davis		#size-cells = <0>;
136d6e25926SAndrew Davis
137d6e25926SAndrew Davis		phy0: ethernet-phy@1 {
138d6e25926SAndrew Davis			#phy-cells = <1>;
139d6e25926SAndrew Davis			reg = <1>;
140fc57b6c9SMichal Simek			compatible = "ethernet-phy-id2000.a231";
141d6e25926SAndrew Davis			ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
142d6e25926SAndrew Davis			ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>;
143d6e25926SAndrew Davis			ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
144d6e25926SAndrew Davis			ti,dp83867-rxctrl-strap-quirk;
145fc57b6c9SMichal Simek			reset-assert-us = <100>;
146fc57b6c9SMichal Simek			reset-deassert-us = <280>;
147fc57b6c9SMichal Simek			reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
148d6e25926SAndrew Davis		};
149d6e25926SAndrew Davis	};
150d6e25926SAndrew Davis};
151d6e25926SAndrew Davis
152*24e85ff0SMichal Simek&pinctrl0 {
153d6e25926SAndrew Davis	status = "okay";
154d6e25926SAndrew Davis
155d6e25926SAndrew Davis	pinctrl_uart1_default: uart1-default {
156d6e25926SAndrew Davis		conf {
157d6e25926SAndrew Davis			groups = "uart1_9_grp";
158d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
159d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
160d6e25926SAndrew Davis			drive-strength = <12>;
161d6e25926SAndrew Davis		};
162d6e25926SAndrew Davis
163d6e25926SAndrew Davis		conf-rx {
164d6e25926SAndrew Davis			pins = "MIO37";
165d6e25926SAndrew Davis			bias-high-impedance;
166d6e25926SAndrew Davis		};
167d6e25926SAndrew Davis
168d6e25926SAndrew Davis		conf-tx {
169d6e25926SAndrew Davis			pins = "MIO36";
170d6e25926SAndrew Davis			bias-disable;
17134e48901SNeal Frager			output-enable;
172d6e25926SAndrew Davis		};
173d6e25926SAndrew Davis
174d6e25926SAndrew Davis		mux {
175d6e25926SAndrew Davis			groups = "uart1_9_grp";
176d6e25926SAndrew Davis			function = "uart1";
177d6e25926SAndrew Davis		};
178d6e25926SAndrew Davis	};
179d6e25926SAndrew Davis
180d6e25926SAndrew Davis	pinctrl_i2c1_default: i2c1-default {
181d6e25926SAndrew Davis		conf {
182d6e25926SAndrew Davis			groups = "i2c1_6_grp";
183d6e25926SAndrew Davis			bias-pull-up;
184d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
185d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
186d6e25926SAndrew Davis		};
187d6e25926SAndrew Davis
188d6e25926SAndrew Davis		mux {
189d6e25926SAndrew Davis			groups = "i2c1_6_grp";
190d6e25926SAndrew Davis			function = "i2c1";
191d6e25926SAndrew Davis		};
192d6e25926SAndrew Davis	};
193d6e25926SAndrew Davis
194d6e25926SAndrew Davis	pinctrl_i2c1_gpio: i2c1-gpio {
195d6e25926SAndrew Davis		conf {
196d6e25926SAndrew Davis			groups = "gpio0_24_grp", "gpio0_25_grp";
197d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
198d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
199d6e25926SAndrew Davis		};
200d6e25926SAndrew Davis
201d6e25926SAndrew Davis		mux {
202d6e25926SAndrew Davis			groups = "gpio0_24_grp", "gpio0_25_grp";
203d6e25926SAndrew Davis			function = "gpio0";
204d6e25926SAndrew Davis		};
205d6e25926SAndrew Davis	};
206d6e25926SAndrew Davis
207d6e25926SAndrew Davis	pinctrl_gem3_default: gem3-default {
208d6e25926SAndrew Davis		conf {
209d6e25926SAndrew Davis			groups = "ethernet3_0_grp";
210d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
211d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
212d6e25926SAndrew Davis		};
213d6e25926SAndrew Davis
214d6e25926SAndrew Davis		conf-rx {
215d6e25926SAndrew Davis			pins = "MIO70", "MIO72", "MIO74";
216d6e25926SAndrew Davis			bias-high-impedance;
217d6e25926SAndrew Davis			low-power-disable;
218d6e25926SAndrew Davis		};
219d6e25926SAndrew Davis
220d6e25926SAndrew Davis		conf-bootstrap {
221d6e25926SAndrew Davis			pins = "MIO71", "MIO73", "MIO75";
222d6e25926SAndrew Davis			bias-disable;
22334e48901SNeal Frager			output-enable;
224d6e25926SAndrew Davis			low-power-disable;
225d6e25926SAndrew Davis		};
226d6e25926SAndrew Davis
227d6e25926SAndrew Davis		conf-tx {
228d6e25926SAndrew Davis			pins = "MIO64", "MIO65", "MIO66",
229d6e25926SAndrew Davis				"MIO67", "MIO68", "MIO69";
230d6e25926SAndrew Davis			bias-disable;
23134e48901SNeal Frager			output-enable;
232d6e25926SAndrew Davis			low-power-enable;
233d6e25926SAndrew Davis		};
234d6e25926SAndrew Davis
235d6e25926SAndrew Davis		conf-mdio {
236d6e25926SAndrew Davis			groups = "mdio3_0_grp";
237d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
238d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
239d6e25926SAndrew Davis			bias-disable;
24034e48901SNeal Frager			output-enable;
241d6e25926SAndrew Davis		};
242d6e25926SAndrew Davis
243d6e25926SAndrew Davis		mux-mdio {
244d6e25926SAndrew Davis			function = "mdio3";
245d6e25926SAndrew Davis			groups = "mdio3_0_grp";
246d6e25926SAndrew Davis		};
247d6e25926SAndrew Davis
248d6e25926SAndrew Davis		mux {
249d6e25926SAndrew Davis			function = "ethernet3";
250d6e25926SAndrew Davis			groups = "ethernet3_0_grp";
251d6e25926SAndrew Davis		};
252d6e25926SAndrew Davis	};
253d6e25926SAndrew Davis
254d6e25926SAndrew Davis	pinctrl_usb0_default: usb0-default {
255d6e25926SAndrew Davis		conf {
256d6e25926SAndrew Davis			groups = "usb0_0_grp";
257d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
258d6e25926SAndrew Davis		};
259d6e25926SAndrew Davis
260d6e25926SAndrew Davis		conf-rx {
261d6e25926SAndrew Davis			pins = "MIO52", "MIO53", "MIO55";
262d6e25926SAndrew Davis			bias-high-impedance;
263f8673fd5SAshok Reddy Soma			drive-strength = <12>;
264f8673fd5SAshok Reddy Soma			slew-rate = <SLEW_RATE_FAST>;
265d6e25926SAndrew Davis		};
266d6e25926SAndrew Davis
267d6e25926SAndrew Davis		conf-tx {
268d6e25926SAndrew Davis			pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
269d6e25926SAndrew Davis			"MIO60", "MIO61", "MIO62", "MIO63";
270d6e25926SAndrew Davis			bias-disable;
27134e48901SNeal Frager			output-enable;
272f8673fd5SAshok Reddy Soma			drive-strength = <4>;
273f8673fd5SAshok Reddy Soma			slew-rate = <SLEW_RATE_SLOW>;
274d6e25926SAndrew Davis		};
275d6e25926SAndrew Davis
276d6e25926SAndrew Davis		mux {
277d6e25926SAndrew Davis			groups = "usb0_0_grp";
278d6e25926SAndrew Davis			function = "usb0";
279d6e25926SAndrew Davis		};
280d6e25926SAndrew Davis	};
281d6e25926SAndrew Davis
282d6e25926SAndrew Davis	pinctrl_sdhci1_default: sdhci1-default {
283d6e25926SAndrew Davis		conf {
284d6e25926SAndrew Davis			groups = "sdio1_0_grp";
285d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
286d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
287d6e25926SAndrew Davis			bias-disable;
288d6e25926SAndrew Davis		};
289d6e25926SAndrew Davis
290d6e25926SAndrew Davis		conf-cd {
291d6e25926SAndrew Davis			groups = "sdio1_cd_0_grp";
292d6e25926SAndrew Davis			bias-high-impedance;
293d6e25926SAndrew Davis			bias-pull-up;
294d6e25926SAndrew Davis			slew-rate = <SLEW_RATE_SLOW>;
295d6e25926SAndrew Davis			power-source = <IO_STANDARD_LVCMOS18>;
296d6e25926SAndrew Davis		};
297d6e25926SAndrew Davis
298d6e25926SAndrew Davis		mux-cd {
299d6e25926SAndrew Davis			groups = "sdio1_cd_0_grp";
300d6e25926SAndrew Davis			function = "sdio1_cd";
301d6e25926SAndrew Davis		};
302d6e25926SAndrew Davis
303d6e25926SAndrew Davis		mux {
304d6e25926SAndrew Davis			groups = "sdio1_0_grp";
305d6e25926SAndrew Davis			function = "sdio1";
306d6e25926SAndrew Davis		};
307d6e25926SAndrew Davis	};
308d6e25926SAndrew Davis};
309d6e25926SAndrew Davis
310d6e25926SAndrew Davis&uart1 {
311d6e25926SAndrew Davis	status = "okay";
312d6e25926SAndrew Davis	pinctrl-names = "default";
313d6e25926SAndrew Davis	pinctrl-0 = <&pinctrl_uart1_default>;
314d6e25926SAndrew Davis};
315