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	regulator-3 {
50		compatible = "regulator-fixed";
51		regulator-name = "SATA2 power";
52		regulator-min-microvolt = <5000000>;
53		regulator-max-microvolt = <5000000>;
54		enable-active-high;
55		regulator-always-on;
56		regulator-boot-on;
57		gpio = <&pca9554 6 GPIO_ACTIVE_HIGH>;
58	};
59
60	regulator-4 {
61		compatible = "regulator-fixed";
62		regulator-name = "SATA3 power";
63		regulator-min-microvolt = <5000000>;
64		regulator-max-microvolt = <5000000>;
65		enable-active-high;
66		regulator-always-on;
67		regulator-boot-on;
68		gpio = <&pca9554 7 GPIO_ACTIVE_HIGH>;
69	};
70
71	gpio-leds {
72		led-red-sata2 {
73			label = "dart:red:sata2";
74			gpios = <&pca9554 0 GPIO_ACTIVE_LOW>;
75		};
76		led-red-sata3 {
77			label = "dart:red:sata3";
78			gpios = <&pca9554 3 GPIO_ACTIVE_LOW>;
79		};
80	};
81
82	leds-ns2 {
83		compatible = "lacie,ns2-leds";
84
85		white-sata2 {
86			label = "dart:white:sata2";
87			cmd-gpio = <&pca9554 1 GPIO_ACTIVE_HIGH>;
88			slow-gpio = <&pca9554 2 GPIO_ACTIVE_HIGH>;
89			num-modes = <4>;
90			modes-map = <NS_V2_LED_SATA 0 0
91				     NS_V2_LED_OFF  0 1
92				     NS_V2_LED_ON   1 0
93				     NS_V2_LED_ON   1 1>;
94		};
95		white-sata3 {
96			label = "dart:white:sata3";
97			cmd-gpio = <&pca9554 4 GPIO_ACTIVE_HIGH>;
98			slow-gpio = <&pca9554 5 GPIO_ACTIVE_HIGH>;
99			num-modes = <4>;
100			modes-map = <NS_V2_LED_SATA 0 0
101				     NS_V2_LED_OFF  0 1
102				     NS_V2_LED_ON   1 0
103				     NS_V2_LED_ON   1 1>;
104		};
105	};
106
107	gpio-fan {
108		gpio-fan,speed-map =
109			<   0 3
110			  800 2
111			  1050 1
112			  1300 0>;
113	};
114};
115
116&pciec {
117	/* SATA AHCI controller 88SE9170 */
118	pcie@1,0 {
119		status = "okay";
120	};
121};
122
123&mdio {
124	phy1: ethernet-phy@1 {
125		reg = <1>;
126	};
127};
128
129