ucidef_add_switch "switch0" \
"0:lan" "1:wan" "6@eth0"
;;
+ asus,rt-ac85p|\
+ dlink,dir-860l-b1|\
+ elecom,wrc-1167ghbk2-s|\
+ elecom,wrc-1900gst|\
+ elecom,wrc-2533gst|\
+ huawei,hg255d|\
+ iodata,wn-ax1167gr|\
+ iodata,wn-gx300gr|\
+ iptime,a604m)
+ ucidef_add_switch "switch0" \
+ "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
+ ;;
asus,rt-n15|\
belkin,f9k1109v1|\
sitecom,wl-351)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
;;
- dlink,dir-860l-b1|\
- elecom,wrc-1167ghbk2-s|\
- elecom,wrc-1900gst|\
- elecom,wrc-2533gst|\
- huawei,hg255d|\
- iodata,wn-ax1167gr|\
- iodata,wn-gx300gr|\
- iptime,a604m)
- ucidef_add_switch "switch0" \
- "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
- ;;
dlink,dwr-118-a1)
ucidef_add_switch "switch0" \
"1:lan:2" "2:lan:3" "3:lan:1" "4:lan:0" "5:wan" "6@eth0"
zbtlink,zbt-we3526)
wan_mac=$(mtd_get_mac_binary factory 0xe006)
;;
+ asus,rt-ac85p)
+ wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
+ ;;
asus,rt-n56u)
lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
wan_mac=$(mtd_get_mac_binary factory 0x8004)
mikrotik,rbm33g)
[ -z "$(rootfs_type)" ] && mtd erase firmware
;;
+ asus,rt-ac85p)
+ echo "Backing up firmware"
+ dd if=/dev/mtd4 bs=1024 count=4096 > /tmp/backup_firmware.bin
+ dd if=/dev/mtd5 bs=1024 count=52224 >> /tmp/backup_firmware.bin
+ mtd -e firmware2 write /tmp/backup_firmware.bin firmware2
+ ;;
esac
case "$board" in
+ asus,rt-ac85p|\
hiwifi,hc5962|\
netgear,r6220|\
netgear,r6260|\
--- /dev/null
+// 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>
+
+/ {
+ compatible = "asus,rt-ac85p", "mediatek,mt7621-soc";
+ model = "ASUS RT-AC85P";
+
+ aliases {
+ led-boot = &led_power;
+ led-failsafe = &led_power;
+ led-running = &led_power;
+ led-upgrade = &led_power;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,57600";
+ };
+
+ palmbus: palmbus@1E000000 {
+ i2c@900 {
+ status = "okay";
+ };
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_power: power {
+ label = "rt-ac85p:blue:power";
+ gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0tpt";
+ };
+ wlan2g {
+ label = "rt-ac85p:blue:wlan2g";
+ gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0radio";
+ };
+
+ wlan5g {
+ label = "rt-ac85p:blue:wlan5g";
+ gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy1radio";
+ };
+ };
+};
+
+&sdhci {
+ status = "okay";
+};
+
+&nand {
+ status = "okay";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0xe0000>;
+ read-only;
+ };
+
+ partition@e0000 {
+ label = "u-boot-env";
+ reg = <0xe0000 0x100000>;
+ read-only;
+ };
+
+ factory: partition@1e0000 {
+ label = "factory";
+ reg = <0x1e0000 0x100000>;
+ read-only;
+ };
+
+ factory2: partition@2e0000 {
+ label = "factory2";
+ reg = <0x2e0000 0x100000>;
+ read-only;
+ };
+
+ partition@3e0000 {
+ label = "kernel";
+ reg = <0x3e0000 0x400000>;
+ };
+
+ partition@7e0000 {
+ label = "ubi";
+ reg = <0x7e0000 0x2e00000>;
+ };
+
+ partition@35e0000 {
+ label = "firmware2";
+ reg = <0x35e0000 0x3200000>;
+ };
+ };
+};
+
+&pcie {
+ status = "okay";
+};
+
+&pcie0 {
+ wifi0: wifi@0,0 {
+ compatible = "pci14c3,7615";
+ reg = <0x0000 0 0 0 0>;
+ mediatek,mtd-eeprom = <&factory 0x0000>;
+ ieee80211-freq-limit = <2400000 2500000>;
+ };
+};
+
+&pcie1 {
+ wifi1: wifi@0,0 {
+ compatible = "pci14c3,7615";
+ reg = <0x0000 0 0 0 0>;
+ mediatek,mtd-eeprom = <&factory 0x8000>;
+ ieee80211-freq-limit = <5000000 6000000>;
+ };
+};
+
+ðernet {
+ mtd-mac-address = <&factory 0xe000>;
+ mediatek,portmap = "wllll";
+ port@5 {
+ status = "disabled";
+ };
+};
+
+&i2c {
+ status = "disabled";
+};
+
+&pinctrl {
+ state_default: pinctrl0 {
+ gpio {
+ ralink,group = "uart2", "uart3", "i2c";
+ ralink,function = "gpio";
+ };
+ };
+};
endef
TARGET_DEVICES += asus_rt-ac57u
+define Device/asus_rt-ac85p
+ MTK_SOC := mt7621
+ DEVICE_VENDOR := ASUS
+ DEVICE_MODEL := RT-AC85P
+ IMAGE_SIZE := 51200k
+ UBINIZE_OPTS := -E 5
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ KERNEL_SIZE := 4096k
+ IMAGES += factory.bin
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+ IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
+ DEVICE_PACKAGES := kmod-usb3 kmod-mt7615e wpad-basic uboot-envtools
+endef
+TARGET_DEVICES += asus_rt-ac85p
+
define Device/buffalo_wsr-1166dhp
MTK_SOC := mt7621
IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata
+#endif /* __NAND_DEF_H__ */
--- /dev/null
+++ b/drivers/mtd/nand/nand_device_list.h
-@@ -0,0 +1,59 @@
+@@ -0,0 +1,60 @@
+/* Copyright Statement:
+ *
+ * This software/firmware and related documentation ("MediaTek Software") are
+ {0xC8DC, 0x909554, 5, 8, 512, 128, 2048, 64, 0x30C77fff, "F59L4G81A", 0},
+ {0xECD3, 0x519558, 5, 8, 1024, 128, 2048, 64, 0x44333, "K9K8G8000", 0},
+ {0xC2F1, 0x801DC2, 4, 8, 128, 128, 2048, 64, 0x30C77fff, "MX30LF1G08AA", 0},
++ {0xC2F1, 0x809502, 4, 8, 128, 128, 2048, 64, 0x30C77fff, "MX30LF1G18AC", 0},
+ {0x98D3, 0x902676, 5, 8, 1024, 256, 4096, 224, 0x00C25332, "TC58NVG3S0F", 0},
+ {0x01DA, 0x909546, 5, 8, 256, 128, 2048, 128, 0x30C77fff, "S34ML02G200TF", 0},
+ {0x01DC, 0x909556, 5, 8, 512, 128, 2048, 128, 0x30C77fff, "S34ML04G200TF", 0},