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