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-ar7241.dts b/target/linux/ath79/dts/ar7241_ubnt_bullet-m-ar7241.dts new file mode 100644 index 0000000000..0e2183c27d --- /dev/null +++ b/target/linux/ath79/dts/ar7241_ubnt_bullet-m-ar7241.dts @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar7241.dtsi" +#include "ar724x_ubnt_xm.dtsi" +#include "ar724x_ubnt_xm_outdoor.dtsi" + +/ { + compatible = "ubnt,bullet-m-ar7241", "ubnt,xm", "qca,ar7241"; + model = "Ubiquiti Bullet M XM (AR7241)"; +}; + +ð1 { + compatible = "syscon", "simple-mfd"; +}; diff --git a/target/linux/ath79/dts/ar7241_ubnt_bullet-m.dts b/target/linux/ath79/dts/ar7241_ubnt_bullet-m.dts deleted file mode 100644 index e16b5fa0be..0000000000 --- a/target/linux/ath79/dts/ar7241_ubnt_bullet-m.dts +++ /dev/null @@ -1,13 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/dts-v1/; - -#include "ar7241_ubnt_xm_outdoor.dtsi" - -/ { - compatible = "ubnt,bullet-m", "ubnt,xm", "qca,ar7241"; - model = "Ubiquiti Bullet M"; -}; - -ð1 { - compatible = "syscon", "simple-mfd"; -}; 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/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/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 390f5f3657..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 @@ -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" ;; @@ -186,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|\ @@ -245,7 +250,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..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 @@ -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|\ @@ -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|\ @@ -251,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" \ @@ -440,7 +446,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/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..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) @@ -167,6 +172,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..18f5233c09 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 @@ -206,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 diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk index a4aff09fec..4902023089 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,18 +107,21 @@ TARGET_DEVICES += ubnt_acb-isp define Device/ubnt_airrouter $(Device/ubnt-xm) + SOC := ar7241 DEVICE_MODEL := AirRouter SUPPORTED_DEVICES += 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) @@ -181,6 +183,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 +200,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 +217,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 +226,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 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 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 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 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 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);