Merge remote-tracking branches 'asoc/topic/adau1977', 'asoc/topic/ak4642', 'asoc...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / kirkwood-nsa320.dts
1 /* Device tree file for the Zyxel NSA 320 NAS box.
2  *
3  * Copyright (c) 2014, Adam Baker <linux@baker-net.org.uk>
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version
8  * 2 of the License, or (at your option) any later version.
9  *
10  * Based upon the board setup file created by Peter Schildmann */
11
12 /dts-v1/;
13
14 #include "kirkwood-nsa3x0-common.dtsi"
15
16 / {
17         model = "Zyxel NSA320";
18         compatible = "zyxel,nsa320", "marvell,kirkwood-88f6281", "marvell,kirkwood";
19
20         memory {
21                 device_type = "memory";
22                 reg = <0x00000000 0x20000000>;
23         };
24
25         chosen {
26                 bootargs = "console=ttyS0,115200";
27                 stdout-path = &uart0;
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: pin-controller@10000 {
42                         pinctrl-names = "default";
43
44                         /* SATA Activity and Present pins are not connected */
45                         pmx_sata0: pmx-sata0 {
46                                 marvell,pins ;
47                                 marvell,function = "sata0";
48                         };
49
50                         pmx_sata1: pmx-sata1 {
51                                 marvell,pins ;
52                                 marvell,function = "sata1";
53                         };
54
55                         pmx_led_hdd2_green: pmx-led-hdd2-green {
56                                 marvell,pins = "mpp12";
57                                 marvell,function = "gpio";
58                         };
59
60                         pmx_led_hdd2_red: pmx-led-hdd2-red {
61                                 marvell,pins = "mpp13";
62                                 marvell,function = "gpio";
63                         };
64
65                         pmx_mcu_data: pmx-mcu-data {
66                                 marvell,pins = "mpp14";
67                                 marvell,function = "gpio";
68                         };
69
70                         pmx_led_usb_green: pmx-led-usb-green {
71                                 marvell,pins = "mpp15";
72                                 marvell,function = "gpio";
73                         };
74
75                         pmx_mcu_clk: pmx-mcu-clk {
76                                 marvell,pins = "mpp16";
77                                 marvell,function = "gpio";
78                         };
79
80                         pmx_mcu_act: pmx-mcu-act {
81                                 marvell,pins = "mpp17";
82                                 marvell,function = "gpio";
83                         };
84
85                         pmx_led_sys_green: pmx-led-sys-green {
86                                 marvell,pins = "mpp28";
87                                 marvell,function = "gpio";
88                         };
89
90                         pmx_led_sys_orange: pmx-led-sys-orange {
91                                 marvell,pins = "mpp29";
92                                 marvell,function = "gpio";
93                         };
94
95                         pmx_led_hdd1_green: pmx-led-hdd1-green {
96                                 marvell,pins = "mpp41";
97                                 marvell,function = "gpio";
98                         };
99
100                         pmx_led_hdd1_red: pmx-led-hdd1-red {
101                                 marvell,pins = "mpp42";
102                                 marvell,function = "gpio";
103                         };
104
105                         pmx_htp: pmx-htp {
106                                 marvell,pins = "mpp43";
107                                 marvell,function = "gpio";
108                         };
109
110                         /* Buzzer needs to be switched at around 1kHz so is
111                            not compatible with the gpio-beeper driver. */
112                         pmx_buzzer: pmx-buzzer {
113                                 marvell,pins = "mpp44";
114                                 marvell,function = "gpio";
115                         };
116
117                         pmx_vid_b1: pmx-vid-b1 {
118                                 marvell,pins = "mpp45";
119                                 marvell,function = "gpio";
120                         };
121
122                         pmx_power_resume_data: pmx-power-resume-data {
123                                 marvell,pins = "mpp47";
124                                 marvell,function = "gpio";
125                         };
126
127                         pmx_power_resume_clk: pmx-power-resume-clk {
128                                 marvell,pins = "mpp49";
129                                 marvell,function = "gpio";
130                         };
131                 };
132
133                 i2c@11000 {
134                         status = "okay";
135
136                         pcf8563: pcf8563@51 {
137                                 compatible = "nxp,pcf8563";
138                                 reg = <0x51>;
139                         };
140                 };
141         };
142
143         regulators {
144                 usb0_power: regulator@1 {
145                         enable-active-high;
146                 };
147         };
148
149         gpio-leds {
150                 compatible = "gpio-leds";
151                 pinctrl-0 = <&pmx_led_hdd2_green &pmx_led_hdd2_red
152                              &pmx_led_usb_green
153                              &pmx_led_sys_green &pmx_led_sys_orange
154                              &pmx_led_copy_green &pmx_led_copy_red
155                              &pmx_led_hdd1_green &pmx_led_hdd1_red>;
156                 pinctrl-names = "default";
157
158                 green-sys {
159                         label = "nsa320:green:sys";
160                         gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
161                 };
162                 orange-sys {
163                         label = "nsa320:orange:sys";
164                         gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
165                 };
166                 green-hdd1 {
167                         label = "nsa320:green:hdd1";
168                         gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
169                 };
170                 red-hdd1 {
171                         label = "nsa320:red:hdd1";
172                         gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
173                 };
174                 green-hdd2 {
175                         label = "nsa320:green:hdd2";
176                         gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
177                 };
178                 red-hdd2 {
179                         label = "nsa320:red:hdd2";
180                         gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
181                 };
182                 green-usb {
183                         label = "nsa320:green:usb";
184                         gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
185                 };
186                 green-copy {
187                         label = "nsa320:green:copy";
188                         gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
189                 };
190                 red-copy {
191                         label = "nsa320:red:copy";
192                         gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
193                 };
194         };
195
196         /* The following pins are currently not assigned to a driver,
197            some of them should be configured as inputs.
198         pinctrl-0 = <&pmx_mcu_data &pmx_mcu_clk &pmx_mcu_act
199                      &pmx_htp &pmx_vid_b1
200                      &pmx_power_resume_data &pmx_power_resume_clk>; */
201 };
202
203 &mdio {
204         status = "okay";
205         ethphy0: ethernet-phy@1 {
206                 reg = <1>;
207         };
208 };
209
210 &eth0 {
211         status = "okay";
212         ethernet0-port@0 {
213                 phy-handle = <&ethphy0>;
214         };
215 };