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