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