1 // SPDX-License-Identifier: GPL-2.0-or-later
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
8 compatible = "sercomm,na502s", "mediatek,mt7621-soc";
9 model = "SERCOMM NA502S";
12 led-boot = &led_power;
13 led-failsafe = &led_power;
14 led-running = &led_power;
15 led-upgrade = &led_power;
19 compatible = "gpio-leds";
22 label = "green:power";
23 gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
28 gpios = <&gpio_expander1 0 GPIO_ACTIVE_LOW>;
29 linux,default-trigger = "phy0tpt";
33 label = "green:zwave";
34 gpios = <&gpio_expander1 1 GPIO_ACTIVE_LOW>;
38 label = "green:zigbee";
39 gpios = <&gpio_expander1 2 GPIO_ACTIVE_LOW>;
43 label = "green:bluetooth";
44 gpios = <&gpio_expander1 3 GPIO_ACTIVE_LOW>;
48 label = "green:rf433";
49 gpios = <&gpio_expander1 4 GPIO_ACTIVE_LOW>;
53 label = "green:service";
54 gpios = <&gpio_expander1 5 GPIO_ACTIVE_LOW>;
59 gpios = <&gpio_expander1 6 GPIO_ACTIVE_LOW>;
63 label = "green:voice";
64 gpios = <&gpio_expander1 7 GPIO_ACTIVE_LOW>;
69 compatible = "gpio-keys";
72 label = "battery_tamper";
73 gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
79 gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
80 linux,code = <KEY_RESTART>;
85 gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
91 gpios = <&gpio 31 GPIO_ACTIVE_LOW>;
97 gpios = <&gpio 32 GPIO_ACTIVE_LOW>;
98 linux,code = <KEY_RFKILL>;
103 compatible = "gpio-export";
106 gpio-export,name = "zwave_reset";
107 gpio-export,output = <1>;
108 gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
112 gpio-export,name = "lprf_reset";
113 gpio-export,output = <1>;
114 gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
118 gpio-export,name = "charger_detect";
119 gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
123 gpio-export,name = "buzzer";
124 gpio-export,output = <0>;
125 gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
129 gpio-export,name = "3g_hw_shunt_en";
130 gpio-export,output = <0>;
131 gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
135 gpio-export,name = "3g_sw_on_off";
136 gpio-export,output = <1>;
137 gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
141 gpio-export,name = "3g_wake_up";
142 gpio-export,output = <0>;
143 gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
147 gpio-export,name = "3g_hw_reset";
148 gpio-export,output = <1>;
149 gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
153 gpio-export,name = "zigbee_reset";
154 gpio-export,output = <1>;
155 gpios = <&gpio_expander0 0 GPIO_ACTIVE_LOW>;
159 gpio-export,name = "zigbee_boot";
160 gpio-export,output = <1>;
161 gpios = <&gpio_expander0 1 GPIO_ACTIVE_LOW>;
165 gpio-export,name = "2g_sw0";
166 gpio-export,output = <1>;
167 gpios = <&gpio_expander0 2 GPIO_ACTIVE_LOW>;
171 gpio-export,name = "2g_sw1";
172 gpio-export,output = <1>;
173 gpios = <&gpio_expander0 3 GPIO_ACTIVE_LOW>;
177 gpio-export,name = "fm2018_pwd";
178 gpio-export,output = <1>;
179 gpios = <&gpio_expander0 4 GPIO_ACTIVE_LOW>;
183 gpio-export,name = "fm2018_reset";
184 gpio-export,output = <1>;
185 gpios = <&gpio_expander0 5 GPIO_ACTIVE_LOW>;
189 gpio-export,name = "batt_test";
190 gpio-export,output = <1>;
191 gpios = <&gpio_expander0 6 GPIO_ACTIVE_LOW>;
195 gpio-export,name = "mfi_reset";
196 gpio-export,output = <1>;
197 gpios = <&gpio_expander0 7 GPIO_ACTIVE_LOW>;
203 pinctrl-0 = <&mdio_pins>, <&rgmii1_pins>;
207 nvmem-cells = <&macaddr_factory_e000>;
208 nvmem-cell-names = "mac-address";
215 compatible = "fixed-partitions";
216 #address-cells = <1>;
227 reg = <0x80000 0x80000>;
231 factory: partition@100000 {
232 compatible = "nvmem-cells";
234 reg = <0x100000 0x40000>;
235 #address-cells = <1>;
238 eeprom_factory_0: eeprom@0 {
242 macaddr_factory_e000: macaddr@e000 {
249 reg = <0x140000 0x1400000>;
254 reg = <0x1540000 0x400000>;
259 reg = <0x1940000 0x1000000>;
263 label = "user_storage";
264 reg = <0x2940000 0x100000>;
269 reg = <0x2a40000 0x1000000>;
274 reg = <0x3a40000 0x3200000>;
279 reg = <0x6c40000 0x1340000>;
290 compatible = "mediatek,mt76";
291 reg = <0x0000 0 0 0 0>;
292 mediatek,mtd-eeprom = <&factory 0x8000>;
293 nvmem-cells = <&macaddr_factory_e000>;
294 nvmem-cell-names = "mac-address";
295 mac-address-increment = <1>;
296 ieee80211-freq-limit = <5000000 6000000>;
302 compatible = "mediatek,mt76";
304 nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e000>;
305 nvmem-cell-names = "eeprom", "mac-address";
306 mac-address-increment = <2>;
307 ieee80211-freq-limit = <2400000 2500000>;
313 groups = "jtag", "rgmii2";
321 /* This GPIO expander is fake. The kernel fails to initialize the
322 first expander, but succeeds on the second (real) one */
323 gpio_expander2: gpio-expander2@22 {
325 #interrupt-cells = <2>;
326 compatible = "semtech,sx1502q";
332 gpio_expander0: gpio-expander0@20 {
334 #interrupt-cells = <2>;
335 compatible = "semtech,sx1502q";
341 gpio_expander1: gpio-expander1@21 {
343 #interrupt-cells = <2>;
344 compatible = "semtech,sx1502q";