/*
 * Device Tree file for Seagate NAS 2-Bay (Armada 370 SoC).
 *
 * Copyright (C) 2015 Seagate
 *
 * Author: Vincent Donnefort <vdonnefort@gmail.com>
 *
 * 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.
 */

/*
 * Here are some information allowing to identify the device:
 *
 * Product name                 : Seagate NAS 2-Bay
 * Code name (board/PCB)        : Dart 2-Bay
 * Model name (case sticker)    : SRPD20
 * Material desc (product spec) : STCTxxxxxxx
 */

/dts-v1/;
#include "armada-370-seagate-nas-xbay.dtsi"

/ {
	model = "Seagate NAS 2-Bay (Dart, SRPD20)";
	compatible = "seagate,dart-2", "marvell,armada370", "marvell,armada-370-xp";

	gpio-fan {
		gpio-fan,speed-map =
			<   0 3
			  950 2
			 1400 1
			 1800 0>;
	};
};
