0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Device Tree common file for the Seagate NAS 2 and 4-bay (Armada 370 SoC).
0004 *
0005 * Copyright (C) 2015 Seagate
0006 *
0007 * Author: Vincent Donnefort <vdonnefort@gmail.com>
0008 */
0009
0010 /*
0011 * TODO: add support for the white SATA LEDs associated with HDD 0 and 1.
0012 */
0013
0014 #include "armada-370.dtsi"
0015 #include <dt-bindings/gpio/gpio.h>
0016 #include <dt-bindings/input/input.h>
0017
0018 / {
0019 chosen {
0020 stdout-path = "serial0:115200n8";
0021 };
0022
0023 memory@0 {
0024 device_type = "memory";
0025 reg = <0x00000000 0x20000000>; /* 512 MB */
0026 };
0027
0028 soc {
0029 ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
0030 MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>;
0031
0032 internal-regs {
0033 serial@12000 {
0034 status = "okay";
0035 };
0036
0037 sata@a0000 {
0038 nr-ports = <2>;
0039 status = "okay";
0040 };
0041
0042 ethernet@70000 {
0043 status = "okay";
0044 pinctrl-0 = <&ge0_rgmii_pins>;
0045 pinctrl-names = "default";
0046 phy = <&phy0>;
0047 phy-mode = "rgmii-id";
0048 };
0049
0050 i2c@11000 {
0051 status = "okay";
0052 pinctrl-0 = <&i2c0_pins>;
0053 pinctrl-names = "default";
0054 clock-frequency = <100000>;
0055
0056 /* RTC - NXP 8563T (second source) */
0057 rtc@51 {
0058 compatible = "nxp,pcf8563";
0059 reg = <0x51>;
0060 interrupts = <110>;
0061 };
0062 /* RTC - MCP7940NT */
0063 rtc@6f {
0064 compatible = "microchip,mcp7941x";
0065 reg = <0x6f>;
0066 interrupts = <110>;
0067 };
0068 };
0069 };
0070
0071 };
0072
0073 regulators {
0074 compatible = "simple-bus";
0075 #address-cells = <1>;
0076 #size-cells = <0>;
0077 pinctrl-names = "default";
0078
0079 regulator@1 {
0080 compatible = "regulator-fixed";
0081 reg = <1>;
0082 regulator-name = "SATA0 power";
0083 regulator-min-microvolt = <5000000>;
0084 regulator-max-microvolt = <5000000>;
0085 enable-active-high;
0086 regulator-always-on;
0087 regulator-boot-on;
0088 gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>;
0089 };
0090 regulator@2 {
0091 compatible = "regulator-fixed";
0092 reg = <2>;
0093 regulator-name = "SATA1 power";
0094 regulator-min-microvolt = <5000000>;
0095 regulator-max-microvolt = <5000000>;
0096 enable-active-high;
0097 regulator-always-on;
0098 regulator-boot-on;
0099 gpio = <&gpio1 22 GPIO_ACTIVE_HIGH>;
0100 };
0101 };
0102
0103 gpio-fan {
0104 compatible = "gpio-fan";
0105 gpios = <&gpio2 0 GPIO_ACTIVE_HIGH
0106 &gpio2 1 GPIO_ACTIVE_HIGH>;
0107 };
0108
0109 gpio-keys {
0110 compatible = "gpio-keys";
0111
0112 button-power {
0113 label = "Power button";
0114 linux,code = <KEY_POWER>;
0115 gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
0116 debounce-interval = <100>;
0117 };
0118 button-backup {
0119 label = "Backup button";
0120 linux,code = <KEY_OPTION>;
0121 gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
0122 debounce-interval = <100>;
0123 };
0124 button-reset {
0125 label = "Reset Button";
0126 linux,code = <KEY_RESTART>;
0127 gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
0128 debounce-interval = <100>;
0129 };
0130 };
0131
0132 gpio-leds {
0133 compatible = "gpio-leds";
0134
0135 white-power {
0136 label = "dart:white:power";
0137 gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
0138 linux,default-trigger = "timer";
0139
0140 };
0141 red-power {
0142 label = "dart:red:power";
0143 gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>;
0144 };
0145 red-sata0 {
0146 label = "dart:red:sata0";
0147 gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
0148 };
0149 red-sata1 {
0150 label = "dart:red:sata1";
0151 gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
0152 };
0153 };
0154
0155 gpio_poweroff {
0156 compatible = "gpio-poweroff";
0157 gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
0158 };
0159 };
0160
0161 &pciec {
0162 status = "okay";
0163
0164 /* USB 3.0 bridge ASM1042A */
0165 pcie@2,0 {
0166 status = "okay";
0167 };
0168 };
0169
0170
0171 &mdio {
0172 pinctrl-0 = <&mdio_pins>;
0173 pinctrl-names = "default";
0174
0175 phy0: ethernet-phy@0 {
0176 reg = <0>;
0177 };
0178 };
0179
0180 &pinctrl {
0181 pinctrl-0 = <&hdd0_led_sata_pin>, <&hdd1_led_sata_pin>;
0182 pinctrl-names = "default";
0183
0184 hdd0_led_sata_pin: hdd0-led-sata-pin {
0185 marvell,pins = "mpp48";
0186 marvell,function = "sata1";
0187 };
0188 hdd0_led_gpio_pin: hdd0-led-gpio-pin {
0189 marvell,pins = "mpp48";
0190 marvell,function = "gpio";
0191 };
0192 hdd1_led_sata_pin: hdd1-led-sata-pin {
0193 marvell,pins = "mpp57";
0194 marvell,function = "sata0";
0195 };
0196 hdd1_led_gpio_pin: hdd1-led-gpio-pin {
0197 marvell,pins = "mpp57";
0198 marvell,function = "gpio";
0199 };
0200 };
0201
0202 &nand_controller {
0203 status = "okay";
0204
0205 nand@0 {
0206 reg = <0>;
0207 label = "pxa3xx_nand-0";
0208 nand-rb = <0>;
0209 marvell,nand-keep-config;
0210 nand-on-flash-bbt;
0211 nand-ecc-strength = <4>;
0212 nand-ecc-step-size = <512>;
0213
0214 partitions {
0215 compatible = "fixed-partitions";
0216 #address-cells = <1>;
0217 #size-cells = <1>;
0218
0219 partition@0 {
0220 label = "u-boot";
0221 reg = <0x0 0x300000>;
0222 };
0223 partition@300000 {
0224 label = "device-tree";
0225 reg = <0x300000 0x20000>;
0226 };
0227 partition@320000 {
0228 label = "linux";
0229 reg = <0x320000 0x2000000>;
0230 };
0231 partition@2320000 {
0232 label = "rootfs";
0233 reg = <0x2320000 0xdce0000>;
0234 };
0235 };
0236 };
0237 };