162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Device Tree file for Seagate NAS 4-Bay (Armada 370 SoC).
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2015 Seagate
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Author: Vincent Donnefort <vdonnefort@gmail.com>
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/*
1162306a36Sopenharmony_ci * Here are some information allowing to identify the device:
1262306a36Sopenharmony_ci *
1362306a36Sopenharmony_ci * Product name                 : Seagate NAS 4-Bay
1462306a36Sopenharmony_ci * Code name (board/PCB)        : Dart 4-Bay
1562306a36Sopenharmony_ci * Model name (case sticker)    : SRPD40
1662306a36Sopenharmony_ci * Material desc (product spec) : STCUxxxxxxx
1762306a36Sopenharmony_ci */
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci/dts-v1/;
2062306a36Sopenharmony_ci#include "armada-370-seagate-nas-xbay.dtsi"
2162306a36Sopenharmony_ci#include <dt-bindings/leds/leds-ns2.h>
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci/ {
2462306a36Sopenharmony_ci	model = "Seagate NAS 4-Bay (Dart, SRPD40)";
2562306a36Sopenharmony_ci	compatible = "seagate,dart-4", "marvell,armada370", "marvell,armada-370-xp";
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	soc {
2862306a36Sopenharmony_ci		internal-regs {
2962306a36Sopenharmony_ci			ethernet@74000 {
3062306a36Sopenharmony_ci				status = "okay";
3162306a36Sopenharmony_ci				pinctrl-0 = <&ge1_rgmii_pins>;
3262306a36Sopenharmony_ci				pinctrl-names = "default";
3362306a36Sopenharmony_ci				phy = <&phy1>;
3462306a36Sopenharmony_ci				phy-mode = "rgmii-id";
3562306a36Sopenharmony_ci			};
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci			i2c@11000 {
3862306a36Sopenharmony_ci				/* I2C GPIO expander (PCA9554A) */
3962306a36Sopenharmony_ci				pca9554: pca9554@21 {
4062306a36Sopenharmony_ci					compatible = "nxp,pca9554";
4162306a36Sopenharmony_ci					reg = <0x21>;
4262306a36Sopenharmony_ci					#gpio-cells = <2>;
4362306a36Sopenharmony_ci					gpio-controller;
4462306a36Sopenharmony_ci				};
4562306a36Sopenharmony_ci			};
4662306a36Sopenharmony_ci		};
4762306a36Sopenharmony_ci	};
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	regulator-3 {
5062306a36Sopenharmony_ci		compatible = "regulator-fixed";
5162306a36Sopenharmony_ci		regulator-name = "SATA2 power";
5262306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
5362306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
5462306a36Sopenharmony_ci		enable-active-high;
5562306a36Sopenharmony_ci		regulator-always-on;
5662306a36Sopenharmony_ci		regulator-boot-on;
5762306a36Sopenharmony_ci		gpio = <&pca9554 6 GPIO_ACTIVE_HIGH>;
5862306a36Sopenharmony_ci	};
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci	regulator-4 {
6162306a36Sopenharmony_ci		compatible = "regulator-fixed";
6262306a36Sopenharmony_ci		regulator-name = "SATA3 power";
6362306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
6462306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
6562306a36Sopenharmony_ci		enable-active-high;
6662306a36Sopenharmony_ci		regulator-always-on;
6762306a36Sopenharmony_ci		regulator-boot-on;
6862306a36Sopenharmony_ci		gpio = <&pca9554 7 GPIO_ACTIVE_HIGH>;
6962306a36Sopenharmony_ci	};
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci	gpio-leds {
7262306a36Sopenharmony_ci		led-red-sata2 {
7362306a36Sopenharmony_ci			label = "dart:red:sata2";
7462306a36Sopenharmony_ci			gpios = <&pca9554 0 GPIO_ACTIVE_LOW>;
7562306a36Sopenharmony_ci		};
7662306a36Sopenharmony_ci		led-red-sata3 {
7762306a36Sopenharmony_ci			label = "dart:red:sata3";
7862306a36Sopenharmony_ci			gpios = <&pca9554 3 GPIO_ACTIVE_LOW>;
7962306a36Sopenharmony_ci		};
8062306a36Sopenharmony_ci	};
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci	leds-ns2 {
8362306a36Sopenharmony_ci		compatible = "lacie,ns2-leds";
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci		white-sata2 {
8662306a36Sopenharmony_ci			label = "dart:white:sata2";
8762306a36Sopenharmony_ci			cmd-gpio = <&pca9554 1 GPIO_ACTIVE_HIGH>;
8862306a36Sopenharmony_ci			slow-gpio = <&pca9554 2 GPIO_ACTIVE_HIGH>;
8962306a36Sopenharmony_ci			num-modes = <4>;
9062306a36Sopenharmony_ci			modes-map = <NS_V2_LED_SATA 0 0
9162306a36Sopenharmony_ci				     NS_V2_LED_OFF  0 1
9262306a36Sopenharmony_ci				     NS_V2_LED_ON   1 0
9362306a36Sopenharmony_ci				     NS_V2_LED_ON   1 1>;
9462306a36Sopenharmony_ci		};
9562306a36Sopenharmony_ci		white-sata3 {
9662306a36Sopenharmony_ci			label = "dart:white:sata3";
9762306a36Sopenharmony_ci			cmd-gpio = <&pca9554 4 GPIO_ACTIVE_HIGH>;
9862306a36Sopenharmony_ci			slow-gpio = <&pca9554 5 GPIO_ACTIVE_HIGH>;
9962306a36Sopenharmony_ci			num-modes = <4>;
10062306a36Sopenharmony_ci			modes-map = <NS_V2_LED_SATA 0 0
10162306a36Sopenharmony_ci				     NS_V2_LED_OFF  0 1
10262306a36Sopenharmony_ci				     NS_V2_LED_ON   1 0
10362306a36Sopenharmony_ci				     NS_V2_LED_ON   1 1>;
10462306a36Sopenharmony_ci		};
10562306a36Sopenharmony_ci	};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci	gpio-fan {
10862306a36Sopenharmony_ci		gpio-fan,speed-map =
10962306a36Sopenharmony_ci			<   0 3
11062306a36Sopenharmony_ci			  800 2
11162306a36Sopenharmony_ci			  1050 1
11262306a36Sopenharmony_ci			  1300 0>;
11362306a36Sopenharmony_ci	};
11462306a36Sopenharmony_ci};
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci&pciec {
11762306a36Sopenharmony_ci	/* SATA AHCI controller 88SE9170 */
11862306a36Sopenharmony_ci	pcie@1,0 {
11962306a36Sopenharmony_ci		status = "okay";
12062306a36Sopenharmony_ci	};
12162306a36Sopenharmony_ci};
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci&mdio {
12462306a36Sopenharmony_ci	phy1: ethernet-phy@1 {
12562306a36Sopenharmony_ci		reg = <1>;
12662306a36Sopenharmony_ci	};
12762306a36Sopenharmony_ci};
12862306a36Sopenharmony_ci
129