xref: /linux/scripts/dtc/include-prefixes/arm/marvell/kirkwood-nsa310s.dts (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2724ba675SRob Herring/*
3724ba675SRob Herring * ZyXEL NSA310S Board Description
4724ba675SRob Herring * Copyright 2020-2022 Pawel Dembicki <paweldembicki@gmail.com>
5724ba675SRob Herring * Copyright (c) 2015-2021, Tony Dinh <mibodhi@gmail.com>
6724ba675SRob Herring * Copyright (c) 2014, Adam Baker <linux@baker-net.org.uk>
7724ba675SRob Herring * Based upon the board setup file created by Peter Schildmann
8724ba675SRob Herring */
9724ba675SRob Herring/dts-v1/;
10724ba675SRob Herring
11724ba675SRob Herring#include "kirkwood.dtsi"
12724ba675SRob Herring#include "kirkwood-6281.dtsi"
13724ba675SRob Herring#include <dt-bindings/leds/common.h>
14724ba675SRob Herring
15724ba675SRob Herring/ {
16724ba675SRob Herring	model = "ZyXEL NSA310S";
17724ba675SRob Herring	compatible = "zyxel,nsa310s", "marvell,kirkwood-88f6702", "marvell,kirkwood";
18724ba675SRob Herring
19724ba675SRob Herring	memory {
20724ba675SRob Herring		device_type = "memory";
21724ba675SRob Herring		reg = <0x00000000 0x10000000>;
22724ba675SRob Herring	};
23724ba675SRob Herring
24724ba675SRob Herring	chosen {
25724ba675SRob Herring		bootargs = "console=ttyS0,115200n8 earlyprintk";
26724ba675SRob Herring		stdout-path = &uart0;
27724ba675SRob Herring	};
28724ba675SRob Herring
29724ba675SRob Herring	gpio_poweroff {
30724ba675SRob Herring		compatible = "gpio-poweroff";
31724ba675SRob Herring		pinctrl-0 = <&pmx_pwr_off>;
32724ba675SRob Herring		pinctrl-names = "default";
33724ba675SRob Herring		gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
34724ba675SRob Herring	};
35724ba675SRob Herring
36724ba675SRob Herring	keys {
37724ba675SRob Herring		compatible = "gpio-keys";
38724ba675SRob Herring		pinctrl-0 = <&pmx_buttons>;
39724ba675SRob Herring		pinctrl-names = "default";
40724ba675SRob Herring
41*b98a9191SKrzysztof Kozlowski		button-power {
42724ba675SRob Herring			label = "Power Button";
43724ba675SRob Herring			linux,code = <KEY_POWER>;
44724ba675SRob Herring			gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
45724ba675SRob Herring		};
46724ba675SRob Herring
47*b98a9191SKrzysztof Kozlowski		button-copy {
48724ba675SRob Herring			label = "Copy Button";
49724ba675SRob Herring			linux,code = <KEY_COPY>;
50724ba675SRob Herring			gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
51724ba675SRob Herring		};
52724ba675SRob Herring
53*b98a9191SKrzysztof Kozlowski		button-reset {
54724ba675SRob Herring			label = "Reset Button";
55724ba675SRob Herring			linux,code = <KEY_RESTART>;
56724ba675SRob Herring			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
57724ba675SRob Herring		};
58724ba675SRob Herring	};
59724ba675SRob Herring
60724ba675SRob Herring	leds {
61724ba675SRob Herring		compatible = "gpio-leds";
62724ba675SRob Herring		pinctrl-0 = <&pmx_leds>;
63724ba675SRob Herring		pinctrl-names = "default";
64724ba675SRob Herring
65724ba675SRob Herring		led-1 {
66724ba675SRob Herring			function = LED_FUNCTION_DISK_ERR;
67724ba675SRob Herring			color = <LED_COLOR_ID_RED>;
68724ba675SRob Herring			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
69724ba675SRob Herring		};
70724ba675SRob Herring
71724ba675SRob Herring		led-2 {
72724ba675SRob Herring			function = LED_FUNCTION_USB;
73724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
74724ba675SRob Herring			gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
75724ba675SRob Herring			linux,default-trigger = "usb-host";
76724ba675SRob Herring		};
77724ba675SRob Herring
78724ba675SRob Herring		led-3 {
79724ba675SRob Herring			function = LED_FUNCTION_DISK;
80724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
81724ba675SRob Herring			gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
82724ba675SRob Herring			linux,default-trigger = "ata1";
83724ba675SRob Herring		};
84724ba675SRob Herring
85724ba675SRob Herring		led-4 {
86724ba675SRob Herring			function = LED_FUNCTION_INDICATOR;
87724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
88724ba675SRob Herring			gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
89724ba675SRob Herring		};
90724ba675SRob Herring
91724ba675SRob Herring		led-5 {
92724ba675SRob Herring			function = LED_FUNCTION_INDICATOR;
93724ba675SRob Herring			color = <LED_COLOR_ID_RED>;
94724ba675SRob Herring			gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
95724ba675SRob Herring		};
96724ba675SRob Herring
97724ba675SRob Herring		led-6 {
98724ba675SRob Herring			function = LED_FUNCTION_STATUS;
99724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
100724ba675SRob Herring			gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
101724ba675SRob Herring			linux,default-trigger = "default-on";
102724ba675SRob Herring		};
103724ba675SRob Herring
104724ba675SRob Herring		led-7 {
105724ba675SRob Herring			function = LED_FUNCTION_STATUS;
106724ba675SRob Herring			color = <LED_COLOR_ID_RED>;
107724ba675SRob Herring			gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
108724ba675SRob Herring		};
109724ba675SRob Herring	};
110724ba675SRob Herring
111724ba675SRob Herring	usb0_power: regulator@1 {
112724ba675SRob Herring		compatible = "regulator-fixed";
113724ba675SRob Herring		regulator-name = "USB Power";
114724ba675SRob Herring
115724ba675SRob Herring		regulator-min-microvolt = <5000000>;
116724ba675SRob Herring		regulator-max-microvolt = <5000000>;
117724ba675SRob Herring		regulator-always-on;
118724ba675SRob Herring		regulator-boot-on;
119724ba675SRob Herring		gpio = <&gpio0 21 GPIO_ACTIVE_HIGH>;
120724ba675SRob Herring	};
121724ba675SRob Herring
122724ba675SRob Herring	sata1_power: regulator@2 {
123724ba675SRob Herring		compatible = "regulator-fixed";
124724ba675SRob Herring		regulator-name = "SATA1 Power";
125724ba675SRob Herring
126724ba675SRob Herring		regulator-min-microvolt = <5000000>;
127724ba675SRob Herring		regulator-max-microvolt = <5000000>;
128724ba675SRob Herring		regulator-always-on;
129724ba675SRob Herring		regulator-boot-on;
130724ba675SRob Herring		gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>;
131724ba675SRob Herring	};
132724ba675SRob Herring
133724ba675SRob Herring	thermal-zones {
134724ba675SRob Herring		disk-thermal {
135724ba675SRob Herring			polling-delay = <20000>;
136724ba675SRob Herring			polling-delay-passive = <2000>;
137724ba675SRob Herring
138724ba675SRob Herring			thermal-sensors = <&hdd_temp>;
139724ba675SRob Herring
140724ba675SRob Herring			trips {
141724ba675SRob Herring				disk_alert: disk-alert {
142724ba675SRob Herring					temperature = <40000>;
143724ba675SRob Herring					hysteresis = <5000>;
144724ba675SRob Herring					type = "active";
145724ba675SRob Herring				};
146724ba675SRob Herring				disk_crit: disk-crit {
147724ba675SRob Herring					temperature = <60000>;
148724ba675SRob Herring					hysteresis = <2000>;
149724ba675SRob Herring					type = "critical";
150724ba675SRob Herring				};
151724ba675SRob Herring			};
152724ba675SRob Herring		};
153724ba675SRob Herring	};
154724ba675SRob Herring};
155724ba675SRob Herring
156724ba675SRob Herring
157724ba675SRob Herring&eth0 {
158724ba675SRob Herring	status = "okay";
159724ba675SRob Herring
160724ba675SRob Herring	ethernet0-port@0 {
161724ba675SRob Herring		phy-handle = <&ethphy0>;
162724ba675SRob Herring	};
163724ba675SRob Herring};
164724ba675SRob Herring
165724ba675SRob Herring&i2c0 {
166724ba675SRob Herring	status = "okay";
167724ba675SRob Herring
168724ba675SRob Herring	rtc@68 {
169724ba675SRob Herring		compatible = "htk,ht1382";
170724ba675SRob Herring		reg = <0x68>;
171724ba675SRob Herring	};
172724ba675SRob Herring};
173724ba675SRob Herring
174724ba675SRob Herring&mdio {
175724ba675SRob Herring	status = "okay";
176724ba675SRob Herring
177724ba675SRob Herring	ethphy0: ethernet-phy@1 {
178724ba675SRob Herring		reg = <1>;
179724ba675SRob Herring		phy-mode = "rgmii-id";
180724ba675SRob Herring		marvell,reg-init = <0x1 0x16 0x0 0x3>,
181724ba675SRob Herring				   <0x1 0x10 0x0 0x1017>,
182724ba675SRob Herring				   <0x1 0x11 0x0 0x4408>,
183724ba675SRob Herring				   <0x1 0x16 0x0 0x0>;
184724ba675SRob Herring	};
185724ba675SRob Herring};
186724ba675SRob Herring
187724ba675SRob Herring&nand {
188724ba675SRob Herring	status = "okay";
189724ba675SRob Herring	chip-delay = <35>;
190724ba675SRob Herring
191724ba675SRob Herring	partition@0 {
192724ba675SRob Herring		label = "uboot";
193724ba675SRob Herring		reg = <0x0000000 0x00c0000>;
194724ba675SRob Herring		read-only;
195724ba675SRob Herring	};
196724ba675SRob Herring	partition@c0000 {
197724ba675SRob Herring		label = "uboot_env";
198724ba675SRob Herring		reg = <0x00c0000 0x0080000>;
199724ba675SRob Herring	};
200724ba675SRob Herring	partition@140000 {
201724ba675SRob Herring		label = "ubi";
202724ba675SRob Herring		reg = <0x0140000 0x7ec0000>;
203724ba675SRob Herring	};
204724ba675SRob Herring};
205724ba675SRob Herring
206724ba675SRob Herring&pciec {
207724ba675SRob Herring	status = "okay";
208724ba675SRob Herring};
209724ba675SRob Herring
210724ba675SRob Herring&pcie0 {
211724ba675SRob Herring	status = "okay";
212724ba675SRob Herring};
213724ba675SRob Herring
214724ba675SRob Herring&pinctrl {
215724ba675SRob Herring	pinctrl-names = "default";
216724ba675SRob Herring
217724ba675SRob Herring	pmx_buttons: pmx-buttons {
218724ba675SRob Herring		marvell,pins = "mpp24", "mpp25", "mpp26";
219724ba675SRob Herring		marvell,function = "gpio";
220724ba675SRob Herring	};
221724ba675SRob Herring
222724ba675SRob Herring	pmx_leds: pmx-leds {
223724ba675SRob Herring		marvell,pins = "mpp13", "mpp15", "mpp16", "mpp22", "mpp23",
224724ba675SRob Herring						"mpp28", "mpp29";
225724ba675SRob Herring		marvell,function = "gpio";
226724ba675SRob Herring	};
227724ba675SRob Herring
228724ba675SRob Herring	pmx_power: pmx-power {
229724ba675SRob Herring		marvell,pins = "mpp21", "mpp33";
230724ba675SRob Herring		marvell,function = "gpio";
231724ba675SRob Herring	};
232724ba675SRob Herring
233724ba675SRob Herring	pmx_pwr_off: pmx-pwr-off {
234724ba675SRob Herring		marvell,pins = "mpp27";
235724ba675SRob Herring		marvell,function = "gpio";
236724ba675SRob Herring	};
237724ba675SRob Herring};
238724ba675SRob Herring
239724ba675SRob Herring&rtc {
240724ba675SRob Herring	status = "disabled";
241724ba675SRob Herring};
242724ba675SRob Herring
243724ba675SRob Herring&sata {
244724ba675SRob Herring	status = "okay";
245724ba675SRob Herring	nr-ports = <1>;
246724ba675SRob Herring	#address-cells = <1>;
247724ba675SRob Herring	#size-cells = <0>;
248724ba675SRob Herring
249724ba675SRob Herring	hdd_temp: sata-port@0 {
250724ba675SRob Herring		reg = <0>;
251724ba675SRob Herring		#thermal-sensor-cells = <0>;
252724ba675SRob Herring	};
253724ba675SRob Herring};
254724ba675SRob Herring
255724ba675SRob Herring&uart0 {
256724ba675SRob Herring	status = "okay";
257724ba675SRob Herring};
258