/*
 * 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 {
		internal-regs {
			serial@12000 {
				clock-frequency = <200000000>;
				status = "okay";
			};
			timer@20300 {
				clock-frequency = <600000000>;
				status = "okay";
			};

			pinctrl {
				pwr_led_pin: pwr-led-pin {
					marvell,pins = "mpp63";
					marvell,function = "gpo";
				};

				stat_led_pins: stat-led-pins {
					marvell,pins = "mpp64", "mpp65";
					marvell,function = "gpio";
				};
			};

			gpio_leds {
				compatible = "gpio-leds";
				pinctrl-names = "default";
				pinctrl-0 = <&pwr_led_pin &stat_led_pins>;

				green_pwr_led {
					label = "mirabox:green:pwr";
					gpios = <&gpio1 31 1>;
					linux,default-trigger = "heartbeat";
				};

				blue_stat_led {
					label = "mirabox:blue:stat";
					gpios = <&gpio2 0 1>;
					linux,default-trigger = "cpu0";
				};

				green_stat_led {
					label = "mirabox:green:stat";
					gpios = <&gpio2 1 1>;
					default-state = "off";
				};
			};

			mdio {
				phy0: ethernet-phy@0 {
					reg = <0>;
				};

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

			mvsdio@d4000 {
				pinctrl-0 = <&sdio_pins3>;
				pinctrl-names = "default";
				status = "okay";
				/*
				 * No CD or WP GPIOs: SDIO interface used for
				 * Wifi/Bluetooth chip
				 */
			};

			usb@50000 {
				status = "okay";
			};

			usb@51000 {
				status = "okay";
			};

			i2c@11000 {
				status = "okay";
				clock-frequency = <100000>;
				pca9505: pca9505@25 {
					compatible = "nxp,pca9505";
					gpio-controller;
					#gpio-cells = <2>;
					reg = <0x25>;
				};
			};

			pcie-controller {
				status = "okay";

				/* Internal mini-PCIe connector */
				pcie@1,0 {
					/* Port 0, Lane 0 */
					status = "okay";
				};

				/* Connected on the PCB to a USB 3.0 XHCI controller */
				pcie@2,0 {
					/* Port 1, Lane 0 */
					status = "okay";
				};
			};
		};
	};
};
