/dts-v1/;

#include "kirkwood-nsa310-common.dtsi"

/ {
	compatible = "zyxel,nsa310", "marvell,kirkwood-88f6281", "marvell,kirkwood";

	memory {
		device_type = "memory";
		reg = <0x00000000 0x10000000>;
	};

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

	mbus {
		pcie-controller {
			status = "okay";

			pcie@1,0 {
				status = "okay";
			};
		};
	};

	ocp@f1000000 {
		pinctrl: pinctrl@10000 {
			pinctrl-0 = <&pmx_unknown>;
			pinctrl-names = "default";

			pmx_led_esata_green: pmx-led-esata-green {
				marvell,pins = "mpp12";
				marvell,function = "gpio";
			};

			pmx_led_esata_red: pmx-led-esata-red {
				marvell,pins = "mpp13";
				marvell,function = "gpio";
			};

			pmx_led_usb_green: pmx-led-usb-green {
				marvell,pins = "mpp15";
				marvell,function = "gpio";
			};

			pmx_led_usb_red: pmx-led-usb-red {
				marvell,pins = "mpp16";
				marvell,function = "gpio";
			};

			pmx_led_sys_green: pmx-led-sys-green {
				marvell,pins = "mpp28";
				marvell,function = "gpio";
			};

			pmx_led_sys_red: pmx-led-sys-red {
				marvell,pins = "mpp29";
				marvell,function = "gpio";
			};

			pmx_btn_reset: pmx-btn-reset {
				marvell,pins = "mpp36";
				marvell,function = "gpio";
			};

			pmx_btn_copy: pmx-btn-copy {
				marvell,pins = "mpp37";
				marvell,function = "gpio";
			};

			pmx_led_copy_green: pmx-led-copy-green {
				marvell,pins = "mpp39";
				marvell,function = "gpio";
			};

			pmx_led_copy_red: pmx-led-copy-red {
				marvell,pins = "mpp40";
				marvell,function = "gpio";
			};

			pmx_led_hdd_green: pmx-led-hdd-green {
				marvell,pins = "mpp41";
				marvell,function = "gpio";
			};

			pmx_led_hdd_red: pmx-led-hdd-red {
				marvell,pins = "mpp42";
				marvell,function = "gpio";
			};

			pmx_unknown: pmx-unknown {
				marvell,pins = "mpp44";
				marvell,function = "gpio";
			};

			pmx_btn_power: pmx-btn-power {
				marvell,pins = "mpp46";
				marvell,function = "gpio";
			};
		};

		i2c@11000 {
			status = "okay";

			adt7476: adt7476a@2e {
				compatible = "adi,adt7476";
				reg = <0x2e>;
			};
		};
	};

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

		button@1 {
			label = "Power Button";
			linux,code = <KEY_POWER>;
			gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
		};
		button@2 {
			label = "Copy Button";
			linux,code = <KEY_COPY>;
			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
		};
		button@3 {
			label = "Reset Button";
			linux,code = <KEY_RESTART>;
			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
		};
	};

	gpio-leds {
		compatible = "gpio-leds";
		pinctrl-0 = <&pmx_led_esata_green &pmx_led_esata_red
			     &pmx_led_usb_green &pmx_led_usb_red
			     &pmx_led_sys_green &pmx_led_sys_red
			     &pmx_led_copy_green &pmx_led_copy_red
			     &pmx_led_hdd_green &pmx_led_hdd_red>;
		pinctrl-names = "default";

		green-sys {
			label = "nsa310:green:sys";
			gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
		};
		red-sys {
			label = "nsa310:red:sys";
			gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
		};
		green-hdd {
			label = "nsa310:green:hdd";
			gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
		};
		red-hdd {
			label = "nsa310:red:hdd";
			gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
		};
		green-esata {
			label = "nsa310:green:esata";
			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
		};
		red-esata {
			label = "nsa310:red:esata";
			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
		};
		green-usb {
			label = "nsa310:green:usb";
			gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
		};
		red-usb {
			label = "nsa310:red:usb";
			gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
		};
		green-copy {
			label = "nsa310:green:copy";
			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
		};
		red-copy {
			label = "nsa310:red:copy";
			gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
		};
	};
};
