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