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