forked from Minki/linux
ARM: mvebu: add DT support for Seagate Personal Cloud
This patch adds DT support for the Seagate Personal Cloud 1 and 2-Bay. Here are some information allowing to identify these devices: Product name | Personal Cloud | Personal Cloud 2-Bay Code name (board/PCB) | Cumulus | Cumulus Max Model name (case sticker) | SRN21C | SRN22C Material desc (product spec) | STCRxxxxxxx | STCSxxxxxxx Chipset list: - SoC Marvell Armada 370 88F6707, CPU @1GHz - SDRAM memory: 512MB DDR3 667MHz (16-bits bandwidth) - SPI flash 1MB (Macronix MX25L8006E) - 1 or 2 SATA internal ports - 1 Ethernet Gigabit port (PHY Marvell 88E1518) - 1 USB3 host port (PCIe controller ASM1042) - 1 USB2 host port (SoC) - 2 push buttons (power and reset) - 1 SATA LED (bi-color, white and red) Note that support for the white SATA LED is missing. A dedicated LED driver is needed. Signed-off-by: Simon Guinot <simon.guinot@sequanux.org> Acked-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
This commit is contained in:
parent
85a9efcd4e
commit
0ac73f76ad
@ -704,6 +704,8 @@ dtb-$(CONFIG_MACH_ARMADA_370) += \
|
||||
armada-370-rd.dtb \
|
||||
armada-370-seagate-nas-2bay.dtb \
|
||||
armada-370-seagate-nas-4bay.dtb \
|
||||
armada-370-seagate-personal-cloud.dtb \
|
||||
armada-370-seagate-personal-cloud-2bay.dtb \
|
||||
armada-370-synology-ds213j.dtb
|
||||
dtb-$(CONFIG_MACH_ARMADA_375) += \
|
||||
armada-375-db.dtb
|
||||
|
51
arch/arm/boot/dts/armada-370-seagate-personal-cloud-2bay.dts
Normal file
51
arch/arm/boot/dts/armada-370-seagate-personal-cloud-2bay.dts
Normal file
@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Device Tree file for Seagate Personal Cloud NAS 2-Bay (Armada 370 SoC).
|
||||
*
|
||||
* Copyright (C) 2015 Seagate
|
||||
*
|
||||
* Author: Simon Guinot <simon.guinot@sequanux.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Here are some information allowing to identify the device:
|
||||
*
|
||||
* Product name : Seagate Personal Cloud 2-Bay
|
||||
* Code name (board/PCB) : Cumulus Max
|
||||
* Model name (case sticker) : SRN22C
|
||||
* Material desc (product spec) : STCSxxxxxxx
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "armada-370-seagate-personal-cloud.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Seagate Personal Cloud 2-Bay (Cumulus, SRN22C)";
|
||||
compatible = "seagate,cumulus-max", "marvell,armada370", "marvell,armada-370-xp";
|
||||
|
||||
soc {
|
||||
internal-regs {
|
||||
sata@a0000 {
|
||||
status = "okay";
|
||||
nr-ports = <2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
regulators {
|
||||
regulator@2 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <2>;
|
||||
regulator-name = "SATA1 power";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
enable-active-high;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
gpio = <&gpio1 22 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
37
arch/arm/boot/dts/armada-370-seagate-personal-cloud.dts
Normal file
37
arch/arm/boot/dts/armada-370-seagate-personal-cloud.dts
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Device Tree file for Seagate Personal Cloud NAS (Armada 370 SoC).
|
||||
*
|
||||
* Copyright (C) 2015 Seagate
|
||||
*
|
||||
* Author: Simon Guinot <simon.guinot@sequanux.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Here are some information allowing to identify the device:
|
||||
*
|
||||
* Product name : Seagate Personal Cloud
|
||||
* Code name (board/PCB) : Cumulus
|
||||
* Model name (case sticker) : SRN21C
|
||||
* Material desc (product spec) : STCRxxxxxxx
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "armada-370-seagate-personal-cloud.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Seagate Personal Cloud (Cumulus, SRN21C)";
|
||||
compatible = "seagate,cumulus", "marvell,armada370", "marvell,armada-370-xp";
|
||||
|
||||
soc {
|
||||
internal-regs {
|
||||
sata@a0000 {
|
||||
status = "okay";
|
||||
nr-ports = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
178
arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi
Normal file
178
arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi
Normal file
@ -0,0 +1,178 @@
|
||||
/*
|
||||
* Device Tree common file for the Seagate Personal Cloud NAS 1 and 2-Bay
|
||||
* (Armada 370 SoC).
|
||||
*
|
||||
* Copyright (C) 2015 Seagate
|
||||
*
|
||||
* Author: Simon Guinot <simon.guinot@sequanux.org>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
/*
|
||||
* TODO: add support for the white SATA LED.
|
||||
*/
|
||||
|
||||
#include "armada-370.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x20000000>; /* 512 MB */
|
||||
};
|
||||
|
||||
soc {
|
||||
ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
|
||||
MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>;
|
||||
|
||||
pcie-controller {
|
||||
status = "okay";
|
||||
|
||||
/* USB 3.0 Bridge ASM1042A */
|
||||
pcie@1,0 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
internal-regs {
|
||||
coherency-fabric@20200 {
|
||||
broken-idle;
|
||||
};
|
||||
|
||||
serial@12000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
mdio {
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
ethernet@74000 {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&ge1_rgmii_pins>;
|
||||
pinctrl-names = "default";
|
||||
phy = <&phy0>;
|
||||
phy-mode = "rgmii-id";
|
||||
};
|
||||
|
||||
spi@10600 {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&spi0_pins2>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
spi-flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
/* MX25L8006E */
|
||||
compatible = "mxicy,mx25l8005", "jedec,spi-nor";
|
||||
reg = <0>; /* Chip select 0 */
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0x0 0x100000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb@50000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
regulators {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
regulator@0 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <0>;
|
||||
regulator-name = "USB Power";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
gpio = <&gpio1 27 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
regulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <1>;
|
||||
regulator-name = "SATA0 power";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
enable-active-high;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
button@1 {
|
||||
label = "Power button";
|
||||
linux,code = <KEY_POWER>;
|
||||
gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
|
||||
debounce-interval = <100>;
|
||||
};
|
||||
button@2 {
|
||||
label = "Reset Button";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
|
||||
debounce-interval = <100>;
|
||||
};
|
||||
button@3 {
|
||||
label = "USB VBUS error";
|
||||
linux,code = <KEY_UNKNOWN>;
|
||||
gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
|
||||
debounce-interval = <100>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio-leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
red-sata0 {
|
||||
label = "cumulus:red:sata0";
|
||||
gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
gpio_poweroff {
|
||||
compatible = "gpio-poweroff";
|
||||
gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
pinctrl-0 = <&sata_led_pin>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
sata_led_pin: sata-led-pin {
|
||||
marvell,pins = "mpp60";
|
||||
marvell,function = "sata0";
|
||||
};
|
||||
gpio_led_pin: gpio-led-pin {
|
||||
marvell,pins = "mpp60";
|
||||
marvell,function = "gpio";
|
||||
};
|
||||
};
|
Loading…
Reference in New Issue
Block a user