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