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