blob: 49da633a1bc02d210196cf4b4db765b48f0c3972 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * ZyXEL NSA310S Board Description
4 * Copyright 2020-2022 Pawel Dembicki <paweldembicki@gmail.com>
5 * Copyright (c) 2015-2021, Tony Dinh <mibodhi@gmail.com>
6 * Copyright (c) 2014, Adam Baker <linux@baker-net.org.uk>
7 * Based upon the board setup file created by Peter Schildmann
8 */
9/dts-v1/;
10
11#include "kirkwood.dtsi"
12#include "kirkwood-6281.dtsi"
13#include <dt-bindings/leds/common.h>
14
15/ {
16 model = "ZyXEL NSA310S";
17 compatible = "zyxel,nsa310s", "marvell,kirkwood-88f6702", "marvell,kirkwood";
18
19 memory {
20 device_type = "memory";
21 reg = <0x00000000 0x10000000>;
22 };
23
24 chosen {
25 bootargs = "console=ttyS0,115200n8 earlyprintk";
26 stdout-path = &uart0;
27 };
28
29 gpio_poweroff {
30 compatible = "gpio-poweroff";
31 pinctrl-0 = <&pmx_pwr_off>;
32 pinctrl-names = "default";
33 gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
34 };
35
36 keys {
37 compatible = "gpio-keys";
38 #address-cells = <1>;
39 #size-cells = <0>;
40 pinctrl-0 = <&pmx_buttons>;
41 pinctrl-names = "default";
42
43 power {
44 label = "Power Button";
45 linux,code = <KEY_POWER>;
46 gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
47 };
48
49 copy {
50 label = "Copy Button";
51 linux,code = <KEY_COPY>;
52 gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
53 };
54
55 reset {
56 label = "Reset Button";
57 linux,code = <KEY_RESTART>;
58 gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
59 };
60 };
61
62 leds {
63 compatible = "gpio-leds";
64 pinctrl-0 = <&pmx_leds>;
65 pinctrl-names = "default";
66
67 led-1 {
68 function = LED_FUNCTION_DISK_ERR;
69 color = <LED_COLOR_ID_RED>;
70 gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
71 };
72
73 led-2 {
74 function = LED_FUNCTION_USB;
75 color = <LED_COLOR_ID_GREEN>;
76 gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
77 linux,default-trigger = "usb-host";
78 };
79
80 led-3 {
81 function = LED_FUNCTION_DISK;
82 color = <LED_COLOR_ID_GREEN>;
83 gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
84 linux,default-trigger = "ata1";
85 };
86
87 led-4 {
88 function = LED_FUNCTION_INDICATOR;
89 color = <LED_COLOR_ID_GREEN>;
90 gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
91 };
92
93 led-5 {
94 function = LED_FUNCTION_INDICATOR;
95 color = <LED_COLOR_ID_RED>;
96 gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
97 };
98
99 led-6 {
100 function = LED_FUNCTION_STATUS;
101 color = <LED_COLOR_ID_GREEN>;
102 gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
103 linux,default-trigger = "default-on";
104 };
105
106 led-7 {
107 function = LED_FUNCTION_STATUS;
108 color = <LED_COLOR_ID_RED>;
109 gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
110 };
111 };
112
113 usb0_power: regulator@1 {
114 compatible = "regulator-fixed";
115 regulator-name = "USB Power";
116
117 regulator-min-microvolt = <5000000>;
118 regulator-max-microvolt = <5000000>;
119 regulator-always-on;
120 regulator-boot-on;
121 gpio = <&gpio0 21 GPIO_ACTIVE_HIGH>;
122 };
123
124 sata1_power: regulator@2 {
125 compatible = "regulator-fixed";
126 regulator-name = "SATA1 Power";
127
128 regulator-min-microvolt = <5000000>;
129 regulator-max-microvolt = <5000000>;
130 regulator-always-on;
131 regulator-boot-on;
132 gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>;
133 };
134
135 thermal-zones {
136 disk-thermal {
137 polling-delay = <20000>;
138 polling-delay-passive = <2000>;
139
140 thermal-sensors = <&hdd_temp>;
141
142 trips {
143 disk_alert: disk-alert {
144 temperature = <40000>;
145 hysteresis = <5000>;
146 type = "active";
147 };
148 disk_crit: disk-crit {
149 temperature = <60000>;
150 hysteresis = <2000>;
151 type = "critical";
152 };
153 };
154 };
155 };
156};
157
158
159&eth0 {
160 status = "okay";
161
162 ethernet0-port@0 {
163 phy-handle = <&ethphy0>;
164 };
165};
166
167&i2c0 {
168 status = "okay";
169
170 rtc@68 {
171 compatible = "htk,ht1382";
172 reg = <0x68>;
173 };
174};
175
176&mdio {
177 status = "okay";
178
179 ethphy0: ethernet-phy@1 {
180 reg = <1>;
181 phy-mode = "rgmii-id";
182 marvell,reg-init = <0x1 0x16 0x0 0x3>,
183 <0x1 0x10 0x0 0x1017>,
184 <0x1 0x11 0x0 0x4408>,
185 <0x1 0x16 0x0 0x0>;
186 };
187};
188
189&nand {
190 status = "okay";
191 chip-delay = <35>;
192
193 partition@0 {
194 label = "uboot";
195 reg = <0x0000000 0x00c0000>;
196 read-only;
197 };
198 partition@c0000 {
199 label = "uboot_env";
200 reg = <0x00c0000 0x0080000>;
201 };
202 partition@140000 {
203 label = "ubi";
204 reg = <0x0140000 0x7ec0000>;
205 };
206};
207
208&pciec {
209 status = "okay";
210};
211
212&pcie0 {
213 status = "okay";
214};
215
216&pinctrl {
217 pinctrl-names = "default";
218
219 pmx_buttons: pmx-buttons {
220 marvell,pins = "mpp24", "mpp25", "mpp26";
221 marvell,function = "gpio";
222 };
223
224 pmx_leds: pmx-leds {
225 marvell,pins = "mpp13", "mpp15", "mpp16", "mpp22", "mpp23",
226 "mpp28", "mpp29";
227 marvell,function = "gpio";
228 };
229
230 pmx_power: pmx-power {
231 marvell,pins = "mpp21", "mpp33";
232 marvell,function = "gpio";
233 };
234
235 pmx_pwr_off: pmx-pwr-off {
236 marvell,pins = "mpp27";
237 marvell,function = "gpio";
238 };
239};
240
241&rtc {
242 status = "disabled";
243};
244
245&sata {
246 status = "okay";
247 nr-ports = <1>;
248 #address-cells = <1>;
249 #size-cells = <0>;
250
251 hdd_temp: sata-port@0 {
252 reg = <0>;
253 #thermal-sensor-cells = <0>;
254 };
255};
256
257&uart0 {
258 status = "okay";
259};