• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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};
236