/*
 * 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";

		copy {
			label = "USB Copy";
			linux,code = <KEY_COPY>;
			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
		};
		reset {
			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>;
	};
};
