[OpenWrt-Devel] [PATCH v6] ramips: add support for Asus RT-AC85P
mail at adrianschmutzler.de
mail at adrianschmutzler.de
Sun Sep 15 06:31:47 EDT 2019
Hi,
see additions to the newer-ending-story below.
> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org]
> On Behalf Of Birger Koblitz
> Sent: Samstag, 14. September 2019 10:52
> To: openwrt-devel at lists.openwrt.org
> Subject: [OpenWrt-Devel] [PATCH v6] ramips: add support for Asus RT-
> AC85P
>
> ramips: add support for Asus RT-AC85P
>
> SoC: MediaTek MT7621AT dual-core @ 880MHz
> RAM: 256M (Winbond W632GG6KB-1)
> FLASH: 128MB (Macronix MX30LF1G18AC-TI)
> WiFi: - 2.4GHz MediaTek MT7615N bgn
> - 5GHz MediaTek MT7615N nac
> Switch: SoC integrated Gigabit Switch (4 x LAN, 1 x WAN)
> USB: 1 x USB 3.1 (Gen 1)
> BTN: Reset, WPS
> LED: - Power (blue)
> - 5Ghz (blue)
> - 2.4GHz (blue)
> - Internet (blue)
> - 4x LAN (blue)
> (LAN/WAN leds are not controllable by GPIOs)
> UART: UART is present as Pads marked J4 on the PCB.
> 3.3V - TX - RX - GND / 57600-8N1
> 3.3V is the square pad
> MAC: The MAC address on the router-label matches the MAC of
> the 2.4 GHz WiFi.
> LAN and WAN MAC are identical: MAC_LABEL+4
> 5 GHz WiFi MAC: also MAC_LABEL+4
>
>
> Installation
> ------------
> Via U-Boot tftpd:
> Switch on device, within 2s press reset button and keep pressed until power
> LED starts blinking slowly.
> Upload factory image via tftp put, the router's ip is 192.168.1.1 and expects
> the client on 192.168.1.75.
>
> The images also work on the Asus RT-AC65P models as tested by Gabor.
>
> Signed-off-by: Birger Koblitz <mail at birger-koblitz.de>
> Tested-by: Gabor Varga <vargagab at gmail.com>
>
> ---
>
> v2: Corrected sorting of entries in 02_network
> Model name corrected in .dts
> Whitespace fixes in .dts
> wifi0/1 labels added to wifi nodes in .dts
> Device name capitalized in mt7621.mk
>
> v3: Added firmware backup to firmware2 partition before sysupgrade
> Corrected modules included in image
>
> v4: Corrected MT7615N PCI IDs
>
> v5: Fixed indentation in platform.sh
>
> v6: Rebased to latest master
>
>
> diff --git a/target/linux/ramips/base-files/etc/board.d/02_network
> b/target/linux/ramips/base-files/etc/board.d/02_network
> index b4634e0928..80e6a91c88 100755
> --- a/target/linux/ramips/base-files/etc/board.d/02_network
> +++ b/target/linux/ramips/base-files/etc/board.d/02_network
> @@ -230,6 +230,18 @@ ramips_setup_interfaces()
> ucidef_add_switch "switch0" \
> "0:lan" "1:wan" "6 at 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 at eth0"
> + ;;
> asus,rt-n15|\
> belkin,f9k1109v1|\
> sitecom,wl-351)
> @@ -297,17 +309,6 @@ ramips_setup_interfaces()
> ucidef_add_switch "switch0" \
> "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5"
> "6 at 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 at eth0"
> - ;;
> dlink,dwr-118-a1)
> ucidef_add_switch "switch0" \
> "1:lan:2" "2:lan:3" "3:lan:1" "4:lan:0" "5:wan"
> "6 at eth0"
> @@ -551,6 +552,9 @@ ramips_setup_macs()
> 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) diff --git
> a/target/linux/ramips/base-files/lib/upgrade/platform.sh
> b/target/linux/ramips/base-files/lib/upgrade/platform.sh
> index 9889079db9..a62ded4b9d 100755
> --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
> @@ -18,9 +18,16 @@ platform_do_upgrade() {
> 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|\
> diff --git a/target/linux/ramips/dts/mt7621_asus_rt-ac85p.dts
> b/target/linux/ramips/dts/mt7621_asus_rt-ac85p.dts
> new file mode 100644
> index 0000000000..94e26ea408
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7621_asus_rt-ac85p.dts
> @@ -0,0 +1,164 @@
> +// 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 at 1E000000 {
> + i2c at 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 at 0 {
> + label = "u-boot";
> + reg = <0x0 0xe0000>;
> + read-only;
> + };
> +
> + partition at e0000 {
> + label = "u-boot-env";
> + reg = <0xe0000 0x100000>;
> + read-only;
> + };
> +
> + factory: partition at 1e0000 {
> + label = "factory";
> + reg = <0x1e0000 0x100000>;
> + read-only;
> + };
> +
> + factory2: partition at 2e0000 {
> + label = "factory2";
> + reg = <0x2e0000 0x100000>;
> + read-only;
> + };
> +
> + partition at 3e0000 {
> + label = "kernel";
> + reg = <0x3e0000 0x400000>;
> + };
> +
> + partition at 7e0000 {
> + label = "ubi";
> + reg = <0x7e0000 0x2e00000>;
> + };
> +
> + partition at 35e0000 {
> + label = "firmware2";
> + reg = <0x35e0000 0x3200000>;
> + };
> + };
> +};
> +
> +&pcie {
> + status = "okay";
> +};
> +
> +&pcie0 {
> + wifi0: wifi at 0,0 {
> + compatible = "pci14c3,7615";
> + reg = <0x0000 0 0 0 0>;
> + mediatek,mtd-eeprom = <&factory 0x0000>;
> + ieee80211-freq-limit = <2400000 2500000>;
> + mtd-mac-address = <&factory 0x4>;
With mtd-eeprom reading from 0x0, the MAC address at 0x4 should be read by default. So, you should get the same result with the mtd-mac-address line removed.
> + };
> +};
> +
> +&pcie1 {
> + wifi1: wifi at 0,0 {
> + compatible = "pci14c3,7615";
> + reg = <0x0000 0 0 0 0>;
> + mediatek,mtd-eeprom = <&factory 0x8000>;
> + ieee80211-freq-limit = <5000000 6000000>;
> + mtd-mac-address = <&factory 0x8004>;
See above: address is mtd-eeprom +4, so try to remove it.
> + };
> +};
> +
> +ðernet {
> + mtd-mac-address = <&factory 0xe000>;
> + mediatek,portmap = "wllll";
> + port at 5 {
> + status = "disabled";
> + };
> +};
> +
> +&i2c {
> + status = "disabled";
Indent is wrong here.
Best
Adrian
> +};
> +
> +&pinctrl {
> + state_default: pinctrl0 {
> + gpio {
> + ralink,group = "uart2", "uart3", "i2c";
> + ralink,function = "gpio";
> + };
> + };
> +};
> diff --git a/target/linux/ramips/image/mt7621.mk
> b/target/linux/ramips/image/mt7621.mk
> index 986fe5e2f8..79d14a5954 100644
> --- a/target/linux/ramips/image/mt7621.mk
> +++ b/target/linux/ramips/image/mt7621.mk
> @@ -115,6 +115,22 @@ define Device/asus_rt-ac57u 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 diff --git
> a/target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-nand-
> support.patch b/target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-
> nand-support.patch
> index 03b2b36db9..3c6a59b863 100644
> --- a/target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-nand-
> support.patch
> +++ b/target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-nand-
> support.
> +++ patch
> @@ -4256,7 +4256,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
> +#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 @@ -4308,6 +4308,7 @@ Signed-off-by: John Crispin
> <blogic at openwrt.org>
> + {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},
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openpgp-digital-signature.asc
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20190915/398f2bad/attachment.sig>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list