/*
 * Andrew Lunn <andrew@lunn.ch>
 * Ben Peddell <klightspeed@killerwolves.net>
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2.  This program is licensed "as is" without any
 * warranty of any kind, whether express or implied.
 */

/dts-v1/;

#include "kirkwood.dtsi"
#include "kirkwood-6282.dtsi"
#include "kirkwood-synology.dtsi"

/ {
	model = "Synology DS411slim";
	compatible = "synology,ds411slim", "marvell,kirkwood";

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

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

	gpio-fan-100-15-35-1 {
		status = "okay";
	};

	gpio-leds-hdd-36 {
		status = "okay";
	};
};

&eth1 {
	status = "okay";
};

&s35390a {
	status = "okay";
};

&pcie1 {
	status = "okay";
};
