1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Device Tree file for NETGEAR ReadyNAS NV+ v2
4 *
5 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
6 */
7
8/dts-v1/;
9
10#include "kirkwood.dtsi"
11#include "kirkwood-6282.dtsi"
12
13/ {
14	model = "NETGEAR ReadyNAS NV+ v2";
15	compatible = "netgear,readynas-nv+-v2", "netgear,readynas", "marvell,kirkwood-88f6282", "marvell,kirkwood";
16
17	memory { /* 256 MB */
18		device_type = "memory";
19		reg = <0x00000000 0x10000000>;
20	};
21
22	chosen {
23		bootargs = "console=ttyS0,115200n8 earlyprintk";
24		stdout-path = &uart0;
25	};
26
27	ocp@f1000000 {
28		pinctrl: pin-controller@10000 {
29			pmx_button_power: pmx-button-power {
30				marvell,pins = "mpp47";
31				marvell,function = "gpio";
32			};
33
34			pmx_button_backup: pmx-button-backup {
35				marvell,pins = "mpp45";
36				marvell,function = "gpio";
37			};
38
39			pmx_button_reset: pmx-button-reset {
40				marvell,pins = "mpp13";
41				marvell,function = "gpio";
42			};
43
44			pmx_led_blue_power: pmx-led-blue-power {
45				marvell,pins = "mpp31";
46				marvell,function = "gpio";
47			};
48
49			pmx_led_blue_backup: pmx-led-blue-backup {
50				marvell,pins = "mpp22";
51				marvell,function = "gpio";
52			};
53
54			pmx_led_blue_disk1: pmx-led-blue-disk1 {
55				marvell,pins = "mpp20";
56				marvell,function = "gpio";
57			};
58
59			pmx_led_blue_disk2: pmx-led-blue-disk2 {
60				marvell,pins = "mpp23";
61				marvell,function = "gpio";
62			};
63
64			pmx_led_blue_disk3: pmx-led-blue-disk3 {
65				marvell,pins = "mpp24";
66				marvell,function = "gpio";
67			};
68
69			pmx_led_blue_disk4: pmx-led-blue-disk4 {
70				marvell,pins = "mpp29";
71				marvell,function = "gpio";
72			};
73
74			pmx_poweroff: pmx-poweroff {
75				marvell,pins = "mpp30";
76				marvell,function = "gpio";
77			};
78		};
79
80		clocks {
81		       g762_clk: g762-oscillator {
82				 compatible = "fixed-clock";
83				 #clock-cells = <0>;
84				 clock-frequency = <8192>;
85		       };
86		};
87
88		i2c@11000 {
89			status = "okay";
90
91			rs5c372a: rs5c372a@32 {
92				compatible = "ricoh,rs5c372a";
93				reg = <0x32>;
94			};
95
96			g762: g762@3e {
97				compatible = "gmt,g762";
98				reg = <0x3e>;
99				clocks = <&g762_clk>; /* input clock */
100				fan_gear_mode = <0>;
101				fan_startv = <1>;
102				pwm_polarity = <0>;
103			};
104		};
105
106		serial@12000 {
107			status = "okay";
108		};
109
110		sata@80000 { /* Connected to Marvell 88SM4140 SATA port multiplier */
111			status = "okay";
112			nr-ports = <1>;
113		};
114	};
115
116	gpio-leds {
117		compatible = "gpio-leds";
118		pinctrl-0 = < &pmx_led_blue_power &pmx_led_blue_backup
119			      &pmx_led_blue_disk1 &pmx_led_blue_disk2
120			      &pmx_led_blue_disk3 &pmx_led_blue_disk3 >;
121		pinctrl-names = "default";
122
123		power_led {
124			label = "status:blue:power_led";
125			gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
126			linux,default-trigger = "default-on";
127		};
128
129		backup_led {
130			label = "status:blue:backup_led";
131			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
132		};
133
134		disk1_led {
135			label = "status:blue:disk1_led";
136			gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
137		};
138
139		disk2_led {
140			label = "status:blue:disk2_led";
141			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
142		};
143
144		disk3_led {
145			label = "status:blue:disk3_led";
146			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
147		};
148
149		disk4_led {
150			label = "status:blue:disk4_led";
151			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
152		};
153	};
154
155	gpio-keys {
156		compatible = "gpio-keys";
157		pinctrl-0 = <&pmx_button_power &pmx_button_backup
158			     &pmx_button_reset>;
159		pinctrl-names = "default";
160
161		power-button {
162			label = "Power Button";
163			linux,code = <KEY_POWER>;
164			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
165		};
166
167		reset-button {
168			label = "Reset Button";
169			linux,code = <KEY_RESTART>;
170			gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
171		};
172
173		backup-button {
174			label = "Backup Button";
175			linux,code = <KEY_COPY>;
176			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
177		};
178	};
179
180	gpio-poweroff {
181		compatible = "gpio-poweroff";
182		pinctrl-0 = <&pmx_poweroff>;
183		pinctrl-names = "default";
184		gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
185	};
186
187	regulators {
188		compatible = "simple-bus";
189		#address-cells = <1>;
190		#size-cells = <0>;
191
192		usb3_regulator: usb3-regulator@1 {
193			compatible = "regulator-fixed";
194			reg = <1>;
195			regulator-name = "USB 3.0 Power";
196			regulator-min-microvolt = <5000000>;
197			regulator-max-microvolt = <5000000>;
198			enable-active-high;
199			regulator-always-on;
200			regulator-boot-on;
201			gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>;
202		};
203	};
204};
205
206&nand {
207	status = "okay";
208
209	partition@0 {
210		label = "u-boot";
211		reg = <0x0000000 0x180000>;
212		read-only;
213	};
214
215	partition@180000 {
216		label = "u-boot-env";
217		reg = <0x180000 0x20000>;
218	};
219
220	partition@200000 {
221		label = "uImage";
222		reg = <0x0200000 0x600000>;
223	};
224
225	partition@800000 {
226		label = "minirootfs";
227		reg = <0x0800000 0x1000000>;
228	};
229
230	partition@1800000 {
231		label = "jffs2";
232		reg = <0x1800000 0x6800000>;
233	};
234};
235
236&mdio {
237	status = "okay";
238
239	ethphy0: ethernet-phy@0 { /* Marvell 88E1318 */
240		device_type = "ethernet-phy";
241		reg = <0>;
242	};
243};
244
245&eth0 {
246	status = "okay";
247
248	ethernet0-port@0 {
249		phy-handle = <&ethphy0>;
250	};
251};
252
253/* Connected to NEC uPD720200 USB 3.0 controller */
254&pciec {
255        status = "okay";
256};
257
258&pcie0 {
259	status = "okay";
260};
261