Merge branch 'work.splice_read' of git://git.kernel.org/pub/scm/linux/kernel/git...
[cascardo/linux.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 {
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                 pcie-controller {
37                         status = "okay";
38
39                         /* USB 3.0 Bridge ASM1042A */
40                         pcie@1,0 {
41                                 status = "okay";
42                         };
43                 };
44
45                 internal-regs {
46                         coherency-fabric@20200 {
47                                 broken-idle;
48                         };
49
50                         serial@12000 {
51                                 status = "okay";
52                         };
53
54                         mdio {
55                                 pinctrl-0 = <&mdio_pins>;
56                                 pinctrl-names = "default";
57
58                                 phy0: ethernet-phy@0 {
59                                         reg = <0>;
60                                 };
61                         };
62
63                         ethernet@74000 {
64                                 status = "okay";
65                                 pinctrl-0 = <&ge1_rgmii_pins>;
66                                 pinctrl-names = "default";
67                                 phy = <&phy0>;
68                                 phy-mode = "rgmii-id";
69                         };
70
71                         usb@50000 {
72                                 status = "okay";
73                         };
74                 };
75         };
76
77         regulators {
78                 compatible = "simple-bus";
79                 #address-cells = <1>;
80                 #size-cells = <0>;
81
82                 regulator@0 {
83                         compatible = "regulator-fixed";
84                         reg = <0>;
85                         regulator-name = "USB Power";
86                         regulator-min-microvolt = <5000000>;
87                         regulator-max-microvolt = <5000000>;
88                         regulator-always-on;
89                         regulator-boot-on;
90                         gpio = <&gpio1 27 GPIO_ACTIVE_LOW>;
91                 };
92                 regulator@1 {
93                         compatible = "regulator-fixed";
94                         reg = <1>;
95                         regulator-name = "SATA0 power";
96                         regulator-min-microvolt = <5000000>;
97                         regulator-max-microvolt = <5000000>;
98                         enable-active-high;
99                         regulator-always-on;
100                         regulator-boot-on;
101                         gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>;
102                 };
103         };
104
105         gpio-keys {
106                 compatible = "gpio-keys";
107                 #address-cells = <1>;
108                 #size-cells = <0>;
109
110                 button@1 {
111                         label = "Power button";
112                         linux,code = <KEY_POWER>;
113                         gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
114                         debounce-interval = <100>;
115                 };
116                 button@2 {
117                         label = "Reset Button";
118                         linux,code = <KEY_RESTART>;
119                         gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
120                         debounce-interval = <100>;
121                 };
122                 button@3 {
123                         label = "USB VBUS error";
124                         linux,code = <KEY_UNKNOWN>;
125                         gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
126                         debounce-interval = <100>;
127                 };
128         };
129
130         gpio-leds {
131                 compatible = "gpio-leds";
132
133                 red-sata0 {
134                         label = "cumulus:red:sata0";
135                         gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
136                         default-state = "off";
137                 };
138         };
139
140         gpio_poweroff {
141                 compatible = "gpio-poweroff";
142                 gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>;
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 };