From a57fcd880eb8d9295136400822007bc2c402e435 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Tue, 17 Mar 2020 19:24:29 +0100 Subject: [PATCH 1/8] ath79: fix execute bit for 02_network on mikrotik subtarget When creating the mikrotik subtarget, the execute bit on 02_network was not set. Fix it. Fixes: a66eee63368e ("ath79: add mikrotik subtarget") Reported-by: Christopher Hill Signed-off-by: Adrian Schmutzler --- target/linux/ath79/mikrotik/base-files/etc/board.d/02_network | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 target/linux/ath79/mikrotik/base-files/etc/board.d/02_network diff --git a/target/linux/ath79/mikrotik/base-files/etc/board.d/02_network b/target/linux/ath79/mikrotik/base-files/etc/board.d/02_network old mode 100644 new mode 100755 From b66af9ac2d03993b86185703cbd63283a93d5ec3 Mon Sep 17 00:00:00 2001 From: Mathias Kresin Date: Tue, 17 Mar 2020 20:36:39 +0100 Subject: [PATCH 2/8] lantiq: kernel 5.4: enable JFFS2 We do not build images with a jffs2 rootfs, but jffs2 is still used as filesystem for the rootfs_data. Fixes: e3eaf578082e ("lantiq: kernel 5.4: debloat kernel config") Signed-off-by: Mathias Kresin --- target/linux/lantiq/config-5.4 | 1 - 1 file changed, 1 deletion(-) diff --git a/target/linux/lantiq/config-5.4 b/target/linux/lantiq/config-5.4 index 501bd77fbd..8d84f1cdac 100644 --- a/target/linux/lantiq/config-5.4 +++ b/target/linux/lantiq/config-5.4 @@ -129,7 +129,6 @@ CONFIG_IRQ_DOMAIN_HIERARCHY=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_IRQ_MIPS_CPU=y CONFIG_IRQ_WORK=y -# CONFIG_JFFS2_FS is not set CONFIG_LANTIQ=y CONFIG_LANTIQ_DT_NONE=y # CONFIG_LANTIQ_ETOP is not set From 132ff90f1d544900e477740e32c86f13b60960ce Mon Sep 17 00:00:00 2001 From: Mathias Kresin Date: Sun, 5 Jan 2020 09:19:37 +0100 Subject: [PATCH 3/8] ramips: do not add metadata to factory images The image metadata are openwrt specific and not required for factory images. Signed-off-by: Mathias Kresin --- target/linux/ramips/image/mt7620.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk index cfcd2598ee..339cd150e0 100644 --- a/target/linux/ramips/image/mt7620.mk +++ b/target/linux/ramips/image/mt7620.mk @@ -1125,7 +1125,7 @@ define Device/zyxel_keenetic-omni DEVICE_MODEL := Keenetic Omni DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport IMAGES += factory.bin - IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | pad-to 64k | \ + IMAGE/factory.bin := $$(sysupgrade_bin) | pad-to 64k | \ check-size $$$$(IMAGE_SIZE) | zyimage -d 4882 -v "ZyXEL Keenetic Omni" SUPPORTED_DEVICES += kn_rc endef @@ -1138,7 +1138,7 @@ define Device/zyxel_keenetic-omni-ii DEVICE_MODEL := Keenetic Omni II DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport IMAGES += factory.bin - IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | pad-to 64k | \ + IMAGE/factory.bin := $$(sysupgrade_bin) | pad-to 64k | \ check-size $$$$(IMAGE_SIZE) | \ zyimage -d 2102034 -v "ZyXEL Keenetic Omni II" SUPPORTED_DEVICES += kn_rf From dabe8471fc4ccc9297aa88148cdf527a4fca3576 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= Date: Mon, 16 Mar 2020 20:39:29 +0100 Subject: [PATCH 4/8] bcm27xx: enable THERMAL_WRITABLE_TRIPS on bcm2710 and bcm2711 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The PoE hat supported on the RPi 3B+ and 4B comes with a rather loud fan, tripped in two steps by the brcmstb_thermal thermal_zone driver. Enabling writable trip points allow users to adjust the fan trip points according to their preferred temp/noise ratio. This setting is enabled on most other targets with similar thermal_zone controlled cooling devices. Signed-off-by: Bjørn Mork --- target/linux/bcm27xx/bcm2710/config-4.19 | 1 + target/linux/bcm27xx/bcm2710/config-5.4 | 1 + target/linux/bcm27xx/bcm2711/config-4.19 | 1 + target/linux/bcm27xx/bcm2711/config-5.4 | 1 + 4 files changed, 4 insertions(+) diff --git a/target/linux/bcm27xx/bcm2710/config-4.19 b/target/linux/bcm27xx/bcm2710/config-4.19 index 99c9859652..80cd167283 100644 --- a/target/linux/bcm27xx/bcm2710/config-4.19 +++ b/target/linux/bcm27xx/bcm2710/config-4.19 @@ -542,6 +542,7 @@ CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_OF=y +CONFIG_THERMAL_WRITABLE_TRIPS=y CONFIG_THREAD_INFO_IN_TASK=y CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_TIMER_OF=y diff --git a/target/linux/bcm27xx/bcm2710/config-5.4 b/target/linux/bcm27xx/bcm2710/config-5.4 index d21c62afd0..dda942ec58 100644 --- a/target/linux/bcm27xx/bcm2710/config-5.4 +++ b/target/linux/bcm27xx/bcm2710/config-5.4 @@ -575,6 +575,7 @@ CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_OF=y +CONFIG_THERMAL_WRITABLE_TRIPS=y CONFIG_THREAD_INFO_IN_TASK=y CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_TIMER_OF=y diff --git a/target/linux/bcm27xx/bcm2711/config-4.19 b/target/linux/bcm27xx/bcm2711/config-4.19 index d8a5681f04..50cf344994 100644 --- a/target/linux/bcm27xx/bcm2711/config-4.19 +++ b/target/linux/bcm27xx/bcm2711/config-4.19 @@ -551,6 +551,7 @@ CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_OF=y +CONFIG_THERMAL_WRITABLE_TRIPS=y CONFIG_THREAD_INFO_IN_TASK=y CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_TIMER_OF=y diff --git a/target/linux/bcm27xx/bcm2711/config-5.4 b/target/linux/bcm27xx/bcm2711/config-5.4 index 71b6723ac4..9fb79fa341 100644 --- a/target/linux/bcm27xx/bcm2711/config-5.4 +++ b/target/linux/bcm27xx/bcm2711/config-5.4 @@ -585,6 +585,7 @@ CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_OF=y +CONFIG_THERMAL_WRITABLE_TRIPS=y CONFIG_THREAD_INFO_IN_TASK=y CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_TIMER_OF=y From 572278d3a0390f1ad37eefab7fe86af5050d4199 Mon Sep 17 00:00:00 2001 From: Russell Senior Date: Tue, 10 Mar 2020 18:06:02 -0700 Subject: [PATCH 5/8] ath79: generalize ubnt_xm dtsi for ar7240 and ar7241 * Prepare to support the AR7240 variant of ubiquiti bullet m, by reorganizing the related dtsi files. * Distribute SOC variable across ubnt-xm devices. Signed-off-by: Russell Senior --- target/linux/ath79/dts/ar7241_ubnt_airrouter.dts | 3 ++- target/linux/ath79/dts/ar7241_ubnt_bullet-m.dts | 4 +++- target/linux/ath79/dts/ar7241_ubnt_nanostation-loco-m.dts | 4 +++- target/linux/ath79/dts/ar7241_ubnt_nanostation-m.dts | 4 +++- target/linux/ath79/dts/ar7241_ubnt_picostation-m.dts | 4 +++- target/linux/ath79/dts/ar7241_ubnt_rocket-m.dts | 4 +++- .../ath79/dts/{ar7241_ubnt_xm.dtsi => ar724x_ubnt_xm.dtsi} | 5 ----- ...41_ubnt_xm_outdoor.dtsi => ar724x_ubnt_xm_outdoor.dtsi} | 2 -- target/linux/ath79/image/generic-ubnt.mk | 7 ++++++- 9 files changed, 23 insertions(+), 14 deletions(-) rename target/linux/ath79/dts/{ar7241_ubnt_xm.dtsi => ar724x_ubnt_xm.dtsi} (92%) rename target/linux/ath79/dts/{ar7241_ubnt_xm_outdoor.dtsi => ar724x_ubnt_xm_outdoor.dtsi} (94%) diff --git a/target/linux/ath79/dts/ar7241_ubnt_airrouter.dts b/target/linux/ath79/dts/ar7241_ubnt_airrouter.dts index ad2762e20c..dd2421da8e 100644 --- a/target/linux/ath79/dts/ar7241_ubnt_airrouter.dts +++ b/target/linux/ath79/dts/ar7241_ubnt_airrouter.dts @@ -1,7 +1,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; -#include "ar7241_ubnt_xm.dtsi" +#include "ar7241.dtsi" +#include "ar724x_ubnt_xm.dtsi" / { compatible = "ubnt,airrouter", "ubnt,xm", "qca,ar7241"; diff --git a/target/linux/ath79/dts/ar7241_ubnt_bullet-m.dts b/target/linux/ath79/dts/ar7241_ubnt_bullet-m.dts index e16b5fa0be..a43ed2afdc 100644 --- a/target/linux/ath79/dts/ar7241_ubnt_bullet-m.dts +++ b/target/linux/ath79/dts/ar7241_ubnt_bullet-m.dts @@ -1,7 +1,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; -#include "ar7241_ubnt_xm_outdoor.dtsi" +#include "ar7241.dtsi" +#include "ar724x_ubnt_xm.dtsi" +#include "ar724x_ubnt_xm_outdoor.dtsi" / { compatible = "ubnt,bullet-m", "ubnt,xm", "qca,ar7241"; diff --git a/target/linux/ath79/dts/ar7241_ubnt_nanostation-loco-m.dts b/target/linux/ath79/dts/ar7241_ubnt_nanostation-loco-m.dts index 386b7c7073..60d5a21a22 100644 --- a/target/linux/ath79/dts/ar7241_ubnt_nanostation-loco-m.dts +++ b/target/linux/ath79/dts/ar7241_ubnt_nanostation-loco-m.dts @@ -1,7 +1,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; -#include "ar7241_ubnt_xm_outdoor.dtsi" +#include "ar7241.dtsi" +#include "ar724x_ubnt_xm.dtsi" +#include "ar724x_ubnt_xm_outdoor.dtsi" / { compatible = "ubnt,nanostation-loco-m", "ubnt,xm", "qca,ar7241"; diff --git a/target/linux/ath79/dts/ar7241_ubnt_nanostation-m.dts b/target/linux/ath79/dts/ar7241_ubnt_nanostation-m.dts index eebe65e53f..82344bb5ea 100644 --- a/target/linux/ath79/dts/ar7241_ubnt_nanostation-m.dts +++ b/target/linux/ath79/dts/ar7241_ubnt_nanostation-m.dts @@ -1,7 +1,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; -#include "ar7241_ubnt_xm_outdoor.dtsi" +#include "ar7241.dtsi" +#include "ar724x_ubnt_xm.dtsi" +#include "ar724x_ubnt_xm_outdoor.dtsi" / { compatible = "ubnt,nanostation-m", "ubnt,xm", "qca,ar7241"; diff --git a/target/linux/ath79/dts/ar7241_ubnt_picostation-m.dts b/target/linux/ath79/dts/ar7241_ubnt_picostation-m.dts index e2376a1b92..d05aca3e67 100644 --- a/target/linux/ath79/dts/ar7241_ubnt_picostation-m.dts +++ b/target/linux/ath79/dts/ar7241_ubnt_picostation-m.dts @@ -1,7 +1,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; -#include "ar7241_ubnt_xm_outdoor.dtsi" +#include "ar7241.dtsi" +#include "ar724x_ubnt_xm.dtsi" +#include "ar724x_ubnt_xm_outdoor.dtsi" / { compatible = "ubnt,picostation-m", "ubnt,xm", "qca,ar7241"; diff --git a/target/linux/ath79/dts/ar7241_ubnt_rocket-m.dts b/target/linux/ath79/dts/ar7241_ubnt_rocket-m.dts index 35f5205b41..9e342177e2 100644 --- a/target/linux/ath79/dts/ar7241_ubnt_rocket-m.dts +++ b/target/linux/ath79/dts/ar7241_ubnt_rocket-m.dts @@ -1,7 +1,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; -#include "ar7241_ubnt_xm_outdoor.dtsi" +#include "ar7241.dtsi" +#include "ar724x_ubnt_xm.dtsi" +#include "ar724x_ubnt_xm_outdoor.dtsi" / { compatible = "ubnt,rocket-m", "ubnt,xm", "qca,ar7241"; diff --git a/target/linux/ath79/dts/ar7241_ubnt_xm.dtsi b/target/linux/ath79/dts/ar724x_ubnt_xm.dtsi similarity index 92% rename from target/linux/ath79/dts/ar7241_ubnt_xm.dtsi rename to target/linux/ath79/dts/ar724x_ubnt_xm.dtsi index e2b653b3a7..b36b0d4fe2 100644 --- a/target/linux/ath79/dts/ar7241_ubnt_xm.dtsi +++ b/target/linux/ath79/dts/ar724x_ubnt_xm.dtsi @@ -3,12 +3,7 @@ #include #include -#include "ar7241.dtsi" - / { - compatible = "ubnt,xm", "qca,ar7241"; - model = "Ubiquiti Networks XM (rev 1.0) board"; - keys { compatible = "gpio-keys"; diff --git a/target/linux/ath79/dts/ar7241_ubnt_xm_outdoor.dtsi b/target/linux/ath79/dts/ar724x_ubnt_xm_outdoor.dtsi similarity index 94% rename from target/linux/ath79/dts/ar7241_ubnt_xm_outdoor.dtsi rename to target/linux/ath79/dts/ar724x_ubnt_xm_outdoor.dtsi index 75116edc51..a28f8fbcd4 100644 --- a/target/linux/ath79/dts/ar7241_ubnt_xm_outdoor.dtsi +++ b/target/linux/ath79/dts/ar724x_ubnt_xm_outdoor.dtsi @@ -1,7 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -#include "ar7241_ubnt_xm.dtsi" - / { aliases { led-boot = &led_link4; diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk index a4aff09fec..aad177bf4a 100644 --- a/target/linux/ath79/image/generic-ubnt.mk +++ b/target/linux/ath79/image/generic-ubnt.mk @@ -71,7 +71,6 @@ endef define Device/ubnt-xm $(Device/ubnt) - SOC := ar7241 DEVICE_VARIANT := XM DEVICE_PACKAGES += kmod-usb-ohci IMAGE_SIZE := 7448k @@ -108,6 +107,7 @@ TARGET_DEVICES += ubnt_acb-isp define Device/ubnt_airrouter $(Device/ubnt-xm) + SOC := ar7241 DEVICE_MODEL := AirRouter SUPPORTED_DEVICES += airrouter endef @@ -115,6 +115,7 @@ TARGET_DEVICES += ubnt_airrouter define Device/ubnt_bullet-m $(Device/ubnt-xm) + SOC := ar7241 DEVICE_MODEL := Bullet-M DEVICE_PACKAGES += rssileds SUPPORTED_DEVICES += bullet-m @@ -181,6 +182,7 @@ TARGET_DEVICES += ubnt_nanostation-ac-loco define Device/ubnt_nanostation-loco-m $(Device/ubnt-xm) + SOC := ar7241 DEVICE_MODEL := Nanostation Loco M DEVICE_PACKAGES += rssileds SUPPORTED_DEVICES += bullet-m @@ -197,6 +199,7 @@ TARGET_DEVICES += ubnt_nanostation-loco-m-xw define Device/ubnt_nanostation-m $(Device/ubnt-xm) + SOC := ar7241 DEVICE_MODEL := Nanostation M DEVICE_PACKAGES += rssileds SUPPORTED_DEVICES += nanostation-m @@ -213,6 +216,7 @@ TARGET_DEVICES += ubnt_nanostation-m-xw define Device/ubnt_picostation-m $(Device/ubnt-xm) + SOC := ar7241 DEVICE_MODEL := Picostation M DEVICE_PACKAGES += rssileds SUPPORTED_DEVICES += bullet-m @@ -221,6 +225,7 @@ TARGET_DEVICES += ubnt_picostation-m define Device/ubnt_rocket-m $(Device/ubnt-xm) + SOC := ar7241 DEVICE_MODEL := Rocket-M DEVICE_PACKAGES += rssileds SUPPORTED_DEVICES += rocket-m From 8cacb84041e92e4e4d14057e708b6f232d106a50 Mon Sep 17 00:00:00 2001 From: Russell Senior Date: Tue, 10 Mar 2020 18:06:03 -0700 Subject: [PATCH 6/8] ath79: rename ubnt_bullet-m to ubnt_bullet-m-ar7241 Since there exists another variant of the Bullet M with AR7240 SoC under the same name, this patch introduces the SoC into the device name to be able to distinguish these variants. Signed-off-by: Russell Senior [add commit message, adjust model in DTS, fix 02_network and SUPPORTED_DEVICES] Signed-off-by: Adrian Schmutzler --- ...1_ubnt_bullet-m.dts => ar7241_ubnt_bullet-m-ar7241.dts} | 4 ++-- target/linux/ath79/generic/base-files/etc/board.d/01_leds | 2 +- .../linux/ath79/generic/base-files/etc/board.d/02_network | 4 ++-- .../base-files/etc/hotplug.d/firmware/10-ath9k-eeprom | 2 +- target/linux/ath79/image/generic-ubnt.mk | 7 ++++--- 5 files changed, 10 insertions(+), 9 deletions(-) rename target/linux/ath79/dts/{ar7241_ubnt_bullet-m.dts => ar7241_ubnt_bullet-m-ar7241.dts} (67%) diff --git a/target/linux/ath79/dts/ar7241_ubnt_bullet-m.dts b/target/linux/ath79/dts/ar7241_ubnt_bullet-m-ar7241.dts similarity index 67% rename from target/linux/ath79/dts/ar7241_ubnt_bullet-m.dts rename to target/linux/ath79/dts/ar7241_ubnt_bullet-m-ar7241.dts index a43ed2afdc..0e2183c27d 100644 --- a/target/linux/ath79/dts/ar7241_ubnt_bullet-m.dts +++ b/target/linux/ath79/dts/ar7241_ubnt_bullet-m-ar7241.dts @@ -6,8 +6,8 @@ #include "ar724x_ubnt_xm_outdoor.dtsi" / { - compatible = "ubnt,bullet-m", "ubnt,xm", "qca,ar7241"; - model = "Ubiquiti Bullet M"; + compatible = "ubnt,bullet-m-ar7241", "ubnt,xm", "qca,ar7241"; + model = "Ubiquiti Bullet M XM (AR7241)"; }; ð1 { diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds index 390f5f3657..cf9dfd2b0d 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds @@ -245,7 +245,7 @@ tplink,tl-wr842n-v2) trendnet,tew-823dru) ucidef_set_led_netdev "wan" "WAN" "trendnet:green:planet" "eth0" ;; -ubnt,bullet-m|\ +ubnt,bullet-m-ar7241|\ ubnt,bullet-m-xw|\ ubnt,nanostation-loco-m|\ ubnt,nanostation-loco-m-xw|\ diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 6f9aed8bf5..79313e9170 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -40,7 +40,7 @@ ath79_setup_interfaces() tplink,re450-v1|\ tplink,re450-v2|\ tplink,tl-wr902ac-v1|\ - ubnt,bullet-m|\ + ubnt,bullet-m-ar7241|\ ubnt,bullet-m-xw|\ ubnt,lap-120|\ ubnt,litebeam-ac-gen2|\ @@ -440,7 +440,7 @@ ath79_setup_macs() label_mac=$wan_mac ;; ubnt,airrouter|\ - ubnt,bullet-m|\ + ubnt,bullet-m-ar7241|\ ubnt,nanostation-loco-m|\ ubnt,nanostation-m|\ ubnt,picostation-m|\ diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index 52a1502af4..38f158896b 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -85,7 +85,7 @@ case "$FIRMWARE" in tplink,tl-wr2543-v1|\ tplink,tl-wr842n-v1|\ ubnt,airrouter|\ - ubnt,bullet-m|\ + ubnt,bullet-m-ar7241|\ ubnt,nanostation-loco-m|\ ubnt,nanostation-m|\ ubnt,picostation-m|\ diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk index aad177bf4a..4902023089 100644 --- a/target/linux/ath79/image/generic-ubnt.mk +++ b/target/linux/ath79/image/generic-ubnt.mk @@ -113,14 +113,15 @@ define Device/ubnt_airrouter endef TARGET_DEVICES += ubnt_airrouter -define Device/ubnt_bullet-m +define Device/ubnt_bullet-m-ar7241 $(Device/ubnt-xm) SOC := ar7241 DEVICE_MODEL := Bullet-M + DEVICE_VARIANT := XM (AR7241) DEVICE_PACKAGES += rssileds - SUPPORTED_DEVICES += bullet-m + SUPPORTED_DEVICES += bullet-m ubnt,bullet-m endef -TARGET_DEVICES += ubnt_bullet-m +TARGET_DEVICES += ubnt_bullet-m-ar7241 define Device/ubnt_bullet-m-xw $(Device/ubnt-xw) From 646d95c374072598fab9e949ef4425177c5c7960 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Wed, 12 Feb 2020 14:43:15 +0100 Subject: [PATCH 7/8] ath79: add support for TP-Link Archer C60 v3 TP-Link Archer C60 v3 is a dual-band AC1350 router, based on Qualcomm/Atheros QCA9561 + QCA9886. It seems to be identical to the v2 revision, except that it lacks a WPS LED and has different GPIO for amber WAN LED. Specification: - 775/650/258 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 8 MB of FLASH (SPI NOR) - 3T3R 2.4 GHz - 2T2R 5 GHz - 5x 10/100 Mbps Ethernet - 6x LED, 2x button - UART header on PCB Flash instruction (WebUI): Download *-factory.bin image and upload it via the firmwary upgrade function of the stock firmware WebUI. Flash instruction (TFTP): 1. Set PC to fixed IP address 192.168.0.66 2. Download *-factory.bin image and rename it to tp_recovery.bin 3. Start a tftp server with the file tp_recovery.bin in its root directory 4. Turn off the router 5. Press and hold reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery While TFTP works for OpenWrt images, my device didn't accept the only available official firmware "Archer C60(EU)_V3.0_190115.bin". In contrast to earlier revisions (v2), the v3 contains the (same) MAC address twice, once in 0x1fa08 and again in 0x1fb08. While the partition-table on the device refers to the latter, the firmware image contains a different partition-table for that region: name device firmware factory-boot 0x00000-0x1fb00 0x00000-0x1fa00 default-mac 0x1fb00-0x1fd00 0x1fa00-0x1fc00 pin 0x1fd00-0x1fe00 0x1fc00-0x1fd00 product-info 0x1fe00-0x1ff00 0x1fd00-0x1ff00 device-id 0x1ff00-0x20000 0x1ff00-0x20000 While the MAC address is present twice, other data like the PIN isn't, so with the partitioning from the firmware image the PIN on the device would actually be outside of its partition. Consequently, the patch uses the MAC location from the device (which is the same as for the v2). Signed-off-by: Adrian Schmutzler --- .../dts/qca9561_tplink_archer-c60-v1.dts | 12 ++++ .../dts/qca9561_tplink_archer-c60-v2.dts | 12 ++++ .../dts/qca9561_tplink_archer-c60-v3.dts | 69 +++++++++++++++++++ .../ath79/dts/qca9561_tplink_archer-c6x.dtsi | 12 +--- .../generic/base-files/etc/board.d/01_leds | 3 +- .../generic/base-files/etc/board.d/02_network | 1 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 1 + target/linux/ath79/image/generic-tp-link.mk | 11 +++ tools/firmware-utils/src/tplink-safeloader.c | 37 ++++++++++ 9 files changed, 146 insertions(+), 12 deletions(-) create mode 100644 target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts index 85e456bb44..a83b5881d4 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts @@ -8,6 +8,18 @@ model = "TP-Link Archer C60 v1"; }; +&leds { + wan_amber { + label = "tp-link:amber:wan"; + gpios = <&gpio 22 GPIO_ACTIVE_LOW>; + }; + + wps { + label = "tp-link:green:wps"; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + }; +}; + &spi { status = "okay"; num-cs = <1>; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts index 29f916734e..c19e4e973d 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts @@ -8,6 +8,18 @@ model = "TP-Link Archer C60 v2"; }; +&leds { + wan_amber { + label = "tp-link:amber:wan"; + gpios = <&gpio 22 GPIO_ACTIVE_LOW>; + }; + + wps { + label = "tp-link:green:wps"; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + }; +}; + &spi { status = "okay"; num-cs = <1>; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts new file mode 100644 index 0000000000..444d54b000 --- /dev/null +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts @@ -0,0 +1,69 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "qca9561_tplink_archer-c6x.dtsi" + +/ { + compatible = "tplink,archer-c60-v3", "qca,qca9561"; + model = "TP-Link Archer C60 v3"; +}; + +&leds { + wan_amber { + label = "tp-link:amber:wan"; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + }; +}; +&spi { + status = "okay"; + + num-cs = <1>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "factory-boot"; + reg = <0x000000 0x01fb00>; + read-only; + }; + + mac: partition@1fb00 { + label = "mac"; + reg = <0x01fb00 0x000500>; + read-only; + }; + + partition@20000 { + label = "u-boot"; + reg = <0x020000 0x010000>; + read-only; + }; + + partition@30000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x030000 0x7a0000>; + }; + + partition@7d0000 { + label = "tplink"; + reg = <0x7d0000 0x020000>; + read-only; + }; + + art: partition@7f0000 { + label = "art"; + reg = <0x7f0000 0x010000>; + read-only; + }; + }; + }; +}; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c6x.dtsi b/target/linux/ath79/dts/qca9561_tplink_archer-c6x.dtsi index abbccea08f..b1b166d89a 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c6x.dtsi +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c6x.dtsi @@ -34,7 +34,7 @@ }; }; - leds { + leds: leds { compatible = "gpio-leds"; led_power: power { @@ -60,20 +60,10 @@ gpios = <&gpio 20 GPIO_ACTIVE_LOW>; }; - wan_amber { - label = "tp-link:amber:wan"; - gpios = <&gpio 22 GPIO_ACTIVE_LOW>; - }; - lan { label = "tp-link:green:lan"; gpios = <&gpio 2 GPIO_ACTIVE_LOW>; }; - - wps { - label = "tp-link:green:wps"; - gpios = <&gpio 19 GPIO_ACTIVE_LOW>; - }; }; }; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds index cf9dfd2b0d..3864423e58 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds @@ -177,7 +177,8 @@ tplink,archer-c58-v1|\ tplink,archer-c59-v1|\ tplink,archer-c59-v2|\ tplink,archer-c60-v1|\ -tplink,archer-c60-v2) +tplink,archer-c60-v2|\ +tplink,archer-c60-v3) ucidef_set_led_switch "lan" "LAN" "tp-link:green:lan" "switch0" "0x1E" ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1" ;; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 79313e9170..33a4b0e884 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -81,6 +81,7 @@ ath79_setup_interfaces() tplink,archer-c25-v1|\ tplink,archer-c60-v1|\ tplink,archer-c60-v2|\ + tplink,archer-c60-v3|\ tplink,tl-wdr3500-v1|\ tplink,tl-wr842n-v1|\ tplink,tl-wr842n-v3|\ diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index ce8531d5ce..43c2f9ced5 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -167,6 +167,7 @@ case "$FIRMWARE" in tplink,archer-c59-v2|\ tplink,archer-c60-v1|\ tplink,archer-c60-v2|\ + tplink,archer-c60-v3|\ tplink,archer-c6-v2|\ tplink,archer-c6-v2-us) caldata_extract "art" 0x5000 0x2f20 diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk index 33a8ee3f44..ffa445697c 100644 --- a/target/linux/ath79/image/generic-tp-link.mk +++ b/target/linux/ath79/image/generic-tp-link.mk @@ -135,6 +135,17 @@ define Device/tplink_archer-c60-v2 endef TARGET_DEVICES += tplink_archer-c60-v2 +define Device/tplink_archer-c60-v3 + $(Device/tplink-safeloader-uimage) + SOC := qca9561 + IMAGE_SIZE := 7808k + DEVICE_MODEL := Archer C60 + DEVICE_VARIANT := v3 + TPLINK_BOARD_ID := ARCHER-C60-V3 + DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct +endef +TARGET_DEVICES += tplink_archer-c60-v3 + define Device/tplink_archer-c7-v1 $(Device/tplink-8mlzma) SOC := qca9558 diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c index 0359c9f614..c5d91c9433 100644 --- a/tools/firmware-utils/src/tplink-safeloader.c +++ b/tools/firmware-utils/src/tplink-safeloader.c @@ -1021,6 +1021,42 @@ static struct device_info boards[] = { .last_sysupgrade_partition = "file-system", }, + /** Firmware layout for the C60v3 */ + { + .id = "ARCHER-C60-V3", + .vendor = "", + .support_list = + "SupportList:\r\n" + "{product_name:Archer C60,product_ver:3.0.0,special_id:42520000}\r\n" + "{product_name:Archer C60,product_ver:3.0.0,special_id:45550000}\r\n" + "{product_name:Archer C60,product_ver:3.0.0,special_id:55530000}\r\n", + .support_trail = '\x00', + .soft_ver = "soft_ver:3.0.0\n", + + .partitions = { + {"factory-boot", 0x00000, 0x1fb00}, + {"default-mac", 0x1fb00, 0x00200}, + {"pin", 0x1fd00, 0x00100}, + {"product-info", 0x1fe00, 0x00100}, + {"device-id", 0x1ff00, 0x00100}, + {"fs-uboot", 0x20000, 0x10000}, + {"firmware", 0x30000, 0x7a0000}, + {"soft-version", 0x7d9500, 0x00100}, + {"support-list", 0x7d9600, 0x00100}, + {"extra-para", 0x7d9700, 0x00100}, + {"profile", 0x7d9800, 0x03000}, + {"default-config", 0x7dc800, 0x03000}, + {"partition-table", 0x7df800, 0x00800}, + {"user-config", 0x7e0000, 0x0c000}, + {"certificate", 0x7ec000, 0x04000}, + {"radio", 0x7f0000, 0x10000}, + {NULL, 0, 0} + }, + + .first_sysupgrade_partition = "os-image", + .last_sysupgrade_partition = "file-system", + }, + /** Firmware layout for the C5 */ { .id = "ARCHER-C5-V2", @@ -2172,6 +2208,7 @@ static void build_image(const char *output, strcasecmp(info->id, "ARCHER-C25-V1") == 0 || strcasecmp(info->id, "ARCHER-C59-V2") == 0 || strcasecmp(info->id, "ARCHER-C60-V2") == 0 || + strcasecmp(info->id, "ARCHER-C60-V3") == 0 || strcasecmp(info->id, "TLWR1043NV5") == 0) { const char mdat[11] = {0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00}; parts[5] = put_data("extra-para", mdat, 11); From 213250b56bb4a3043dcb5a48e2f849b9e45967d7 Mon Sep 17 00:00:00 2001 From: Davide Fioravanti Date: Sun, 19 Jan 2020 21:05:31 +0100 Subject: [PATCH 8/8] ath79: add support for TP-Link Archer D7/D7b v1 TP-Link Archer D7 v1 is a dual-band AC1750 router + modem. The router section is based on Qualcomm/Atheros QCA9558 + QCA9880. The "DSL" section is based on BCM6318 but it's currently not supported. The Archer D7b seems to differ from the Archer D7 only in the partition table. Router section - Specification: 775/650/258 MHz (CPU/DDR/AHB) 128 MB of RAM (DDR2) 16 MB of FLASH (SPI NOR) 3T3R 2.4 GHz 3T3R 5 GHz 4x 10/100/1000 Mbps Ethernet 7x LED, 2x button UART header on PCB Known issues: - Broadband LED (missing GPIO - probably driven by the BCM6318) - Internet LED (missing GPIO - probably driven by the BCM6318) - WIFI LED (working only for one interface at a time, while in the OEM firmware works for both wifi interfaces; thus, this patch does not set a trigger by default) - DSL not working (eth0) UART connection --------------- J1 HEADER (Qualcomm CPU) . VCC . GND . RX O TX J41 HEADER (Broadcom CPU) . VCC . GND . RX O TX The following instructions require a connection to the J1 UART header and are tested for the Archer D7 v1. For the Archer D7b v1, names should be changed accordingly. Flash instructions under U-Boot, using UART ------------------------------------------ 1. Press "tpl" to stop autobooting and obtain U-Boot CLI access. 2. Setup ip addresses for U-Boot and your tftp server. 3. Issue below commands: tftpboot 0x81000000 openwrt-ath79-generic-tplink_archer-d7-v1-squashfs-sysupgrade.bin erase 0x9f020000 +f90000 cp.b 0x81000000 0x9f020000 0xf90000 reset Initramfs instructions under U-Boot for testing, using UART ---------------------------------------------------------- 1. Press "tpl" to stop autobooting and obtain U-Boot CLI access. 2. Setup ip addresses for U-Boot and your tftp server. 3. Issue below commands: tftpboot 0x81000000 openwrt-ath79-generic-tplink_archer-d7-v1-initramfs-kernel.bin bootm 0x81000000 4. Here you can backup the original firmware and/or flash the sysupgrade openwrt if you want Restore the original firmware ----------------------------- 0. Backup every partition using the OpenWrt web interface 1. Download the OEM firmware from the TP-Link website 2. Extract the bin file in a folder (eg. Archer_D7v1_1.6.0_0.9.1_up_boot(160216)_2016-02-16_15.55.48.bin) 3. Remove the U-Boot and the Broadcom image part from the file. Issue the following command: dd if="Archer_D7v1_1.6.0_0.9.1_up_boot(160216)_2016-02-16_15.55.48.bin" of="Archer_D7v1_1.6.0_0.9.1_up_boot(160216)_2016-02-16_15.55.48.bin.mod" skip=257 bs=512 count=31872 4. Double check the .mod file size. It must be 16318464 bytes. 5. Flash it using the OpenWrt web interface. Force the update if needed. WARNING: Remember to NOT keep settings. 5b. (Alternative to 5.) Flash it using the U-Boot and UART connection. Issue below commands in the U-Boot: tftpboot 0x81000000 Archer_D7v1_1.6.0_0.9.1_up_boot(160216)_2016-02-16_15.55.48.bin.mod erase 0x9f020000 +f90000 cp.b 0x81000000 0x9f020000 0xf90000 reset Signed-off-by: Davide Fioravanti [cosmetic DTS changes, remove TPLINK_HWREVADD := 0, do not use two phyXtpt at once, add missing buttons, minor commit message adjustments] Signed-off-by: Adrian Schmutzler --- .../ath79/dts/qca9558_tplink_archer-d7-v1.dts | 87 +++++++++ .../ath79/dts/qca9558_tplink_archer-d7.dtsi | 179 ++++++++++++++++++ .../dts/qca9558_tplink_archer-d7b-v1.dts | 81 ++++++++ .../generic/base-files/etc/board.d/01_leds | 4 + .../generic/base-files/etc/board.d/02_network | 5 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 5 + target/linux/ath79/image/generic-tp-link.mk | 29 +++ 7 files changed, 390 insertions(+) create mode 100644 target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_archer-d7.dtsi create mode 100644 target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts b/target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts new file mode 100644 index 0000000000..8fae6545e3 --- /dev/null +++ b/target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts @@ -0,0 +1,87 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "qca9558_tplink_archer-d7.dtsi" + +/ { + compatible = "tplink,archer-d7-v1", "qca,qca9558"; + model = "TP-Link Archer D7 v1"; + + aliases { + label-mac-device = &wmac; + }; +}; + +&spi { + status = "okay"; + + num-cs = <1>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x000000 0x020000>; + read-only; + }; + + partition@20000 { + compatible = "tplink,firmware"; + label = "firmware"; + reg = <0x020000 0xf90000>; + }; + + partition@fb0000 { + label = "radioDECT"; + reg = <0xfb0000 0x010000>; + read-only; + }; + + partition@fc0000 { + label = "config"; + reg = <0xfc0000 0x010000>; + read-only; + }; + + romfs: partition@fd0000 { + label = "romfs"; + reg = <0xfd0000 0x010000>; + read-only; + }; + + partition@fe0000 { + label = "rom"; + reg = <0xfe0000 0x010000>; + read-only; + }; + + art: partition@ff0000 { + label = "art"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; + +ð0 { + mtd-mac-address = <&romfs 0xf100>; + mtd-mac-address-increment = <1>; +}; + +ð1 { + mtd-mac-address = <&romfs 0xf100>; +}; + +&wmac { + mtd-cal-data = <&art 0x1000>; + mtd-mac-address = <&romfs 0xf100>; +}; diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-d7.dtsi b/target/linux/ath79/dts/qca9558_tplink_archer-d7.dtsi new file mode 100644 index 0000000000..a65d4e2b53 --- /dev/null +++ b/target/linux/ath79/dts/qca9558_tplink_archer-d7.dtsi @@ -0,0 +1,179 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include +#include + +#include "qca9557.dtsi" + +/ { + chosen { + bootargs = "console=ttyS0,115200n8"; + }; + + aliases { + led-boot = &led_system; + led-failsafe = &led_system; + led-running = &led_system; + led-upgrade = &led_system; + }; + + leds { + compatible = "gpio-leds"; + + led_system: system { + label = "tp-link:white:system"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + wlan { + label = "tp-link:white:wlan"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + + lan { + label = "tp-link:white:lan"; + gpios = <&gpio 23 GPIO_ACTIVE_LOW>; + }; + + usb { + label = "tp-link:white:usb"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + trigger-sources = <&hub_port1>, <&hub_port0>; + linux,default-trigger = "usbport"; + }; + + qss { + label = "tp-link:white:qss"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + wifi { + label = "WiFi button"; + linux,code = ; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + }; + + wps { + label = "WPS button"; + linux,code = ; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + }; + + reset { + label = "Reset button"; + linux,code = ; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + }; + }; + + reg_usb0_vbus: regulator { + compatible = "regulator-fixed"; + regulator-name = "usb_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio 21 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + reg_usb1_vbus: regulator { + compatible = "regulator-fixed"; + regulator-name = "usb_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio 22 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&mdio0 { + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <0>; + + qca,ar8327-initvals = < + 0x04 0x00080080 /* PORT0 PAD MODE CTRL */ + 0x0c 0x07600000 /* PORT6 PAD MODE CTRL */ + 0x50 0xc737c737 /* LED_CTRL0 */ + 0x54 0x00000000 /* LED_CTRL1 */ + 0x58 0x00000000 /* LED_CTRL2 */ + 0x5c 0x0030c300 /* LED_CTRL3 */ + 0x7c 0x0000007e /* PORT0_STATUS */ + 0x94 0x0000007e /* PORT6 STATUS */ + >; + }; +}; + +ð0 { + status = "okay"; + + phy-handle = <&phy0>; + pll-data = <0x56000000 0x00000101 0x00001616>; + + gmac-config { + device = <&gmac>; + rgmii-enabled = <1>; + }; +}; + +ð1 { + status = "okay"; + + pll-data = <0x03000101 0x00000101 0x00001616>; + + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +&wmac { + status = "okay"; +}; + +&pcie1 { + status = "okay"; +}; + +&uart { + status = "okay"; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb0 { + #address-cells = <1>; + #size-cells = <0>; + dr_mode = "host"; + vbus-supply = <®_usb0_vbus>; + status = "okay"; + + hub_port0: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; +}; + +&usb_phy1 { + status = "okay"; +}; + +&usb1 { + #address-cells = <1>; + #size-cells = <0>; + dr_mode = "host"; + vbus-supply = <®_usb1_vbus>; + status = "okay"; + + hub_port1: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; +}; diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts b/target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts new file mode 100644 index 0000000000..31563d9c46 --- /dev/null +++ b/target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts @@ -0,0 +1,81 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "qca9558_tplink_archer-d7.dtsi" + +/ { + compatible = "tplink,archer-d7b-v1", "qca,qca9558"; + model = "TP-Link Archer D7b v1"; + + aliases { + label-mac-device = &wmac; + }; +}; + +&spi { + status = "okay"; + + num-cs = <1>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x000000 0x020000>; + read-only; + }; + + partition@20000 { + compatible = "tplink,firmware"; + label = "firmware"; + reg = <0x020000 0xfa0000>; + }; + + partition@fc0000 { + label = "config"; + reg = <0xfc0000 0x010000>; + read-only; + }; + + romfs: partition@fd0000 { + label = "romfs"; + reg = <0xfd0000 0x010000>; + read-only; + }; + + partition@fe0000 { + label = "reserve"; + reg = <0xfe0000 0x010000>; + read-only; + }; + + art: partition@ff0000 { + label = "art"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; + +ð0 { + mtd-mac-address = <&romfs 0xf100>; + mtd-mac-address-increment = <1>; +}; + +ð1 { + mtd-mac-address = <&romfs 0xf100>; +}; + +&wmac { + mtd-cal-data = <&art 0x1000>; + mtd-mac-address = <&romfs 0xf100>; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds index 3864423e58..227ccf0dfe 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds @@ -187,6 +187,10 @@ tplink,archer-d50-v1) ucidef_set_led_switch "wan_data" "WAN Data" "tp-link:white:internet" "switch0" "0x02" "" "tx rx" ucidef_set_led_switch "wan_link" "WAN Link" "tp-link:white:wan" "switch0" "0x02" "" "link" ;; +tplink,archer-d7-v1|\ +tplink,archer-d7b-v1) + ucidef_set_led_switch "lan" "LAN" "tp-link:white:lan" "switch0" "0x3c" + ;; tplink,cpe210-v1|\ tplink,cpe220-v2|\ tplink,cpe220-v3|\ diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 33a4b0e884..dbb722482b 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -252,6 +252,11 @@ ath79_setup_interfaces() ucidef_add_switch "switch0" \ "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "1:wan" ;; + tplink,archer-d7-v1|\ + tplink,archer-d7b-v1) + ucidef_add_switch "switch0" \ + "0@eth1" "3:lan:3" "4:lan:2" "5:lan:1" "6@eth0" "2:wan:4" "1:wan:5" + ;; tplink,tl-mr6400-v1) ucidef_set_interfaces_lan_wan "eth0.1 eth1" "usb0" ucidef_add_switch "switch0" \ diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 43c2f9ced5..d354c7eaec 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -99,6 +99,11 @@ case "$FIRMWARE" in caldata_extract "art" 0x5000 0x844 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary romfile 0xf100) +2) ;; + tplink,archer-d7-v1|\ + tplink,archer-d7b-v1) + caldata_extract "art" 0x5000 0x844 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary romfs 0xf100) +2) + ;; tplink,re350k-v1) caldata_extract "art" 0x5000 0x844 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary config 0x10008) +2) diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk index ffa445697c..18f5233c09 100644 --- a/target/linux/ath79/image/generic-tp-link.mk +++ b/target/linux/ath79/image/generic-tp-link.mk @@ -217,6 +217,35 @@ define Device/tplink_archer-d50-v1 endef TARGET_DEVICES += tplink_archer-d50-v1 +define Device/tplink_archer-d7-v1 + $(Device/tplink-v2) + SOC := qca9558 + DEVICE_MODEL := Archer D7 + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport \ + kmod-ath10k-ct ath10k-firmware-qca988x-ct + IMAGE_SIZE := 15936k + TPLINK_HWID := 0x89300001 + TPLINK_HWREV := 0x0000002D + TPLINK_FLASHLAYOUT := 16Mqca + TPLINK_HWREVADD := 0x00000002 +endef +TARGET_DEVICES += tplink_archer-d7-v1 + +define Device/tplink_archer-d7b-v1 + $(Device/tplink-v2) + SOC := qca9558 + DEVICE_MODEL := Archer D7b + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport \ + kmod-ath10k-ct ath10k-firmware-qca988x-ct + IMAGE_SIZE := 16000k + TPLINK_HWID := 0x89300001 + TPLINK_HWREV := 0x0000003D + TPLINK_FLASHLAYOUT := 16Mqca +endef +TARGET_DEVICES += tplink_archer-d7b-v1 + define Device/tplink_cpe210-v1 $(Device/tplink-safeloader-okli) SOC := ar9344