Merge tag 'fuse-update-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mszered...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / armada-xp-netgear-rn2120.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Device Tree file for NETGEAR ReadyNAS 2120
4  *
5  * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
6  */
7
8 /dts-v1/;
9
10 #include <dt-bindings/input/input.h>
11 #include <dt-bindings/gpio/gpio.h>
12 #include "armada-xp-mv78230.dtsi"
13
14 / {
15         model = "NETGEAR ReadyNAS 2120";
16         compatible = "netgear,readynas-2120", "marvell,armadaxp-mv78230", "marvell,armadaxp", "marvell,armada-370-xp";
17
18         chosen {
19                 stdout-path = "serial0:115200n8";
20         };
21
22         memory@0 {
23                 device_type = "memory";
24                 reg = <0 0x00000000 0 0x80000000>; /* 2GB */
25         };
26
27         soc {
28                 ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000
29                           MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
30                           MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000
31                           MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000>;
32
33                 internal-regs {
34
35                         /* RTC is provided by Intersil ISL12057 I2C RTC chip */
36                         rtc@10300 {
37                                 status = "disabled";
38                         };
39
40                         i2c@11000 {
41                                 clock-frequency = <400000>;
42                                 status = "okay";
43
44                                 /* Controller for rear fan #1 of 3 (Protechnic
45                                  * MGT4012XB-O20, 8000RPM) near eSATA port */
46                                 g762_fan1: g762@3e {
47                                         compatible = "gmt,g762";
48                                         reg = <0x3e>;
49                                         clocks = <&g762_clk>; /* input clock */
50                                         fan_gear_mode = <0>;
51                                         fan_startv = <1>;
52                                         pwm_polarity = <0>;
53                                 };
54
55                                 /*  Controller for rear (center) fan #2 of 3 */
56                                 g762_fan2: g762@48 {
57                                         compatible = "gmt,g762";
58                                         reg = <0x48>;
59                                         clocks = <&g762_clk>; /* input clock */
60                                         fan_gear_mode = <0>;
61                                         fan_startv = <1>;
62                                         pwm_polarity = <0>;
63                                 };
64
65                                 /*  Controller for rear fan #3 of 3 */
66                                 g762_fan3: g762@49 {
67                                         compatible = "gmt,g762";
68                                         reg = <0x49>;
69                                         clocks = <&g762_clk>; /* input clock */
70                                         fan_gear_mode = <0>;
71                                         fan_startv = <1>;
72                                         pwm_polarity = <0>;
73                                 };
74
75                                 /* Temperature sensor */
76                                 g751: g751@4c {
77                                         compatible = "gmt,g751";
78                                         reg = <0x4c>;
79                                 };
80
81                                 isl12057: rtc@68 {
82                                         compatible = "isil,isl12057";
83                                         reg = <0x68>;
84                                         wakeup-source;
85                                 };
86                         };
87
88                         serial@12000 {
89                                 status = "okay";
90                         };
91
92                         /* Front USB 2.0 port */
93                         usb@50000 {
94                                 status = "okay";
95                         };
96
97                         ethernet@70000 {
98                                 pinctrl-0 = <&ge0_rgmii_pins>;
99                                 pinctrl-names = "default";
100
101                                 status = "okay";
102                                 phy = <&phy0>;
103                                 phy-mode = "rgmii-id";
104                         };
105
106                         ethernet@74000 {
107                                 pinctrl-0 = <&ge1_rgmii_pins>;
108                                 pinctrl-names = "default";
109
110                                 status = "okay";
111                                 phy = <&phy1>;
112                                 phy-mode = "rgmii-id";
113                         };
114
115                         /* Two rear eSATA ports */
116                         sata@a0000 {
117                                 nr-ports = <2>;
118                                 status = "okay";
119                         };
120
121                         nand@d0000 {
122                                 status = "okay";
123                                 num-cs = <1>;
124                                 marvell,nand-keep-config;
125                                 marvell,nand-enable-arbiter;
126                                 nand-on-flash-bbt;
127
128                                 /* Use Hardware BCH ECC */
129                                 nand-ecc-strength = <4>;
130                                 nand-ecc-step-size = <512>;
131
132                                 partition@0 {
133                                         label = "u-boot";
134                                         reg = <0x0000000 0x180000>;  /* 1.5MB */
135                                         read-only;
136                                 };
137
138                                 partition@180000 {
139                                         label = "u-boot-env";
140                                         reg = <0x180000 0x20000>;    /* 128KB */
141                                         read-only;
142                                 };
143
144                                 partition@200000 {
145                                         label = "uImage";
146                                         reg = <0x0200000 0x600000>;    /* 6MB */
147                                 };
148
149                                 partition@800000 {
150                                         label = "minirootfs";
151                                         reg = <0x0800000 0x400000>;    /* 4MB */
152                                 };
153
154                                 /* Last MB is for the BBT, i.e. not writable */
155                                 partition@c00000 {
156                                         label = "ubifs";
157                                         reg = <0x0c00000 0x7400000>; /* 116MB */
158                                 };
159                         };
160                 };
161         };
162
163         clocks {
164                g762_clk: g762-oscillator {
165                          compatible = "fixed-clock";
166                          #clock-cells = <0>;
167                          clock-frequency = <32768>;
168                };
169         };
170
171         gpio-leds {
172                 compatible = "gpio-leds";
173                 pinctrl-0 = <&sata1_led_pin &sata2_led_pin &err_led_pin
174                              &sata3_led_pin &sata4_led_pin>;
175                 pinctrl-names = "default";
176
177                 red-sata1-led {
178                         label = "rn2120:red:sata1";
179                         gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
180                         default-state = "off";
181                 };
182
183                 red-sata2-led {
184                         label = "rn2120:red:sata2";
185                         gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
186                         default-state = "off";
187                 };
188
189                 red-sata3-led {
190                         label = "rn2120:red:sata3";
191                         gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
192                         default-state = "off";
193                 };
194
195                 red-sata4-led {
196                         label = "rn2120:red:sata4";
197                         gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
198                         default-state = "off";
199                 };
200
201                 red-err-led {
202                         label = "rn2120:red:err";
203                         gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
204                         default-state = "off";
205                 };
206         };
207
208         gpio-keys {
209                 compatible = "gpio-keys";
210                 pinctrl-0 = <&power_button_pin &reset_button_pin>;
211                 pinctrl-names = "default";
212
213                 power-button {
214                         label = "Power Button";
215                         linux,code = <KEY_POWER>;
216                         gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
217                 };
218
219                 reset-button {
220                         label = "Reset Button";
221                         linux,code = <KEY_RESTART>;
222                         gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
223                 };
224         };
225
226         gpio-poweroff {
227                 compatible = "gpio-poweroff";
228                 pinctrl-0 = <&poweroff>;
229                 pinctrl-names = "default";
230                 gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
231         };
232 };
233
234 &pciec {
235         status = "okay";
236
237         /* Connected to first Marvell 88SE9170 SATA controller */
238         pcie@1,0 {
239                 /* Port 0, Lane 0 */
240                 status = "okay";
241         };
242
243         /* Connected to second Marvell 88SE9170 SATA controller */
244         pcie@2,0 {
245                 /* Port 0, Lane 1 */
246                 status = "okay";
247         };
248
249         /* Connected to Fresco Logic FL1009 USB 3.0 controller */
250         pcie@5,0 {
251                 /* Port 1, Lane 0 */
252                 status = "okay";
253         };
254 };
255
256 &mdio {
257         phy0: ethernet-phy@0 { /* Marvell 88E1318 */
258                 reg = <0>;
259         };
260
261         phy1: ethernet-phy@1 { /* Marvell 88E1318 */
262                 reg = <1>;
263         };
264 };
265
266
267 &pinctrl {
268         poweroff: poweroff {
269                 marvell,pins = "mpp42";
270                 marvell,function = "gpio";
271         };
272
273         power_button_pin: power-button-pin {
274                 marvell,pins = "mpp27";
275                 marvell,function = "gpio";
276         };
277
278         reset_button_pin: reset-button-pin {
279                 marvell,pins = "mpp41";
280                 marvell,function = "gpio";
281         };
282
283         sata1_led_pin: sata1-led-pin {
284                 marvell,pins = "mpp31";
285                 marvell,function = "gpio";
286         };
287
288         sata2_led_pin: sata2-led-pin {
289                 marvell,pins = "mpp40";
290                 marvell,function = "gpio";
291         };
292
293         sata3_led_pin: sata3-led-pin {
294                 marvell,pins = "mpp44";
295                 marvell,function = "gpio";
296         };
297
298         sata4_led_pin: sata4-led-pin {
299                 marvell,pins = "mpp47";
300                 marvell,function = "gpio";
301         };
302
303         sata1_power_pin: sata1-power-pin {
304                 marvell,pins = "mpp24";
305                 marvell,function = "gpio";
306         };
307
308         sata2_power_pin: sata2-power-pin {
309                 marvell,pins = "mpp25";
310                 marvell,function = "gpio";
311         };
312
313         sata3_power_pin: sata3-power-pin {
314                 marvell,pins = "mpp26";
315                 marvell,function = "gpio";
316         };
317
318         sata4_power_pin: sata4-power-pin {
319                 marvell,pins = "mpp28";
320                 marvell,function = "gpio";
321         };
322
323         sata1_pres_pin: sata1-pres-pin {
324                 marvell,pins = "mpp32";
325                 marvell,function = "gpio";
326         };
327
328         sata2_pres_pin: sata2-pres-pin {
329                 marvell,pins = "mpp33";
330                 marvell,function = "gpio";
331         };
332
333         sata3_pres_pin: sata3-pres-pin {
334                 marvell,pins = "mpp34";
335                 marvell,function = "gpio";
336         };
337
338         sata4_pres_pin: sata4-pres-pin {
339                 marvell,pins = "mpp35";
340                 marvell,function = "gpio";
341         };
342
343         err_led_pin: err-led-pin {
344                 marvell,pins = "mpp45";
345                 marvell,function = "gpio";
346         };
347 };