/dts-v1/;

#include "kirkwood-nsa3x0-common.dtsi"

/*
 * There are at least two different NSA310 designs. This variant has
 * a red/green USB Led (same as nsa310) and a lm85 temp/fan controller.
 */

/ {
	model = "ZyXEL NSA310b";
	compatible = "zyxel,nsa310b", "zyxel,nsa310", "marvell,kirkwood-88f6281", "marvell,kirkwood";

	aliases {
		led-boot = &led_green_sys;
		led-failsafe = &led_red_sys;
		led-running = &led_green_sys;
		led-upgrade = &led_red_sys;
	};

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

	chosen {
		bootargs = "console=ttyS0,115200";
		stdout-path = &uart0;
	};

	ocp@f1000000 {
		pinctrl: pin-controller@10000 {
			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_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";
			};

		};

		i2c@11000 {
			status = "okay";

			lm85: lm85@2e {
				compatible = "national,lm85";
				reg = <0x2e>;
			};
		};
	};

	gpio-leds {
		compatible = "gpio-leds";

		led_green_sys: green-sys {
			label = "nsa310:green:sys";
			gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
			default-state = "on";
		};

		led_red_sys: red-sys {
			label = "nsa310:red:sys";
			gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
		};

		green-hdd {
			label = "nsa310:green:hdd";
			gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "ata1";
		};

		red-hdd {
			label = "nsa310:red:hdd";
			gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
		};

		green-esata {
			label = "nsa310:green:esata";
			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "ata2";
		};

		red-esata {
			label = "nsa310:red:esata";
			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
		};

		green-usb {
			label = "nsa310:green:usb";
			gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "usb-host";
		};

		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>;
		};
	};
};
