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