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