// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-/dts-v1/;
-#include "mt7621.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
+#include "mt7621_dlink_dir-8xx.dtsi"
+#include "mt7621_dlink_flash-16m-a1.dtsi"
/ {
compatible = "dlink,dir-878-a1", "mediatek,mt7621-soc";
model = "D-Link DIR-878 A1";
aliases {
- led-boot = &led_power_orange;
- led-failsafe = &led_power_green;
- led-running = &led_power_green;
- led-upgrade = &led_net_orange;
label-mac-device = &gmac0;
};
-
- chosen {
- bootargs = "console=ttyS0,57600";
- };
-
- leds {
- compatible = "gpio-leds";
-
- led_power_orange: power_orange {
- label = "dir-878-a1:orange:power";
- gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
- };
-
- led_power_green: power_green {
- label = "dir-878-a1:green:power";
- gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
- };
-
- led_net_orange: net_orange {
- label = "dir-878-a1:orange:net";
- gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
- };
-
- net_green {
- label = "dir-878-a1:green:net";
- gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
- };
- };
-
- keys {
- compatible = "gpio-keys";
-
- reset {
- label = "reset";
- gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_RESTART>;
- };
-
- wps {
- label = "wps";
- gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_WPS_BUTTON>;
- };
-
- wifi {
- label = "wifi";
- gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_RFKILL>;
- };
- };
-};
-
-&spi0 {
- status = "okay";
-
- flash@0 {
- compatible = "jedec,spi-nor";
- reg = <0>;
- spi-max-frequency = <50000000>;
-
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- partition@0 {
- label = "u-boot";
- reg = <0x0 0x30000>;
- read-only;
- };
-
- partition@30000 {
- label = "u-boot-env";
- reg = <0x30000 0x10000>;
- read-only;
- };
-
- factory: partition@40000 {
- label = "factory";
- reg = <0x40000 0x20000>;
- read-only;
- };
-
- partition@60000 {
- compatible = "sge,uimage";
- label = "firmware";
- reg = <0x60000 0xfa0000>;
- };
- };
- };
-};
-
-&pcie {
- status = "okay";
-};
-
-&pcie0 {
- wifi@0,0 {
- compatible = "mediatek,mt76";
- reg = <0x0000 0 0 0 0>;
- mediatek,mtd-eeprom = <&factory 0x0000>;
- ieee80211-freq-limit = <2400000 2500000>;
-
- led {
- led-active-low;
- };
- };
-};
-
-&pcie1 {
- wifi@0,0 {
- compatible = "mediatek,mt76";
- reg = <0x0000 0 0 0 0>;
- mediatek,mtd-eeprom = <&factory 0x8000>;
- ieee80211-freq-limit = <5000000 6000000>;
-
- led {
- led-active-low;
- };
- };
};
&gmac0 {
- mtd-mac-address = <&factory 0xe000>;
+ nvmem-cells = <&macaddr_factory_e000>;
+ nvmem-cell-names = "mac-address";
};
-&switch0 {
- ports {
- port@0 {
- status = "okay";
- label = "lan4";
- };
-
- port@1 {
- status = "okay";
- label = "lan3";
- };
-
- port@2 {
- status = "okay";
- label = "lan2";
- };
+&gmac1 {
+ nvmem-cells = <&macaddr_factory_e006>;
+ nvmem-cell-names = "mac-address";
+};
- port@3 {
- status = "okay";
- label = "lan1";
- };
+&factory {
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
- port@4 {
- status = "okay";
- label = "wan";
- mtd-mac-address = <&factory 0xe006>;
- };
+ macaddr_factory_e000: macaddr@e000 {
+ reg = <0xe000 0x6>;
};
-};
-&state_default {
- gpio {
- groups = "i2c", "uart3", "jtag", "wdt";
- function = "gpio";
+ macaddr_factory_e006: macaddr@e006 {
+ reg = <0xe006 0x6>;
};
};