xref: /linux/arch/arm/boot/dts/marvell/kirkwood-nsa320.dts (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+
2724ba675SRob Herring/* Device tree file for the Zyxel NSA 320 NAS box.
3724ba675SRob Herring *
4724ba675SRob Herring * Copyright (c) 2014, Adam Baker <linux@baker-net.org.uk>
5724ba675SRob Herring *
6724ba675SRob Herring *
7724ba675SRob Herring * Based upon the board setup file created by Peter Schildmann */
8724ba675SRob Herring
9724ba675SRob Herring/dts-v1/;
10724ba675SRob Herring
11724ba675SRob Herring#include "kirkwood-nsa3x0-common.dtsi"
12724ba675SRob Herring
13724ba675SRob Herring/ {
14724ba675SRob Herring	model = "Zyxel NSA320";
15724ba675SRob Herring	compatible = "zyxel,nsa320", "marvell,kirkwood-88f6281", "marvell,kirkwood";
16724ba675SRob Herring
17724ba675SRob Herring	memory {
18724ba675SRob Herring		device_type = "memory";
19724ba675SRob Herring		reg = <0x00000000 0x20000000>;
20724ba675SRob Herring	};
21724ba675SRob Herring
22724ba675SRob Herring	chosen {
23724ba675SRob Herring		bootargs = "console=ttyS0,115200";
24724ba675SRob Herring		stdout-path = &uart0;
25724ba675SRob Herring	};
26724ba675SRob Herring
27724ba675SRob Herring	ocp@f1000000 {
28724ba675SRob Herring		pinctrl: pin-controller@10000 {
29724ba675SRob Herring			pinctrl-names = "default";
30724ba675SRob Herring
31724ba675SRob Herring			/* SATA Activity and Present pins are not connected */
32724ba675SRob Herring			pmx_sata0: pmx-sata0 {
33724ba675SRob Herring				marvell,pins ;
34724ba675SRob Herring				marvell,function = "sata0";
35724ba675SRob Herring			};
36724ba675SRob Herring
37724ba675SRob Herring			pmx_sata1: pmx-sata1 {
38724ba675SRob Herring				marvell,pins ;
39724ba675SRob Herring				marvell,function = "sata1";
40724ba675SRob Herring			};
41724ba675SRob Herring
42724ba675SRob Herring			pmx_led_hdd2_green: pmx-led-hdd2-green {
43724ba675SRob Herring				marvell,pins = "mpp12";
44724ba675SRob Herring				marvell,function = "gpio";
45724ba675SRob Herring			};
46724ba675SRob Herring
47724ba675SRob Herring			pmx_led_hdd2_red: pmx-led-hdd2-red {
48724ba675SRob Herring				marvell,pins = "mpp13";
49724ba675SRob Herring				marvell,function = "gpio";
50724ba675SRob Herring			};
51724ba675SRob Herring
52724ba675SRob Herring			pmx_mcu_data: pmx-mcu-data {
53724ba675SRob Herring				marvell,pins = "mpp14";
54724ba675SRob Herring				marvell,function = "gpio";
55724ba675SRob Herring			};
56724ba675SRob Herring
57724ba675SRob Herring			pmx_led_usb_green: pmx-led-usb-green {
58724ba675SRob Herring				marvell,pins = "mpp15";
59724ba675SRob Herring				marvell,function = "gpio";
60724ba675SRob Herring			};
61724ba675SRob Herring
62724ba675SRob Herring			pmx_mcu_clk: pmx-mcu-clk {
63724ba675SRob Herring				marvell,pins = "mpp16";
64724ba675SRob Herring				marvell,function = "gpio";
65724ba675SRob Herring			};
66724ba675SRob Herring
67724ba675SRob Herring			pmx_mcu_act: pmx-mcu-act {
68724ba675SRob Herring				marvell,pins = "mpp17";
69724ba675SRob Herring				marvell,function = "gpio";
70724ba675SRob Herring			};
71724ba675SRob Herring
72724ba675SRob Herring			pmx_led_sys_green: pmx-led-sys-green {
73724ba675SRob Herring				marvell,pins = "mpp28";
74724ba675SRob Herring				marvell,function = "gpio";
75724ba675SRob Herring			};
76724ba675SRob Herring
77724ba675SRob Herring			pmx_led_sys_orange: pmx-led-sys-orange {
78724ba675SRob Herring				marvell,pins = "mpp29";
79724ba675SRob Herring				marvell,function = "gpio";
80724ba675SRob Herring			};
81724ba675SRob Herring
82724ba675SRob Herring			pmx_led_hdd1_green: pmx-led-hdd1-green {
83724ba675SRob Herring				marvell,pins = "mpp41";
84724ba675SRob Herring				marvell,function = "gpio";
85724ba675SRob Herring			};
86724ba675SRob Herring
87724ba675SRob Herring			pmx_led_hdd1_red: pmx-led-hdd1-red {
88724ba675SRob Herring				marvell,pins = "mpp42";
89724ba675SRob Herring				marvell,function = "gpio";
90724ba675SRob Herring			};
91724ba675SRob Herring
92724ba675SRob Herring			pmx_htp: pmx-htp {
93724ba675SRob Herring				marvell,pins = "mpp43";
94724ba675SRob Herring				marvell,function = "gpio";
95724ba675SRob Herring			};
96724ba675SRob Herring
97724ba675SRob Herring			/* Buzzer needs to be switched at around 1kHz so is
98724ba675SRob Herring			   not compatible with the gpio-beeper driver. */
99724ba675SRob Herring			pmx_buzzer: pmx-buzzer {
100724ba675SRob Herring				marvell,pins = "mpp44";
101724ba675SRob Herring				marvell,function = "gpio";
102724ba675SRob Herring			};
103724ba675SRob Herring
104724ba675SRob Herring			pmx_vid_b1: pmx-vid-b1 {
105724ba675SRob Herring				marvell,pins = "mpp45";
106724ba675SRob Herring				marvell,function = "gpio";
107724ba675SRob Herring			};
108724ba675SRob Herring
109724ba675SRob Herring			pmx_power_resume_data: pmx-power-resume-data {
110724ba675SRob Herring				marvell,pins = "mpp47";
111724ba675SRob Herring				marvell,function = "gpio";
112724ba675SRob Herring			};
113724ba675SRob Herring
114724ba675SRob Herring			pmx_power_resume_clk: pmx-power-resume-clk {
115724ba675SRob Herring				marvell,pins = "mpp49";
116724ba675SRob Herring				marvell,function = "gpio";
117724ba675SRob Herring			};
118724ba675SRob Herring		};
119724ba675SRob Herring
120724ba675SRob Herring		i2c@11000 {
121724ba675SRob Herring			status = "okay";
122724ba675SRob Herring
123724ba675SRob Herring			pcf8563: pcf8563@51 {
124724ba675SRob Herring				compatible = "nxp,pcf8563";
125724ba675SRob Herring				reg = <0x51>;
126724ba675SRob Herring			};
127724ba675SRob Herring		};
128724ba675SRob Herring	};
129724ba675SRob Herring
130724ba675SRob Herring	regulators {
131724ba675SRob Herring		usb0_power: regulator@1 {
132724ba675SRob Herring			enable-active-high;
133724ba675SRob Herring		};
134724ba675SRob Herring	};
135724ba675SRob Herring
136724ba675SRob Herring	gpio-leds {
137724ba675SRob Herring		compatible = "gpio-leds";
138724ba675SRob Herring		pinctrl-0 = <&pmx_led_hdd2_green &pmx_led_hdd2_red
139724ba675SRob Herring			     &pmx_led_usb_green
140724ba675SRob Herring			     &pmx_led_sys_green &pmx_led_sys_orange
141724ba675SRob Herring			     &pmx_led_copy_green &pmx_led_copy_red
142724ba675SRob Herring			     &pmx_led_hdd1_green &pmx_led_hdd1_red>;
143724ba675SRob Herring		pinctrl-names = "default";
144724ba675SRob Herring
145*9d0120b7SKrzysztof Kozlowski		led-green-sys {
146724ba675SRob Herring			label = "nsa320:green:sys";
147724ba675SRob Herring			gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
148724ba675SRob Herring		};
149*9d0120b7SKrzysztof Kozlowski		led-orange-sys {
150724ba675SRob Herring			label = "nsa320:orange:sys";
151724ba675SRob Herring			gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
152724ba675SRob Herring		};
153*9d0120b7SKrzysztof Kozlowski		led-green-hdd1 {
154724ba675SRob Herring			label = "nsa320:green:hdd1";
155724ba675SRob Herring			gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
156724ba675SRob Herring		};
157*9d0120b7SKrzysztof Kozlowski		led-red-hdd1 {
158724ba675SRob Herring			label = "nsa320:red:hdd1";
159724ba675SRob Herring			gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
160724ba675SRob Herring		};
161*9d0120b7SKrzysztof Kozlowski		led-green-hdd2 {
162724ba675SRob Herring			label = "nsa320:green:hdd2";
163724ba675SRob Herring			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
164724ba675SRob Herring		};
165*9d0120b7SKrzysztof Kozlowski		led-red-hdd2 {
166724ba675SRob Herring			label = "nsa320:red:hdd2";
167724ba675SRob Herring			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
168724ba675SRob Herring		};
169*9d0120b7SKrzysztof Kozlowski		led-green-usb {
170724ba675SRob Herring			label = "nsa320:green:usb";
171724ba675SRob Herring			gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
172724ba675SRob Herring		};
173*9d0120b7SKrzysztof Kozlowski		led-green-copy {
174724ba675SRob Herring			label = "nsa320:green:copy";
175724ba675SRob Herring			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
176724ba675SRob Herring		};
177*9d0120b7SKrzysztof Kozlowski		led-red-copy {
178724ba675SRob Herring			label = "nsa320:red:copy";
179724ba675SRob Herring			gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
180724ba675SRob Herring		};
181724ba675SRob Herring	};
182724ba675SRob Herring
183724ba675SRob Herring	hwmon {
184724ba675SRob Herring		compatible = "zyxel,nsa320-mcu";
185724ba675SRob Herring		pinctrl-0 = <&pmx_mcu_data &pmx_mcu_clk &pmx_mcu_act>;
186724ba675SRob Herring		pinctrl-names = "default";
187724ba675SRob Herring
188724ba675SRob Herring		data-gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
189724ba675SRob Herring		clk-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
190724ba675SRob Herring		act-gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
191724ba675SRob Herring	};
192724ba675SRob Herring
193724ba675SRob Herring	/* The following pins are currently not assigned to a driver,
194724ba675SRob Herring	   some of them should be configured as inputs.
195724ba675SRob Herring	pinctrl-0 = <&pmx_htp &pmx_vid_b1
196724ba675SRob Herring		     &pmx_power_resume_data &pmx_power_resume_clk>; */
197724ba675SRob Herring};
198724ba675SRob Herring
199724ba675SRob Herring&mdio {
200724ba675SRob Herring	status = "okay";
201724ba675SRob Herring	ethphy0: ethernet-phy@1 {
202724ba675SRob Herring		reg = <1>;
203724ba675SRob Herring	};
204724ba675SRob Herring};
205724ba675SRob Herring
206724ba675SRob Herring&eth0 {
207724ba675SRob Herring	status = "okay";
208724ba675SRob Herring	ethernet0-port@0 {
209724ba675SRob Herring		phy-handle = <&ethphy0>;
210724ba675SRob Herring	};
211724ba675SRob Herring};
212724ba675SRob Herring
213724ba675SRob Herring&pciec {
214724ba675SRob Herring	status = "okay";
215724ba675SRob Herring};
216724ba675SRob Herring
217724ba675SRob Herring&pcie0 {
218724ba675SRob Herring	status = "okay";
219724ba675SRob Herring};
220