Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[cascardo/linux.git] / arch / arm / boot / dts / kirkwood-nsa325.dts
1 /* Device tree file for the Zyxel NSA 325 NAS box.
2  *
3  * Copyright (c) 2015, Hans Ulli Kroll <ulli.kroll@googlemail.com>
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
13 /dts-v1/;
14
15 #include "kirkwood-nsa3x0-common.dtsi"
16
17 / {
18         model = "ZyXEL NSA325";
19         compatible = "zyxel,nsa325", "marvell,kirkwood-88f6282", "marvell,kirkwood";
20
21         memory {
22                 device_type = "memory";
23                 reg = <0x00000000 0x20000000>;
24         };
25
26         chosen {
27                 bootargs = "console=ttyS0,115200";
28                 stdout-path = &uart0;
29         };
30
31         ocp@f1000000 {
32                 pinctrl: pin-controller@10000 {
33                         pinctrl-names = "default";
34
35                         pmx_led_hdd2_green: pmx-led-hdd2-green {
36                                 marvell,pins = "mpp12";
37                                 marvell,function = "gpio";
38                         };
39
40                         pmx_led_hdd2_red: pmx-led-hdd2-red {
41                                 marvell,pins = "mpp13";
42                                 marvell,function = "gpio";
43                         };
44
45                         pmx_mcu_data: pmx-mcu-data {
46                                 marvell,pins = "mpp14";
47                                 marvell,function = "gpio";
48                         };
49
50                         pmx_led_usb_green: pmx-led-usb-green {
51                                 marvell,pins = "mpp15";
52                                 marvell,function = "gpio";
53                         };
54
55                         pmx_mcu_clk: pmx-mcu-clk {
56                                 marvell,pins = "mpp16";
57                                 marvell,function = "gpio";
58                         };
59
60                         pmx_mcu_act: pmx-mcu-act {
61                                 marvell,pins = "mpp17";
62                                 marvell,function = "gpio";
63                         };
64
65                         pmx_led_sys_green: pmx-led-sys-green {
66                                 marvell,pins = "mpp28";
67                                 marvell,function = "gpio";
68                         };
69
70                         pmx_led_sys_orange: pmx-led-sys-orange {
71                                 marvell,pins = "mpp29";
72                                 marvell,function = "gpio";
73                         };
74
75                         pmx_led_hdd1_green: pmx-led-hdd1-green {
76                                 marvell,pins = "mpp41";
77                                 marvell,function = "gpio";
78                         };
79
80                         pmx_led_hdd1_red: pmx-led-hdd1-red {
81                                 marvell,pins = "mpp42";
82                                 marvell,function = "gpio";
83                         };
84
85                         pmx_htp: pmx-htp {
86                                 marvell,pins = "mpp43";
87                                 marvell,function = "gpio";
88                         };
89
90                         /*
91                          * Buzzer needs to be switched at around 1kHz so is
92                          * not compatible with the gpio-beeper driver.
93                          */
94                         pmx_buzzer: pmx-buzzer {
95                                 marvell,pins = "mpp44";
96                                 marvell,function = "gpio";
97                         };
98
99                         pmx_vid_b1: pmx-vid-b1 {
100                                 marvell,pins = "mpp45";
101                                 marvell,function = "gpio";
102                         };
103
104                         pmx_power_resume_data: pmx-power-resume-data {
105                                 marvell,pins = "mpp47";
106                                 marvell,function = "gpio";
107                         };
108
109                         pmx_power_resume_clk: pmx-power-resume-clk {
110                                 marvell,pins = "mpp49";
111                                 marvell,function = "gpio";
112                         };
113
114                         pmx_pwr_sata1: pmx-pwr-sata1 {
115                                 marvell,pins = "mpp47";
116                                 marvell,function = "gpio";
117                         };
118                 };
119
120                 /* This board uses the pcf8563 RTC instead of the SoC RTC */
121                 rtc@10300 {
122                         status = "disabled";
123                 };
124
125                 i2c@11000 {
126                         status = "okay";
127
128                         pcf8563: pcf8563@51 {
129                                 compatible = "nxp,pcf8563";
130                                 reg = <0x51>;
131                         };
132                 };
133         };
134
135         regulators {
136                 compatible = "simple-bus";
137                 #address-cells = <1>;
138                 #size-cells = <0>;
139                 pinctrl-0 = <&pmx_pwr_sata1>;
140                 pinctrl-names = "default";
141
142                 usb0_power: regulator@1 {
143                         enable-active-high;
144                 };
145
146                 sata1_power: regulator@2 {
147                         compatible = "regulator-fixed";
148                         reg = <2>;
149                         regulator-name = "SATA1 Power";
150                         regulator-min-microvolt = <5000000>;
151                         regulator-max-microvolt = <5000000>;
152                         regulator-always-on;
153                         regulator-boot-on;
154                         enable-active-high;
155                         gpio = <&gpio1 15 GPIO_ACTIVE_HIGH>;
156                 };
157         };
158
159         gpio-leds {
160                 compatible = "gpio-leds";
161                 pinctrl-0 = <&pmx_led_hdd2_green &pmx_led_hdd2_red
162                              &pmx_led_usb_green
163                              &pmx_led_sys_green &pmx_led_sys_orange
164                              &pmx_led_copy_green &pmx_led_copy_red
165                              &pmx_led_hdd1_green &pmx_led_hdd1_red>;
166                 pinctrl-names = "default";
167
168                 green-sys {
169                         label = "nsa325:green:sys";
170                         gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
171                 };
172                 orange-sys {
173                         label = "nsa325:orange:sys";
174                         gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
175                 };
176                 green-hdd1 {
177                         label = "nsa325:green:hdd1";
178                         gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
179                 };
180                 red-hdd1 {
181                         label = "nsa325:red:hdd1";
182                         gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
183                 };
184                 green-hdd2 {
185                         label = "nsa325:green:hdd2";
186                         gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
187                 };
188                 red-hdd2 {
189                         label = "nsa325:red:hdd2";
190                         gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
191                 };
192                 green-usb {
193                         label = "nsa325:green:usb";
194                         gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
195                 };
196                 green-copy {
197                         label = "nsa325:green:copy";
198                         gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
199                 };
200                 red-copy {
201                         label = "nsa325:red:copy";
202                         gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
203                 };
204
205         /* The following pins are currently not assigned to a driver,
206            some of them should be configured as inputs.
207         pinctrl-0 = <&pmx_mcu_data &pmx_mcu_clk &pmx_mcu_act
208                      &pmx_htp &pmx_vid_b1
209                      &pmx_power_resume_data &pmx_power_resume_clk>; */
210         };
211
212
213 };
214
215 &mdio {
216         status = "okay";
217         ethphy0: ethernet-phy@1 {
218                 reg = <1>;
219         };
220 };
221
222 &eth0 {
223         status = "okay";
224         ethernet0-port@0 {
225                 phy-handle = <&ethphy0>;
226         };
227 };
228
229 &pciec {
230         status = "okay";
231 };
232
233 &pcie0 {
234         status = "okay";
235 };