1/*
2 * Device Tree file for Seagate NAS 4-Bay (Armada 370 SoC).
3 *
4 * Copyright (C) 2015 Seagate
5 *
6 * Author: Vincent Donnefort <vdonnefort@gmail.com>
7 *
8 * This file is licensed under the terms of the GNU General Public
9 * License version 2.  This program is licensed "as is" without any
10 * warranty of any kind, whether express or implied.
11 */
12
13/*
14 * Here are some information allowing to identify the device:
15 *
16 * Product name                 : Seagate NAS 4-Bay
17 * Code name (board/PCB)        : Dart 4-Bay
18 * Model name (case sticker)    : SRPD40
19 * Material desc (product spec) : STCUxxxxxxx
20 */
21
22/dts-v1/;
23#include "armada-370-seagate-nas-xbay.dtsi"
24#include <dt-bindings/leds/leds-ns2.h>
25
26/ {
27	model = "Seagate NAS 4-Bay (Dart, SRPD40)";
28	compatible = "seagate,dart-4", "marvell,armada370", "marvell,armada-370-xp";
29
30	soc {
31		pcie-controller {
32			/* SATA AHCI controller 88SE9170 */
33			pcie@1,0 {
34				status = "okay";
35			};
36		};
37
38		internal-regs {
39			mdio {
40				phy1: ethernet-phy@1 {
41					reg = <1>;
42				};
43			};
44
45			ethernet@74000 {
46				status = "okay";
47				pinctrl-0 = <&ge1_rgmii_pins>;
48				pinctrl-names = "default";
49				phy = <&phy1>;
50				phy-mode = "rgmii-id";
51			};
52
53			i2c@11000 {
54				/* I2C GPIO expander (PCA9554A) */
55				pca9554: pca9554@21 {
56					compatible = "nxp,pca9554";
57					reg = <0x21>;
58					#gpio-cells = <2>;
59					gpio-controller;
60				};
61			};
62		};
63	};
64
65	regulators {
66		regulator@3 {
67			compatible = "regulator-fixed";
68			reg = <3>;
69			regulator-name = "SATA2 power";
70			regulator-min-microvolt = <5000000>;
71			regulator-max-microvolt = <5000000>;
72			enable-active-high;
73			regulator-always-on;
74			regulator-boot-on;
75			gpio = <&pca9554 6 GPIO_ACTIVE_HIGH>;
76		};
77		regulator@4 {
78			compatible = "regulator-fixed";
79			reg = <4>;
80			regulator-name = "SATA3 power";
81			regulator-min-microvolt = <5000000>;
82			regulator-max-microvolt = <5000000>;
83			enable-active-high;
84			regulator-always-on;
85			regulator-boot-on;
86			gpio = <&pca9554 7 GPIO_ACTIVE_HIGH>;
87		};
88	};
89
90	gpio-leds {
91		red-sata2 {
92			label = "dart:red:sata2";
93			gpios = <&pca9554 0 GPIO_ACTIVE_LOW>;
94		};
95		red-sata3 {
96			label = "dart:red:sata3";
97			gpios = <&pca9554 3 GPIO_ACTIVE_LOW>;
98		};
99	};
100
101	leds-ns2 {
102		compatible = "lacie,ns2-leds";
103
104		white-sata2 {
105			label = "dart:white:sata2";
106			cmd-gpio = <&pca9554 1 GPIO_ACTIVE_HIGH>;
107			slow-gpio = <&pca9554 2 GPIO_ACTIVE_HIGH>;
108			num-modes = <4>;
109			modes-map = <NS_V2_LED_SATA 0 0
110				     NS_V2_LED_OFF  0 1
111				     NS_V2_LED_ON   1 0
112				     NS_V2_LED_ON   1 1>;
113		};
114		white-sata3 {
115			label = "dart:white:sata3";
116			cmd-gpio = <&pca9554 4 GPIO_ACTIVE_HIGH>;
117			slow-gpio = <&pca9554 5 GPIO_ACTIVE_HIGH>;
118			num-modes = <4>;
119			modes-map = <NS_V2_LED_SATA 0 0
120				     NS_V2_LED_OFF  0 1
121				     NS_V2_LED_ON   1 0
122				     NS_V2_LED_ON   1 1>;
123		};
124	};
125
126	gpio-fan {
127		gpio-fan,speed-map =
128			<   0 3
129			  800 2
130			  1050 1
131			  1300 0>;
132	};
133};
134