1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Device Tree file for NETGEAR ReadyNAS Duo 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 Duo v2";
15	compatible = "netgear,readynas-duo-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_activity: pmx-led-blue-activity {
50				marvell,pins = "mpp38";
51				marvell,function = "gpio";
52			};
53
54			pmx_led_blue_disk1: pmx-led-blue-disk1 {
55				marvell,pins = "mpp23";
56				marvell,function = "gpio";
57			};
58
59			pmx_led_blue_disk2: pmx-led-blue-disk2 {
60				marvell,pins = "mpp22";
61				marvell,function = "gpio";
62			};
63
64			pmx_led_blue_backup: pmx-led-blue-backup {
65				marvell,pins = "mpp29";
66				marvell,function = "gpio";
67			};
68
69			pmx_poweroff: pmx-poweroff {
70				marvell,pins = "mpp30";
71				marvell,function = "gpio";
72			};
73		};
74
75		clocks {
76		       g762_clk: g762-oscillator {
77				 compatible = "fixed-clock";
78				 #clock-cells = <0>;
79				 clock-frequency = <8192>;
80		       };
81		};
82
83		i2c@11000 {
84			status = "okay";
85
86			rs5c372a: rs5c372a@32 {
87				compatible = "ricoh,rs5c372a";
88				reg = <0x32>;
89			};
90
91			g762: g762@3e {
92				compatible = "gmt,g762";
93				reg = <0x3e>;
94				clocks = <&g762_clk>; /* input clock */
95				fan_gear_mode = <0>;
96				fan_startv = <1>;
97				pwm_polarity = <0>;
98			};
99		};
100
101		serial@12000 {
102			status = "okay";
103		};
104
105		sata@80000 {
106			status = "okay";
107			nr-ports = <2>;
108		};
109	};
110
111	gpio-leds {
112		compatible = "gpio-leds";
113		pinctrl-0 = < &pmx_led_blue_power &pmx_led_blue_activity
114			      &pmx_led_blue_disk1 &pmx_led_blue_disk2
115			      &pmx_led_blue_backup >;
116		pinctrl-names = "default";
117
118		power_led {
119			label = "status:blue:power_led";
120			gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
121			default-state = "keep";
122		};
123
124		activity_led {
125			label = "status:blue:activity_led";
126			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
127		};
128
129		disk1_led {
130			label = "status:blue:disk1_led";
131			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
132		};
133
134		disk2_led {
135			label = "status:blue:disk2_led";
136			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
137		};
138
139		backup_led {
140			label = "status:blue:backup_led";
141			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
142		};
143	};
144
145	gpio-keys {
146		compatible = "gpio-keys";
147		pinctrl-0 = <&pmx_button_power &pmx_button_backup
148			     &pmx_button_reset>;
149		pinctrl-names = "default";
150
151		power-button {
152			label = "Power Button";
153			linux,code = <KEY_POWER>;
154			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
155		};
156
157		reset-button {
158			label = "Reset Button";
159			linux,code = <KEY_RESTART>;
160			gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
161		};
162
163		backup-button {
164			label = "Backup Button";
165			linux,code = <KEY_COPY>;
166			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
167		};
168	};
169
170	gpio-poweroff {
171		compatible = "gpio-poweroff";
172		pinctrl-0 = <&pmx_poweroff>;
173		pinctrl-names = "default";
174		gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
175	};
176
177	regulators {
178		compatible = "simple-bus";
179		#address-cells = <1>;
180		#size-cells = <0>;
181
182		usb3_regulator: usb3-regulator@1 {
183			compatible = "regulator-fixed";
184			reg = <1>;
185			regulator-name = "USB 3.0 Power";
186			regulator-min-microvolt = <5000000>;
187			regulator-max-microvolt = <5000000>;
188			enable-active-high;
189			regulator-always-on;
190			regulator-boot-on;
191			gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>;
192		};
193	};
194};
195
196&nand {
197	status = "okay";
198
199	partition@0 {
200		label = "u-boot";
201		reg = <0x0000000 0x180000>;
202		read-only;
203	};
204
205	partition@180000 {
206		label = "u-boot-env";
207		reg = <0x180000 0x20000>;
208	};
209
210	partition@200000 {
211		label = "uImage";
212		reg = <0x0200000 0x600000>;
213	};
214
215	partition@800000 {
216		label = "minirootfs";
217		reg = <0x0800000 0x1000000>;
218	};
219
220	partition@1800000 {
221		label = "jffs2";
222		reg = <0x1800000 0x6800000>;
223	};
224};
225
226&mdio {
227	status = "okay";
228
229	ethphy0: ethernet-phy@0 { /* Marvell 88E1318 */
230		reg = <0>;
231	};
232};
233
234&eth0 {
235	status = "okay";
236	ethernet0-port@0 {
237		phy-handle = <&ethphy0>;
238	};
239};
240
241&pciec {
242        status = "okay";
243};
244
245&pcie0 {
246	status = "okay";
247};
248