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