/*
 * Device Tree include file for QNAP TS41X
 *
 * Copyright (C) 2013, Andrew Lunn <andrew@lunn.ch>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version
 * 2 of the License, or (at your option) any later version.
 */

/ {
	model = "QNAP TS419 family";
	compatible = "qnap,ts419", "marvell,kirkwood";

	ocp@f1000000 {
		pinctrl: pinctrl@10000 {
			pinctrl-names = "default";

			pmx_USB_copy_button: pmx-USB-copy-button {
				marvell,pins = "mpp43";
				marvell,function = "gpio";
			};
			pmx_reset_button: pmx-reset-button {
				marvell,pins = "mpp37";
				marvell,function = "gpio";
			};
			/*
			 * JP1 indicates if an LCD module is installed
			 * on the serial port (0), or if the port is used
			 * as a console (1).
			 */
			pmx_jumper_jp1: pmx-jumper_jp1 {
				marvell,pins = "mpp45";
				marvell,function = "gpio";
			};

		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		#address-cells = <1>;
		#size-cells = <0>;
		pinctrl-0 = <&pmx_reset_button &pmx_USB_copy_button>;
		pinctrl-names = "default";

		button@1 {
			label = "USB Copy";
			linux,code = <KEY_COPY>;
			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
		};
		button@2 {
			label = "Reset";
			linux,code = <KEY_RESTART>;
			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
		};
	};
};

&mdio {
	status = "okay";

	ethphy1: ethernet-phy@1 {
		device_type = "ethernet-phy";
                /* overwrite reg property in board file */
	};
};

&eth1 {
	status = "okay";
	ethernet1-port@0 {
		phy-handle = <&ethphy1>;
	};
};
