162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * dts file for KV260 revA Carrier Card 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * (C) Copyright 2020 - 2022, Xilinx, Inc. 662306a36Sopenharmony_ci * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * Michal Simek <michal.simek@amd.com> 962306a36Sopenharmony_ci */ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1262306a36Sopenharmony_ci#include <dt-bindings/net/ti-dp83867.h> 1362306a36Sopenharmony_ci#include <dt-bindings/phy/phy.h> 1462306a36Sopenharmony_ci#include <dt-bindings/pinctrl/pinctrl-zynqmp.h> 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci/dts-v1/; 1762306a36Sopenharmony_ci/plugin/; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci&{/} { 2062306a36Sopenharmony_ci si5332_0: si5332-0 { /* u17 */ 2162306a36Sopenharmony_ci compatible = "fixed-clock"; 2262306a36Sopenharmony_ci #clock-cells = <0>; 2362306a36Sopenharmony_ci clock-frequency = <125000000>; 2462306a36Sopenharmony_ci }; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci si5332_1: si5332-1 { /* u17 */ 2762306a36Sopenharmony_ci compatible = "fixed-clock"; 2862306a36Sopenharmony_ci #clock-cells = <0>; 2962306a36Sopenharmony_ci clock-frequency = <25000000>; 3062306a36Sopenharmony_ci }; 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci si5332_2: si5332-2 { /* u17 */ 3362306a36Sopenharmony_ci compatible = "fixed-clock"; 3462306a36Sopenharmony_ci #clock-cells = <0>; 3562306a36Sopenharmony_ci clock-frequency = <48000000>; 3662306a36Sopenharmony_ci }; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci si5332_3: si5332-3 { /* u17 */ 3962306a36Sopenharmony_ci compatible = "fixed-clock"; 4062306a36Sopenharmony_ci #clock-cells = <0>; 4162306a36Sopenharmony_ci clock-frequency = <24000000>; 4262306a36Sopenharmony_ci }; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci si5332_4: si5332-4 { /* u17 */ 4562306a36Sopenharmony_ci compatible = "fixed-clock"; 4662306a36Sopenharmony_ci #clock-cells = <0>; 4762306a36Sopenharmony_ci clock-frequency = <26000000>; 4862306a36Sopenharmony_ci }; 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci si5332_5: si5332-5 { /* u17 */ 5162306a36Sopenharmony_ci compatible = "fixed-clock"; 5262306a36Sopenharmony_ci #clock-cells = <0>; 5362306a36Sopenharmony_ci clock-frequency = <27000000>; 5462306a36Sopenharmony_ci }; 5562306a36Sopenharmony_ci}; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci&i2c1 { /* I2C_SCK C23/C24 - MIO from SOM */ 5862306a36Sopenharmony_ci #address-cells = <1>; 5962306a36Sopenharmony_ci #size-cells = <0>; 6062306a36Sopenharmony_ci pinctrl-names = "default", "gpio"; 6162306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c1_default>; 6262306a36Sopenharmony_ci pinctrl-1 = <&pinctrl_i2c1_gpio>; 6362306a36Sopenharmony_ci scl-gpios = <&gpio 24 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 6462306a36Sopenharmony_ci sda-gpios = <&gpio 25 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci /* u14 - 0x40 - ina260 */ 6762306a36Sopenharmony_ci /* u43 - 0x2d - usb5744 */ 6862306a36Sopenharmony_ci /* u27 - 0xe0 - STDP4320 DP/HDMI splitter */ 6962306a36Sopenharmony_ci}; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci/* DP/USB 3.0 */ 7262306a36Sopenharmony_ci&psgtr { 7362306a36Sopenharmony_ci status = "okay"; 7462306a36Sopenharmony_ci /* pcie, usb3, sata */ 7562306a36Sopenharmony_ci clocks = <&si5332_5>, <&si5332_4>, <&si5332_0>; 7662306a36Sopenharmony_ci clock-names = "ref0", "ref1", "ref2"; 7762306a36Sopenharmony_ci}; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci&zynqmp_dpsub { 8062306a36Sopenharmony_ci status = "okay"; 8162306a36Sopenharmony_ci phy-names = "dp-phy0", "dp-phy1"; 8262306a36Sopenharmony_ci phys = <&psgtr 1 PHY_TYPE_DP 0 0>, <&psgtr 0 PHY_TYPE_DP 1 0>; 8362306a36Sopenharmony_ci assigned-clock-rates = <27000000>, <25000000>, <300000000>; 8462306a36Sopenharmony_ci}; 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci&zynqmp_dpdma { 8762306a36Sopenharmony_ci status = "okay"; 8862306a36Sopenharmony_ci assigned-clock-rates = <600000000>; 8962306a36Sopenharmony_ci}; 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci&usb0 { 9262306a36Sopenharmony_ci status = "okay"; 9362306a36Sopenharmony_ci pinctrl-names = "default"; 9462306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_usb0_default>; 9562306a36Sopenharmony_ci phy-names = "usb3-phy"; 9662306a36Sopenharmony_ci phys = <&psgtr 2 PHY_TYPE_USB3 0 1>; 9762306a36Sopenharmony_ci}; 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci&dwc3_0 { 10062306a36Sopenharmony_ci status = "okay"; 10162306a36Sopenharmony_ci dr_mode = "host"; 10262306a36Sopenharmony_ci snps,usb3_lpm_capable; 10362306a36Sopenharmony_ci maximum-speed = "super-speed"; 10462306a36Sopenharmony_ci}; 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci&sdhci1 { /* on CC with tuned parameters */ 10762306a36Sopenharmony_ci status = "okay"; 10862306a36Sopenharmony_ci pinctrl-names = "default"; 10962306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_sdhci1_default>; 11062306a36Sopenharmony_ci /* 11162306a36Sopenharmony_ci * SD 3.0 requires level shifter and this property 11262306a36Sopenharmony_ci * should be removed if the board has level shifter and 11362306a36Sopenharmony_ci * need to work in UHS mode 11462306a36Sopenharmony_ci */ 11562306a36Sopenharmony_ci no-1-8-v; 11662306a36Sopenharmony_ci disable-wp; 11762306a36Sopenharmony_ci xlnx,mio-bank = <1>; 11862306a36Sopenharmony_ci clk-phase-sd-hs = <126>, <60>; 11962306a36Sopenharmony_ci clk-phase-uhs-sdr25 = <120>, <60>; 12062306a36Sopenharmony_ci clk-phase-uhs-ddr50 = <126>, <48>; 12162306a36Sopenharmony_ci assigned-clock-rates = <187498123>; 12262306a36Sopenharmony_ci bus-width = <4>; 12362306a36Sopenharmony_ci}; 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci&gem3 { /* required by spec */ 12662306a36Sopenharmony_ci status = "okay"; 12762306a36Sopenharmony_ci pinctrl-names = "default"; 12862306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_gem3_default>; 12962306a36Sopenharmony_ci phy-handle = <&phy0>; 13062306a36Sopenharmony_ci phy-mode = "rgmii-id"; 13162306a36Sopenharmony_ci assigned-clock-rates = <250000000>; 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci mdio: mdio { 13462306a36Sopenharmony_ci #address-cells = <1>; 13562306a36Sopenharmony_ci #size-cells = <0>; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci phy0: ethernet-phy@1 { 13862306a36Sopenharmony_ci #phy-cells = <1>; 13962306a36Sopenharmony_ci reg = <1>; 14062306a36Sopenharmony_ci compatible = "ethernet-phy-id2000.a231"; 14162306a36Sopenharmony_ci ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; 14262306a36Sopenharmony_ci ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>; 14362306a36Sopenharmony_ci ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 14462306a36Sopenharmony_ci ti,dp83867-rxctrl-strap-quirk; 14562306a36Sopenharmony_ci reset-assert-us = <100>; 14662306a36Sopenharmony_ci reset-deassert-us = <280>; 14762306a36Sopenharmony_ci reset-gpios = <&gpio 38 GPIO_ACTIVE_LOW>; 14862306a36Sopenharmony_ci }; 14962306a36Sopenharmony_ci }; 15062306a36Sopenharmony_ci}; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci&pinctrl0 { /* required by spec */ 15362306a36Sopenharmony_ci status = "okay"; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci pinctrl_uart1_default: uart1-default { 15662306a36Sopenharmony_ci conf { 15762306a36Sopenharmony_ci groups = "uart1_9_grp"; 15862306a36Sopenharmony_ci slew-rate = <SLEW_RATE_SLOW>; 15962306a36Sopenharmony_ci power-source = <IO_STANDARD_LVCMOS18>; 16062306a36Sopenharmony_ci drive-strength = <12>; 16162306a36Sopenharmony_ci }; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci conf-rx { 16462306a36Sopenharmony_ci pins = "MIO37"; 16562306a36Sopenharmony_ci bias-high-impedance; 16662306a36Sopenharmony_ci }; 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci conf-tx { 16962306a36Sopenharmony_ci pins = "MIO36"; 17062306a36Sopenharmony_ci bias-disable; 17162306a36Sopenharmony_ci }; 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci mux { 17462306a36Sopenharmony_ci groups = "uart1_9_grp"; 17562306a36Sopenharmony_ci function = "uart1"; 17662306a36Sopenharmony_ci }; 17762306a36Sopenharmony_ci }; 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci pinctrl_i2c1_default: i2c1-default { 18062306a36Sopenharmony_ci conf { 18162306a36Sopenharmony_ci groups = "i2c1_6_grp"; 18262306a36Sopenharmony_ci bias-pull-up; 18362306a36Sopenharmony_ci slew-rate = <SLEW_RATE_SLOW>; 18462306a36Sopenharmony_ci power-source = <IO_STANDARD_LVCMOS18>; 18562306a36Sopenharmony_ci }; 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci mux { 18862306a36Sopenharmony_ci groups = "i2c1_6_grp"; 18962306a36Sopenharmony_ci function = "i2c1"; 19062306a36Sopenharmony_ci }; 19162306a36Sopenharmony_ci }; 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci pinctrl_i2c1_gpio: i2c1-gpio { 19462306a36Sopenharmony_ci conf { 19562306a36Sopenharmony_ci groups = "gpio0_24_grp", "gpio0_25_grp"; 19662306a36Sopenharmony_ci slew-rate = <SLEW_RATE_SLOW>; 19762306a36Sopenharmony_ci power-source = <IO_STANDARD_LVCMOS18>; 19862306a36Sopenharmony_ci }; 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ci mux { 20162306a36Sopenharmony_ci groups = "gpio0_24_grp", "gpio0_25_grp"; 20262306a36Sopenharmony_ci function = "gpio0"; 20362306a36Sopenharmony_ci }; 20462306a36Sopenharmony_ci }; 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci pinctrl_gem3_default: gem3-default { 20762306a36Sopenharmony_ci conf { 20862306a36Sopenharmony_ci groups = "ethernet3_0_grp"; 20962306a36Sopenharmony_ci slew-rate = <SLEW_RATE_SLOW>; 21062306a36Sopenharmony_ci power-source = <IO_STANDARD_LVCMOS18>; 21162306a36Sopenharmony_ci }; 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_ci conf-rx { 21462306a36Sopenharmony_ci pins = "MIO70", "MIO72", "MIO74"; 21562306a36Sopenharmony_ci bias-high-impedance; 21662306a36Sopenharmony_ci low-power-disable; 21762306a36Sopenharmony_ci }; 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ci conf-bootstrap { 22062306a36Sopenharmony_ci pins = "MIO71", "MIO73", "MIO75"; 22162306a36Sopenharmony_ci bias-disable; 22262306a36Sopenharmony_ci low-power-disable; 22362306a36Sopenharmony_ci }; 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci conf-tx { 22662306a36Sopenharmony_ci pins = "MIO64", "MIO65", "MIO66", 22762306a36Sopenharmony_ci "MIO67", "MIO68", "MIO69"; 22862306a36Sopenharmony_ci bias-disable; 22962306a36Sopenharmony_ci low-power-enable; 23062306a36Sopenharmony_ci }; 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci conf-mdio { 23362306a36Sopenharmony_ci groups = "mdio3_0_grp"; 23462306a36Sopenharmony_ci slew-rate = <SLEW_RATE_SLOW>; 23562306a36Sopenharmony_ci power-source = <IO_STANDARD_LVCMOS18>; 23662306a36Sopenharmony_ci bias-disable; 23762306a36Sopenharmony_ci }; 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci mux-mdio { 24062306a36Sopenharmony_ci function = "mdio3"; 24162306a36Sopenharmony_ci groups = "mdio3_0_grp"; 24262306a36Sopenharmony_ci }; 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci mux { 24562306a36Sopenharmony_ci function = "ethernet3"; 24662306a36Sopenharmony_ci groups = "ethernet3_0_grp"; 24762306a36Sopenharmony_ci }; 24862306a36Sopenharmony_ci }; 24962306a36Sopenharmony_ci 25062306a36Sopenharmony_ci pinctrl_usb0_default: usb0-default { 25162306a36Sopenharmony_ci conf { 25262306a36Sopenharmony_ci groups = "usb0_0_grp"; 25362306a36Sopenharmony_ci power-source = <IO_STANDARD_LVCMOS18>; 25462306a36Sopenharmony_ci }; 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ci conf-rx { 25762306a36Sopenharmony_ci pins = "MIO52", "MIO53", "MIO55"; 25862306a36Sopenharmony_ci bias-high-impedance; 25962306a36Sopenharmony_ci drive-strength = <12>; 26062306a36Sopenharmony_ci slew-rate = <SLEW_RATE_FAST>; 26162306a36Sopenharmony_ci }; 26262306a36Sopenharmony_ci 26362306a36Sopenharmony_ci conf-tx { 26462306a36Sopenharmony_ci pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", 26562306a36Sopenharmony_ci "MIO60", "MIO61", "MIO62", "MIO63"; 26662306a36Sopenharmony_ci bias-disable; 26762306a36Sopenharmony_ci drive-strength = <4>; 26862306a36Sopenharmony_ci slew-rate = <SLEW_RATE_SLOW>; 26962306a36Sopenharmony_ci }; 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci mux { 27262306a36Sopenharmony_ci groups = "usb0_0_grp"; 27362306a36Sopenharmony_ci function = "usb0"; 27462306a36Sopenharmony_ci }; 27562306a36Sopenharmony_ci }; 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ci pinctrl_sdhci1_default: sdhci1-default { 27862306a36Sopenharmony_ci conf { 27962306a36Sopenharmony_ci groups = "sdio1_0_grp"; 28062306a36Sopenharmony_ci slew-rate = <SLEW_RATE_SLOW>; 28162306a36Sopenharmony_ci power-source = <IO_STANDARD_LVCMOS18>; 28262306a36Sopenharmony_ci bias-disable; 28362306a36Sopenharmony_ci }; 28462306a36Sopenharmony_ci 28562306a36Sopenharmony_ci conf-cd { 28662306a36Sopenharmony_ci groups = "sdio1_cd_0_grp"; 28762306a36Sopenharmony_ci bias-high-impedance; 28862306a36Sopenharmony_ci bias-pull-up; 28962306a36Sopenharmony_ci slew-rate = <SLEW_RATE_SLOW>; 29062306a36Sopenharmony_ci power-source = <IO_STANDARD_LVCMOS18>; 29162306a36Sopenharmony_ci }; 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ci mux-cd { 29462306a36Sopenharmony_ci groups = "sdio1_cd_0_grp"; 29562306a36Sopenharmony_ci function = "sdio1_cd"; 29662306a36Sopenharmony_ci }; 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ci mux { 29962306a36Sopenharmony_ci groups = "sdio1_0_grp"; 30062306a36Sopenharmony_ci function = "sdio1"; 30162306a36Sopenharmony_ci }; 30262306a36Sopenharmony_ci }; 30362306a36Sopenharmony_ci}; 30462306a36Sopenharmony_ci 30562306a36Sopenharmony_ci&uart1 { 30662306a36Sopenharmony_ci status = "okay"; 30762306a36Sopenharmony_ci pinctrl-names = "default"; 30862306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_uart1_default>; 30962306a36Sopenharmony_ci}; 310