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	auxdisplay {
117		compatible = "hit,hd44780";
118		data-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>,
119				<&gpio1 1 GPIO_ACTIVE_HIGH>,
120				<&gpio1 3 GPIO_ACTIVE_HIGH>,
121				<&gpio1 17 GPIO_ACTIVE_HIGH>;
122		enable-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
123		rs-gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
124		rw-gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
125		backlight-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
126		display-height-chars = <2>;
127		display-width-chars = <16>;
128	};
129
130	gpio-leds {
131		compatible = "gpio-leds";
132		pinctrl-0 = < &pmx_led_blue_power &pmx_led_blue_backup
133			      &pmx_led_blue_disk1 &pmx_led_blue_disk2
134			      &pmx_led_blue_disk3 &pmx_led_blue_disk3 >;
135		pinctrl-names = "default";
136
137		power_led {
138			label = "status:blue:power_led";
139			gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
140			linux,default-trigger = "default-on";
141		};
142
143		backup_led {
144			label = "status:blue:backup_led";
145			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
146		};
147
148		disk1_led {
149			label = "status:blue:disk1_led";
150			gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
151		};
152
153		disk2_led {
154			label = "status:blue:disk2_led";
155			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
156		};
157
158		disk3_led {
159			label = "status:blue:disk3_led";
160			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
161		};
162
163		disk4_led {
164			label = "status:blue:disk4_led";
165			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
166		};
167	};
168
169	gpio-keys {
170		compatible = "gpio-keys";
171		pinctrl-0 = <&pmx_button_power &pmx_button_backup
172			     &pmx_button_reset>;
173		pinctrl-names = "default";
174
175		power-button {
176			label = "Power Button";
177			linux,code = <KEY_POWER>;
178			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
179		};
180
181		reset-button {
182			label = "Reset Button";
183			linux,code = <KEY_RESTART>;
184			gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
185		};
186
187		backup-button {
188			label = "Backup Button";
189			linux,code = <KEY_COPY>;
190			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
191		};
192	};
193
194	gpio-poweroff {
195		compatible = "gpio-poweroff";
196		pinctrl-0 = <&pmx_poweroff>;
197		pinctrl-names = "default";
198		gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
199	};
200
201	regulators {
202		compatible = "simple-bus";
203		#address-cells = <1>;
204		#size-cells = <0>;
205
206		usb3_regulator: usb3-regulator@1 {
207			compatible = "regulator-fixed";
208			reg = <1>;
209			regulator-name = "USB 3.0 Power";
210			regulator-min-microvolt = <5000000>;
211			regulator-max-microvolt = <5000000>;
212			enable-active-high;
213			regulator-always-on;
214			regulator-boot-on;
215			gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>;
216		};
217	};
218};
219
220&nand {
221	status = "okay";
222
223	partition@0 {
224		label = "u-boot";
225		reg = <0x0000000 0x180000>;
226		read-only;
227	};
228
229	partition@180000 {
230		label = "u-boot-env";
231		reg = <0x180000 0x20000>;
232	};
233
234	partition@200000 {
235		label = "uImage";
236		reg = <0x0200000 0x600000>;
237	};
238
239	partition@800000 {
240		label = "minirootfs";
241		reg = <0x0800000 0x1000000>;
242	};
243
244	partition@1800000 {
245		label = "jffs2";
246		reg = <0x1800000 0x6800000>;
247	};
248};
249
250&mdio {
251	status = "okay";
252
253	ethphy0: ethernet-phy@0 { /* Marvell 88E1318 */
254		device_type = "ethernet-phy";
255		reg = <0>;
256	};
257};
258
259&eth0 {
260	status = "okay";
261
262	ethernet0-port@0 {
263		phy-handle = <&ethphy0>;
264	};
265};
266
267/* Connected to NEC uPD720200 USB 3.0 controller */
268&pciec {
269	status = "okay";
270};
271
272&pcie0 {
273	status = "okay";
274};
275