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