// SPDX-License-Identifier: GPL-2.0+
/*
 * Xilinx CC108 board DTS
 *
 * (C) Copyright 2007-2018 Xilinx, Inc.
 * (C) Copyright 2007-2013 Michal Simek
 * (C) Copyright 2007-2012 PetaLogix Qld Pty Ltd
 *
 * Michal SIMEK <monstr@monstr.eu>
 */
/dts-v1/;
/include/ "zynq-7000.dtsi"

/ {
	compatible = "xlnx,zynq-cc108", "xlnx,zynq-7000";
	model = "Xilinx Zynq";

	aliases {
		ethernet0 = &gem0;
		serial0 = &uart0;
		spi0 = &qspi;
	};

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

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

	usb_phy0: phy0 {
		compatible = "usb-nop-xceiv";
		#phy-cells = <0>;
	};

	usb_phy1: phy1 {
		compatible = "usb-nop-xceiv";
		#phy-cells = <0>;
	};
};

&gem0 {
	status = "okay";
	phy-mode = "rgmii-id";
	phy-handle = <&ethernet_phy>;

	ethernet_phy: ethernet-phy@1 {
		reg = <1>;
		device_type = "ethernet-phy";
	};
};

&qspi {
	status = "okay";
	is-dual = <0>;
	num-cs = <1>;
	flash@0 { /* 16 MB */
		compatible = "n25q128a11";
		reg = <0x0>;
		spi-max-frequency = <50000000>;
		spi-tx-bus-width = <1>;
		spi-rx-bus-width = <4>;
		#address-cells = <1>;
		#size-cells = <1>;
		partition@0 {
			label = "qspi-fsbl-uboot-bs";
			reg = <0x0 0x400000>; /* 4MB */
		};
		partition@400000 {
			label = "qspi-linux";
			reg = <0x400000 0x400000>; /* 4MB */
		};
		partition@800000 {
			label = "qspi-rootfs";
			reg = <0x800000 0x400000>; /* 4MB */
		};
		partition@c00000 {
			label = "qspi-devicetree";
			reg = <0xc00000 0x100000>; /* 1MB */
		};
		partition@d00000 {
			label = "qspi-scratch";
			reg = <0xd00000 0x200000>; /* 2MB */
		};
		partition@f00000 {
			label = "qspi-uboot-env";
			reg = <0xf00000 0x100000>; /* 1MB */
		};
	};
};

&sdhci1 {
	status = "okay";
	broken-cd ;
	wp-inverted ;
};

&uart0 {
	u-boot,dm-pre-reloc;
	status = "okay";
};

&usb0 {
	status = "okay";
	dr_mode = "host";
	usb-phy = <&usb_phy0>;
};

&usb1 {
	status = "okay";
	dr_mode = "host";
	usb-phy = <&usb_phy1>;
};
