// SPDX-License-Identifier: GPL-2.0
/*
 * dts file for Xilinx ZynqMP ZCU1275 RevB
 *
 * (C) Copyright 2018 - 2021, Xilinx, Inc.
 *
 * Michal Simek <michal.simek@amd.com>
 * Siva Durga Prasad Paladugu <siva.durga.prasad.paladugu@amd.com>>
 */

/dts-v1/;

#include "zynqmp.dtsi"
#include "zynqmp-clk-ccf.dtsi"

/ {
	model = "ZynqMP ZCU1275 RevB";
	compatible = "xlnx,zynqmp-zcu1275-revB", "xlnx,zynqmp-zcu1275",
		     "xlnx,zynqmp";

	aliases {
		serial0 = &uart0;
		serial1 = &dcc;
		spi0 = &qspi;
		mmc0 = &sdhci1;
		ethernet0 = &gem1;
	};

	chosen {
		bootargs = "earlycon";
		stdout-path = "serial0:115200n8";
	};

	memory@0 {
		device_type = "memory";
		reg = <0x0 0x0 0x0 0x80000000>;
	};
};

&dcc {
	status = "okay";
};

&gem1 {
	status = "okay";
	mdio {
		#address-cells = <1>;
		#size-cells = <0>;
		phy1: ethernet-phy@1 {
			reg = <1>; /* KSZ9031RNXIC on AES-FMC-NETW1-G */
			rxc-skew-ps = <1800>; /* Skew control of RX_CLK pad output */
			txc-skew-ps = <1800>; /* Skew control of GTX_CLK pad input */
			txen-skew-ps = <900>; /* Skew control of TX_CTL pad input */
			rxdv-skew-ps = <0>; /* Skew control of RX_CTL pad output */
			rxd0-skew-ps = <0>; /* Skew control of RXD0 pad output */
			rxd1-skew-ps = <0>; /* Skew control of RXD1 pad output */
			rxd2-skew-ps = <0>; /* Skew control of RXD2 pad output */
			rxd3-skew-ps = <0>; /* Skew control of RXD3 pad output */
			txd0-skew-ps = <900>; /* Skew control of TXD0 pad input */
			txd1-skew-ps = <900>; /* Skew control of TXD1 pad input */
			txd2-skew-ps = <900>; /* Skew control of TXD2 pad input */
			txd3-skew-ps = <900>; /* Skew control of TXD3 pad input */
		};
	};
};

&gpio {
	status = "okay";
};

&qspi {
	status = "okay";
	flash@0 {
		compatible = "m25p80", "jedec,spi-nor"; /* 32MB */
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0x0>;
		spi-tx-bus-width = <1>;
		spi-rx-bus-width = <1>;
		spi-max-frequency = <108000000>; /* Based on DC1 spec */
		partition@0 { /* for testing purpose */
			label = "qspi-fsbl-uboot";
			reg = <0x0 0x100000>;
		};
		partition@100000 { /* for testing purpose */
			label = "qspi-linux";
			reg = <0x100000 0x500000>;
		};
		partition@600000 { /* for testing purpose */
			label = "qspi-device-tree";
			reg = <0x600000 0x20000>;
		};
		partition@620000 { /* for testing purpose */
			label = "qspi-rootfs";
			reg = <0x620000 0x5E0000>;
		};
	};
};

&uart0 {
	status = "okay";
};

&sdhci1 {
	status = "okay";
	/*
	 * 1.0 revision has level shifter and this property should be
	 * removed for supporting UHS mode
	 */
	no-1-8-v;
	xlnx,mio-bank = <1>;
};
