1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
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
11 #include "kirkwood.dtsi"
12 #include "kirkwood-6281.dtsi"
13 #include <dt-bindings/leds/common.h>
16 model = "ZyXEL NSA310S";
17 compatible = "zyxel,nsa310s", "marvell,kirkwood-88f6702", "marvell,kirkwood";
20 device_type = "memory";
21 reg = <0x00000000 0x10000000>;
25 bootargs = "console=ttyS0,115200n8 earlyprintk";
30 compatible = "gpio-poweroff";
31 pinctrl-0 = <&pmx_pwr_off>;
32 pinctrl-names = "default";
33 gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
37 compatible = "gpio-keys";
40 pinctrl-0 = <&pmx_buttons>;
41 pinctrl-names = "default";
44 label = "Power Button";
45 linux,code = <KEY_POWER>;
46 gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
50 label = "Copy Button";
51 linux,code = <KEY_COPY>;
52 gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
56 label = "Reset Button";
57 linux,code = <KEY_RESTART>;
58 gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
63 compatible = "gpio-leds";
64 pinctrl-0 = <&pmx_leds>;
65 pinctrl-names = "default";
68 function = LED_FUNCTION_DISK_ERR;
69 color = <LED_COLOR_ID_RED>;
70 gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
74 function = LED_FUNCTION_USB;
75 color = <LED_COLOR_ID_GREEN>;
76 gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
77 linux,default-trigger = "usb-host";
81 function = LED_FUNCTION_DISK;
82 color = <LED_COLOR_ID_GREEN>;
83 gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
84 linux,default-trigger = "ata1";
88 function = LED_FUNCTION_INDICATOR;
89 color = <LED_COLOR_ID_GREEN>;
90 gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
94 function = LED_FUNCTION_INDICATOR;
95 color = <LED_COLOR_ID_RED>;
96 gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
100 function = LED_FUNCTION_STATUS;
101 color = <LED_COLOR_ID_GREEN>;
102 gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
103 linux,default-trigger = "default-on";
107 function = LED_FUNCTION_STATUS;
108 color = <LED_COLOR_ID_RED>;
109 gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
113 usb0_power: regulator@1 {
114 compatible = "regulator-fixed";
115 regulator-name = "USB Power";
117 regulator-min-microvolt = <5000000>;
118 regulator-max-microvolt = <5000000>;
121 gpio = <&gpio0 21 GPIO_ACTIVE_HIGH>;
124 sata1_power: regulator@2 {
125 compatible = "regulator-fixed";
126 regulator-name = "SATA1 Power";
128 regulator-min-microvolt = <5000000>;
129 regulator-max-microvolt = <5000000>;
132 gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>;
137 polling-delay = <20000>;
138 polling-delay-passive = <2000>;
140 thermal-sensors = <&hdd_temp>;
143 disk_alert: disk-alert {
144 temperature = <40000>;
148 disk_crit: disk-crit {
149 temperature = <60000>;
163 phy-handle = <ðphy0>;
171 compatible = "htk,ht1382";
179 ethphy0: ethernet-phy@1 {
181 phy-mode = "rgmii-id";
182 marvell,reg-init = <0x1 0x16 0x0 0x3>,
183 <0x1 0x10 0x0 0x1017>,
184 <0x1 0x11 0x0 0x4408>,
195 reg = <0x0000000 0x00c0000>;
200 reg = <0x00c0000 0x0080000>;
204 reg = <0x0140000 0x7ec0000>;
217 pinctrl-names = "default";
219 pmx_buttons: pmx-buttons {
220 marvell,pins = "mpp24", "mpp25", "mpp26";
221 marvell,function = "gpio";
225 marvell,pins = "mpp13", "mpp15", "mpp16", "mpp22", "mpp23",
227 marvell,function = "gpio";
230 pmx_power: pmx-power {
231 marvell,pins = "mpp21", "mpp33";
232 marvell,function = "gpio";
235 pmx_pwr_off: pmx-pwr-off {
236 marvell,pins = "mpp27";
237 marvell,function = "gpio";
248 #address-cells = <1>;
251 hdd_temp: sata-port@0 {
253 #thermal-sensor-cells = <0>;