]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi
Merge remote-tracking branch 'md/for-next'
[karo-tx-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                         spi@10600 {
72                                 status = "okay";
73                                 pinctrl-0 = <&spi0_pins2>;
74                                 pinctrl-names = "default";
75
76                                 spi-flash@0 {
77                                         #address-cells = <1>;
78                                         #size-cells = <1>;
79                                         /* MX25L8006E */
80                                         compatible = "mxicy,mx25l8005", "jedec,spi-nor";
81                                         reg = <0>; /* Chip select 0 */
82                                         spi-max-frequency = <50000000>;
83
84                                         partition@0 {
85                                                 label = "u-boot";
86                                                 reg = <0x0 0x100000>;
87                                         };
88                                 };
89                         };
90
91                         usb@50000 {
92                                 status = "okay";
93                         };
94                 };
95         };
96
97         regulators {
98                 compatible = "simple-bus";
99                 #address-cells = <1>;
100                 #size-cells = <0>;
101
102                 regulator@0 {
103                         compatible = "regulator-fixed";
104                         reg = <0>;
105                         regulator-name = "USB Power";
106                         regulator-min-microvolt = <5000000>;
107                         regulator-max-microvolt = <5000000>;
108                         regulator-always-on;
109                         regulator-boot-on;
110                         gpio = <&gpio1 27 GPIO_ACTIVE_LOW>;
111                 };
112                 regulator@1 {
113                         compatible = "regulator-fixed";
114                         reg = <1>;
115                         regulator-name = "SATA0 power";
116                         regulator-min-microvolt = <5000000>;
117                         regulator-max-microvolt = <5000000>;
118                         enable-active-high;
119                         regulator-always-on;
120                         regulator-boot-on;
121                         gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>;
122                 };
123         };
124
125         gpio-keys {
126                 compatible = "gpio-keys";
127                 #address-cells = <1>;
128                 #size-cells = <0>;
129
130                 button@1 {
131                         label = "Power button";
132                         linux,code = <KEY_POWER>;
133                         gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
134                         debounce-interval = <100>;
135                 };
136                 button@2 {
137                         label = "Reset Button";
138                         linux,code = <KEY_RESTART>;
139                         gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
140                         debounce-interval = <100>;
141                 };
142                 button@3 {
143                         label = "USB VBUS error";
144                         linux,code = <KEY_UNKNOWN>;
145                         gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
146                         debounce-interval = <100>;
147                 };
148         };
149
150         gpio-leds {
151                 compatible = "gpio-leds";
152
153                 red-sata0 {
154                         label = "cumulus:red:sata0";
155                         gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
156                         default-state = "off";
157                 };
158         };
159
160         gpio_poweroff {
161                 compatible = "gpio-poweroff";
162                 gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>;
163         };
164 };
165
166 &pinctrl {
167         pinctrl-0 = <&sata_led_pin>;
168         pinctrl-names = "default";
169
170         sata_led_pin: sata-led-pin {
171                 marvell,pins = "mpp60";
172                 marvell,function = "sata0";
173         };
174         gpio_led_pin: gpio-led-pin {
175                 marvell,pins = "mpp60";
176                 marvell,function = "gpio";
177         };
178 };