Merge remote-tracking branches 'asoc/topic/adau1977', 'asoc/topic/ak4642', 'asoc...
[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                 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 };