/*
 * 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: pin-controller@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>;
	};
};
