/*
 * Device Tree file for Globalscale Mirabox
 *
 * Gregory CLEMENT <gregory.clement@free-electrons.com>
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2.  This program is licensed "as is" without any
 * warranty of any kind, whether express or implied.
 */

/dts-v1/;
/include/ "armada-370.dtsi"

/ {
	model = "Globalscale Mirabox";
	compatible = "globalscale,mirabox", "marvell,armada370", "marvell,armada-370-xp";

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

	memory {
		device_type = "memory";
		reg = <0x00000000 0x20000000>; /* 512 MB */
	};

	soc {
		serial@d0012000 {
			clock-frequency = <200000000>;
			status = "okay";
		};
		timer@d0020300 {
			clock-frequency = <600000000>;
			status = "okay";
		};
		mdio {
			phy0: ethernet-phy@0 {
				reg = <0>;
			};

			phy1: ethernet-phy@1 {
				reg = <1>;
			};
		};
		ethernet@d0070000 {
			status = "okay";
			phy = <&phy0>;
			phy-mode = "rgmii-id";
		};
		ethernet@d0074000 {
			status = "okay";
			phy = <&phy1>;
			phy-mode = "rgmii-id";
		};
	};
};
