Back to home page

OSCL-LXR

 
 

    


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 };