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