1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Device Tree common file for the Seagate Personal Cloud NAS 1 and 2-Bay 4*724ba675SRob Herring * (Armada 370 SoC). 5*724ba675SRob Herring * 6*724ba675SRob Herring * Copyright (C) 2015 Seagate 7*724ba675SRob Herring * 8*724ba675SRob Herring * Author: Simon Guinot <simon.guinot@sequanux.org> 9*724ba675SRob Herring */ 10*724ba675SRob Herring 11*724ba675SRob Herring/* 12*724ba675SRob Herring * TODO: add support for the white SATA LED. 13*724ba675SRob Herring */ 14*724ba675SRob Herring 15*724ba675SRob Herring#include "armada-370.dtsi" 16*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 17*724ba675SRob Herring#include <dt-bindings/input/input.h> 18*724ba675SRob Herring 19*724ba675SRob Herring/ { 20*724ba675SRob Herring chosen { 21*724ba675SRob Herring stdout-path = "serial0:115200n8"; 22*724ba675SRob Herring }; 23*724ba675SRob Herring 24*724ba675SRob Herring memory@0 { 25*724ba675SRob Herring device_type = "memory"; 26*724ba675SRob Herring reg = <0x00000000 0x20000000>; /* 512 MB */ 27*724ba675SRob Herring }; 28*724ba675SRob Herring 29*724ba675SRob Herring soc { 30*724ba675SRob Herring ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 31*724ba675SRob Herring MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>; 32*724ba675SRob Herring 33*724ba675SRob Herring internal-regs { 34*724ba675SRob Herring coherency-fabric@20200 { 35*724ba675SRob Herring broken-idle; 36*724ba675SRob Herring }; 37*724ba675SRob Herring 38*724ba675SRob Herring serial@12000 { 39*724ba675SRob Herring status = "okay"; 40*724ba675SRob Herring }; 41*724ba675SRob Herring 42*724ba675SRob Herring ethernet@74000 { 43*724ba675SRob Herring status = "okay"; 44*724ba675SRob Herring pinctrl-0 = <&ge1_rgmii_pins>; 45*724ba675SRob Herring pinctrl-names = "default"; 46*724ba675SRob Herring phy = <&phy0>; 47*724ba675SRob Herring phy-mode = "rgmii-id"; 48*724ba675SRob Herring }; 49*724ba675SRob Herring 50*724ba675SRob Herring usb@50000 { 51*724ba675SRob Herring status = "okay"; 52*724ba675SRob Herring }; 53*724ba675SRob Herring }; 54*724ba675SRob Herring }; 55*724ba675SRob Herring 56*724ba675SRob Herring regulators { 57*724ba675SRob Herring compatible = "simple-bus"; 58*724ba675SRob Herring #address-cells = <1>; 59*724ba675SRob Herring #size-cells = <0>; 60*724ba675SRob Herring 61*724ba675SRob Herring regulator@0 { 62*724ba675SRob Herring compatible = "regulator-fixed"; 63*724ba675SRob Herring reg = <0>; 64*724ba675SRob Herring regulator-name = "USB Power"; 65*724ba675SRob Herring regulator-min-microvolt = <5000000>; 66*724ba675SRob Herring regulator-max-microvolt = <5000000>; 67*724ba675SRob Herring regulator-always-on; 68*724ba675SRob Herring regulator-boot-on; 69*724ba675SRob Herring gpio = <&gpio1 27 GPIO_ACTIVE_LOW>; 70*724ba675SRob Herring }; 71*724ba675SRob Herring regulator@1 { 72*724ba675SRob Herring compatible = "regulator-fixed"; 73*724ba675SRob Herring reg = <1>; 74*724ba675SRob Herring regulator-name = "SATA0 power"; 75*724ba675SRob Herring regulator-min-microvolt = <5000000>; 76*724ba675SRob Herring regulator-max-microvolt = <5000000>; 77*724ba675SRob Herring enable-active-high; 78*724ba675SRob Herring regulator-always-on; 79*724ba675SRob Herring regulator-boot-on; 80*724ba675SRob Herring gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>; 81*724ba675SRob Herring }; 82*724ba675SRob Herring }; 83*724ba675SRob Herring 84*724ba675SRob Herring gpio-keys { 85*724ba675SRob Herring compatible = "gpio-keys"; 86*724ba675SRob Herring 87*724ba675SRob Herring button-power { 88*724ba675SRob Herring label = "Power button"; 89*724ba675SRob Herring linux,code = <KEY_POWER>; 90*724ba675SRob Herring gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>; 91*724ba675SRob Herring debounce-interval = <100>; 92*724ba675SRob Herring }; 93*724ba675SRob Herring button-reset { 94*724ba675SRob Herring label = "Reset Button"; 95*724ba675SRob Herring linux,code = <KEY_RESTART>; 96*724ba675SRob Herring gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; 97*724ba675SRob Herring debounce-interval = <100>; 98*724ba675SRob Herring }; 99*724ba675SRob Herring button-usb { 100*724ba675SRob Herring label = "USB VBUS error"; 101*724ba675SRob Herring linux,code = <KEY_UNKNOWN>; 102*724ba675SRob Herring gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; 103*724ba675SRob Herring debounce-interval = <100>; 104*724ba675SRob Herring }; 105*724ba675SRob Herring }; 106*724ba675SRob Herring 107*724ba675SRob Herring gpio-leds { 108*724ba675SRob Herring compatible = "gpio-leds"; 109*724ba675SRob Herring 110*724ba675SRob Herring led-red-sata0 { 111*724ba675SRob Herring label = "cumulus:red:sata0"; 112*724ba675SRob Herring gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>; 113*724ba675SRob Herring default-state = "off"; 114*724ba675SRob Herring }; 115*724ba675SRob Herring }; 116*724ba675SRob Herring 117*724ba675SRob Herring gpio_poweroff { 118*724ba675SRob Herring compatible = "gpio-poweroff"; 119*724ba675SRob Herring gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>; 120*724ba675SRob Herring }; 121*724ba675SRob Herring}; 122*724ba675SRob Herring 123*724ba675SRob Herring&pciec { 124*724ba675SRob Herring status = "okay"; 125*724ba675SRob Herring 126*724ba675SRob Herring /* USB 3.0 Bridge ASM1042A */ 127*724ba675SRob Herring pcie@1,0 { 128*724ba675SRob Herring status = "okay"; 129*724ba675SRob Herring }; 130*724ba675SRob Herring}; 131*724ba675SRob Herring 132*724ba675SRob Herring&mdio { 133*724ba675SRob Herring pinctrl-0 = <&mdio_pins>; 134*724ba675SRob Herring pinctrl-names = "default"; 135*724ba675SRob Herring 136*724ba675SRob Herring phy0: ethernet-phy@0 { 137*724ba675SRob Herring reg = <0>; 138*724ba675SRob Herring }; 139*724ba675SRob Herring}; 140*724ba675SRob Herring 141*724ba675SRob Herring&pinctrl { 142*724ba675SRob Herring pinctrl-0 = <&sata_led_pin>; 143*724ba675SRob Herring pinctrl-names = "default"; 144*724ba675SRob Herring 145*724ba675SRob Herring sata_led_pin: sata-led-pin { 146*724ba675SRob Herring marvell,pins = "mpp60"; 147*724ba675SRob Herring marvell,function = "sata0"; 148*724ba675SRob Herring }; 149*724ba675SRob Herring gpio_led_pin: gpio-led-pin { 150*724ba675SRob Herring marvell,pins = "mpp60"; 151*724ba675SRob Herring marvell,function = "gpio"; 152*724ba675SRob Herring }; 153*724ba675SRob Herring}; 154*724ba675SRob Herring 155*724ba675SRob Herring&spi0 { 156*724ba675SRob Herring status = "okay"; 157*724ba675SRob Herring pinctrl-0 = <&spi0_pins2>; 158*724ba675SRob Herring pinctrl-names = "default"; 159*724ba675SRob Herring 160*724ba675SRob Herring flash@0 { 161*724ba675SRob Herring #address-cells = <1>; 162*724ba675SRob Herring #size-cells = <1>; 163*724ba675SRob Herring /* MX25L8006E */ 164*724ba675SRob Herring compatible = "mxicy,mx25l8005", "jedec,spi-nor"; 165*724ba675SRob Herring reg = <0>; /* Chip select 0 */ 166*724ba675SRob Herring spi-max-frequency = <50000000>; 167*724ba675SRob Herring 168*724ba675SRob Herring partition@0 { 169*724ba675SRob Herring label = "u-boot"; 170*724ba675SRob Herring reg = <0x0 0x100000>; 171*724ba675SRob Herring }; 172*724ba675SRob Herring }; 173*724ba675SRob Herring}; 174