• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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	ocp@f1000000 {
31		pinctrl: pin-controller@10000 {
32			pinctrl-names = "default";
33
34			/* SATA Activity and Present pins are not connected */
35			pmx_sata0: pmx-sata0 {
36				marvell,pins ;
37				marvell,function = "sata0";
38			};
39
40			pmx_sata1: pmx-sata1 {
41				marvell,pins ;
42				marvell,function = "sata1";
43			};
44
45			pmx_led_hdd2_green: pmx-led-hdd2-green {
46				marvell,pins = "mpp12";
47				marvell,function = "gpio";
48			};
49
50			pmx_led_hdd2_red: pmx-led-hdd2-red {
51				marvell,pins = "mpp13";
52				marvell,function = "gpio";
53			};
54
55			pmx_mcu_data: pmx-mcu-data {
56				marvell,pins = "mpp14";
57				marvell,function = "gpio";
58			};
59
60			pmx_led_usb_green: pmx-led-usb-green {
61				marvell,pins = "mpp15";
62				marvell,function = "gpio";
63			};
64
65			pmx_mcu_clk: pmx-mcu-clk {
66				marvell,pins = "mpp16";
67				marvell,function = "gpio";
68			};
69
70			pmx_mcu_act: pmx-mcu-act {
71				marvell,pins = "mpp17";
72				marvell,function = "gpio";
73			};
74
75			pmx_led_sys_green: pmx-led-sys-green {
76				marvell,pins = "mpp28";
77				marvell,function = "gpio";
78			};
79
80			pmx_led_sys_orange: pmx-led-sys-orange {
81				marvell,pins = "mpp29";
82				marvell,function = "gpio";
83			};
84
85			pmx_led_hdd1_green: pmx-led-hdd1-green {
86				marvell,pins = "mpp41";
87				marvell,function = "gpio";
88			};
89
90			pmx_led_hdd1_red: pmx-led-hdd1-red {
91				marvell,pins = "mpp42";
92				marvell,function = "gpio";
93			};
94
95			pmx_htp: pmx-htp {
96				marvell,pins = "mpp43";
97				marvell,function = "gpio";
98			};
99
100			/* Buzzer needs to be switched at around 1kHz so is
101			   not compatible with the gpio-beeper driver. */
102			pmx_buzzer: pmx-buzzer {
103				marvell,pins = "mpp44";
104				marvell,function = "gpio";
105			};
106
107			pmx_vid_b1: pmx-vid-b1 {
108				marvell,pins = "mpp45";
109				marvell,function = "gpio";
110			};
111
112			pmx_power_resume_data: pmx-power-resume-data {
113				marvell,pins = "mpp47";
114				marvell,function = "gpio";
115			};
116
117			pmx_power_resume_clk: pmx-power-resume-clk {
118				marvell,pins = "mpp49";
119				marvell,function = "gpio";
120			};
121		};
122
123		i2c@11000 {
124			status = "okay";
125
126			pcf8563: pcf8563@51 {
127				compatible = "nxp,pcf8563";
128				reg = <0x51>;
129			};
130		};
131	};
132
133	regulators {
134		usb0_power: regulator@1 {
135			enable-active-high;
136		};
137	};
138
139	gpio-leds {
140		compatible = "gpio-leds";
141		pinctrl-0 = <&pmx_led_hdd2_green &pmx_led_hdd2_red
142			     &pmx_led_usb_green
143			     &pmx_led_sys_green &pmx_led_sys_orange
144			     &pmx_led_copy_green &pmx_led_copy_red
145			     &pmx_led_hdd1_green &pmx_led_hdd1_red>;
146		pinctrl-names = "default";
147
148		green-sys {
149			label = "nsa320:green:sys";
150			gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
151		};
152		orange-sys {
153			label = "nsa320:orange:sys";
154			gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
155		};
156		green-hdd1 {
157			label = "nsa320:green:hdd1";
158			gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
159		};
160		red-hdd1 {
161			label = "nsa320:red:hdd1";
162			gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
163		};
164		green-hdd2 {
165			label = "nsa320:green:hdd2";
166			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
167		};
168		red-hdd2 {
169			label = "nsa320:red:hdd2";
170			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
171		};
172		green-usb {
173			label = "nsa320:green:usb";
174			gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
175		};
176		green-copy {
177			label = "nsa320:green:copy";
178			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
179		};
180		red-copy {
181			label = "nsa320:red:copy";
182			gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
183		};
184	};
185
186	hwmon {
187		compatible = "zyxel,nsa320-mcu";
188		pinctrl-0 = <&pmx_mcu_data &pmx_mcu_clk &pmx_mcu_act>;
189		pinctrl-names = "default";
190
191		data-gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
192		clk-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
193		act-gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
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_htp &pmx_vid_b1
199		     &pmx_power_resume_data &pmx_power_resume_clk>; */
200};
201
202&mdio {
203	status = "okay";
204	ethphy0: ethernet-phy@1 {
205		reg = <1>;
206	};
207};
208
209&eth0 {
210	status = "okay";
211	ethernet0-port@0 {
212		phy-handle = <&ethphy0>;
213	};
214};
215
216&pciec {
217        status = "okay";
218};
219
220&pcie0 {
221	status = "okay";
222};
223