/*
 * Copyright Altera Corporation (C) 2015
 *
 * SPDX-License-Identifier:	GPL-2.0+
 */

#include "socfpga_cyclone5.dtsi"

/ {
	model = "Terasic DE0-Nano(Atlas)";
	compatible = "altr,socfpga-cyclone5", "altr,socfpga";

	chosen {
		bootargs = "console=ttyS0,115200";
	};

	aliases {
		ethernet0 = &gmac1;
		udc0 = &usb1;
	};

	memory {
		name = "memory";
		device_type = "memory";
		reg = <0x0 0x40000000>; /* 1GB */
	};

	soc {
		u-boot,dm-pre-reloc;
	};
};

&gmac1 {
	status = "okay";
	phy-mode = "rgmii";

	rxd0-skew-ps = <420>;
	rxd1-skew-ps = <420>;
	rxd2-skew-ps = <420>;
	rxd3-skew-ps = <420>;
	txen-skew-ps = <0>;
	txc-skew-ps = <1860>;
	rxdv-skew-ps = <420>;
	rxc-skew-ps = <1680>;
};

&gpio0 {
	status = "okay";
};

&gpio1 {
	status = "okay";
};

&gpio2 {
	status = "okay";
};

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

&usb1 {
	status = "okay";
};
