// SPDX-License-Identifier: GPL-2.0 /* * Device Tree common file for the Seagate NAS 2 and 4-bay (Armada 370 SoC). * * Copyright (C) 2015 Seagate * * Author: Vincent Donnefort <vdonnefort@gmail.com> */ /* * TODO: add support for the white SATA LEDs associated with HDD 0 and 1. */ #include "armada-370.dtsi" #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/input/input.h> / { chosen { stdout-path = "serial0:115200n8"; }; memory@0 { device_type = "memory"; reg = <0x00000000 0x20000000>; /* 512 MB */ }; soc { ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>; internal-regs { serial@12000 { status = "okay"; }; sata@a0000 { nr-ports = <2>; status = "okay"; }; ethernet@70000 { status = "okay"; pinctrl-0 = <&ge0_rgmii_pins>; pinctrl-names = "default"; phy = <&phy0>; phy-mode = "rgmii-id"; }; i2c@11000 { status = "okay"; pinctrl-0 = <&i2c0_pins>; pinctrl-names = "default"; clock-frequency = <100000>; /* RTC - NXP 8563T (second source) */ rtc@51 { compatible = "nxp,pcf8563"; reg = <0x51>; interrupts = <110>; }; /* RTC - MCP7940NT */ rtc@6f { compatible = "microchip,mcp7941x"; reg = <0x6f>; interrupts = <110>; }; }; }; }; regulator-1 { compatible = "regulator-fixed"; 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>; }; regulator-2 { compatible = "regulator-fixed"; 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>; }; gpio-fan { compatible = "gpio-fan"; gpios = <&gpio2 0 GPIO_ACTIVE_HIGH &gpio2 1 GPIO_ACTIVE_HIGH>; }; gpio-keys { compatible = "gpio-keys"; button-power { label = "Power button"; linux,code = <KEY_POWER>; gpios = <&gpio1 19 GPIO_ACTIVE_LOW>; debounce-interval = <100>; }; button-backup { label = "Backup button"; linux,code = <KEY_OPTION>; gpios = <&gpio0 31 GPIO_ACTIVE_LOW>; debounce-interval = <100>; }; button-reset { label = "Reset Button"; linux,code = <KEY_RESTART>; gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; debounce-interval = <100>; }; }; gpio-leds { compatible = "gpio-leds"; led-white-power { label = "dart:white:power"; gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; linux,default-trigger = "timer"; }; led-red-power { label = "dart:red:power"; gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>; }; led-red-sata0 { label = "dart:red:sata0"; gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; }; led-red-sata1 { label = "dart:red:sata1"; gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; }; }; gpio_poweroff { compatible = "gpio-poweroff"; gpios = <&gpio1 30 GPIO_ACTIVE_LOW>; }; }; &pciec { status = "okay"; /* USB 3.0 bridge ASM1042A */ pcie@2,0 { status = "okay"; }; }; &mdio { pinctrl-0 = <&mdio_pins>; pinctrl-names = "default"; phy0: ethernet-phy@0 { reg = <0>; }; }; &pinctrl { pinctrl-0 = <&hdd0_led_sata_pin>, <&hdd1_led_sata_pin>; pinctrl-names = "default"; hdd0_led_sata_pin: hdd0-led-sata-pin { marvell,pins = "mpp48"; marvell,function = "sata1"; }; hdd0_led_gpio_pin: hdd0-led-gpio-pin { marvell,pins = "mpp48"; marvell,function = "gpio"; }; hdd1_led_sata_pin: hdd1-led-sata-pin { marvell,pins = "mpp57"; marvell,function = "sata0"; }; hdd1_led_gpio_pin: hdd1-led-gpio-pin { marvell,pins = "mpp57"; marvell,function = "gpio"; }; }; &nand_controller { status = "okay"; nand@0 { reg = <0>; label = "pxa3xx_nand-0"; nand-rb = <0>; marvell,nand-keep-config; nand-on-flash-bbt; nand-ecc-strength = <4>; nand-ecc-step-size = <512>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { label = "u-boot"; reg = <0x0 0x300000>; }; partition@300000 { label = "device-tree"; reg = <0x300000 0x20000>; }; partition@320000 { label = "linux"; reg = <0x320000 0x2000000>; }; partition@2320000 { label = "rootfs"; reg = <0x2320000 0xdce0000>; }; }; }; };