ath79: sync and fix wireless (#2919)

This commit sync target ath79 from openwrt master, and revert some commit which will causes wireless to not work.
Use ath10k-ct-smallbuffers by default, so that small memory devices can normal work.
This commit is contained in:
AmadeusGhost 2020-02-03 23:45:16 +08:00 committed by GitHub
parent ecea39f109
commit 2d7f1ed162
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
112 changed files with 3515 additions and 691 deletions

View File

@ -3,6 +3,10 @@
IMAGE_KERNEL = $(word 1,$^)
IMAGE_ROOTFS = $(word 2,$^)
define rootfs_align
$(patsubst %-256k,0x40000,$(patsubst %-128k,0x20000,$(patsubst %-64k,0x10000,$(patsubst squashfs%,0x4,$(patsubst root.%,%,$(1))))))
endef
define Build/uImage
mkimage -A $(LINUX_KARCH) \
-O linux -T kernel \
@ -271,6 +275,13 @@ define Build/check-size
}
endef
define Build/check-kernel-size
@[ $$(($(subst k,* 1024,$(subst m, * 1024k,$(1))))) -ge "$$(stat -c%s $(IMAGE_KERNEL))" ] || { \
echo "WARNING: Kernel for $@ is too big > $(1)" >&2; \
rm -f $@; \
}
endef
define Build/combined-image
-sh $(TOPDIR)/scripts/combined-image.sh \
"$(IMAGE_KERNEL)" \
@ -308,7 +319,7 @@ endef
define Build/qsdk-ipq-factory-nor
$(TOPDIR)/scripts/mkits-qsdk-ipq-image.sh \
$@.its hlos $(IMAGE_KERNEL) rootfs $(IMAGE_ROOTFS)
$@.its kernel $(IMAGE_KERNEL) rootfs $(IMAGE_ROOTFS)
PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new
@mv $@.new $@
endef
@ -335,6 +346,24 @@ define Build/tplink-v1-header
@mv $@.new $@
endef
# combine kernel and rootfs into one image
# mktplinkfw <type> <optional extra arguments to mktplinkfw binary>
# <type> is "sysupgrade" or "factory"
#
# -a align the rootfs start on an <align> bytes boundary
# -j add jffs2 end-of-filesystem markers
# -s strip padding from end of the image
# -X reserve <size> bytes in the firmware image (hexval prefixed with 0x)
define Build/tplink-v1-image
-$(STAGING_DIR_HOST)/bin/mktplinkfw \
-H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) \
-N "$(VERSION_DIST)" -V $(REVISION) -m $(TPLINK_HEADER_VERSION) \
-k $(IMAGE_KERNEL) -r $(IMAGE_ROOTFS) -o $@.new -j -X 0x40000 \
-a $(call rootfs_align,$(FILESYSTEM)) \
$(wordlist 2,$(words $(1)),$(1)) \
$(if $(findstring sysupgrade,$(word 1,$(1))),-s) && mv $@.new $@ || rm -f $@
endef
define Build/tplink-v2-header
$(STAGING_DIR_HOST)/bin/mktplinkfw2 \
-c -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -L $(KERNEL_LOADADDR) \

View File

@ -420,6 +420,7 @@ define Device/Init
DEVICE_DTS :=
DEVICE_DTS_CONFIG :=
DEVICE_DTS_DIR :=
SOC :=
BOARD_NAME :=
UIMAGE_NAME :=
@ -437,7 +438,7 @@ DEFAULT_DEVICE_VARS := \
DEVICE_NAME KERNEL KERNEL_INITRAMFS KERNEL_INITRAMFS_IMAGE KERNEL_SIZE \
CMDLINE UBOOTENV_IN_UBI KERNEL_IN_UBI BLOCKSIZE PAGESIZE SUBPAGESIZE \
VID_HDR_OFFSET UBINIZE_OPTS UBINIZE_PARTS MKUBIFS_OPTS DEVICE_DTS \
DEVICE_DTS_CONFIG DEVICE_DTS_DIR BOARD_NAME UIMAGE_NAME SUPPORTED_DEVICES \
DEVICE_DTS_CONFIG DEVICE_DTS_DIR SOC BOARD_NAME UIMAGE_NAME SUPPORTED_DEVICES \
IMAGE_METADATA KERNEL_ENTRY KERNEL_LOADADDR UBOOT_PATH DEVICE_VENDOR \
DEVICE_MODEL DEVICE_VARIANT \
DEVICE_ALT0_VENDOR DEVICE_ALT0_MODEL DEVICE_ALT0_VARIANT \

View File

@ -229,7 +229,7 @@ case "$FIRMWARE" in
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
;;
tl-wdr6500-v6)
tl-wdr6500-v6)
ath10kcal_extract "art" 8192 12064
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -47,7 +47,7 @@
usb {
label = "buffalo:green:usb";
gpios = <&ath9k0 3 GPIO_ACTIVE_LOW>;
trigger-sources = <&usb_ochi_port>, <&usb_echi_port>;
trigger-sources = <&usb_ohci_port>, <&usb_ehci_port>;
linux,default-trigger = "usbport";
};
@ -180,7 +180,7 @@
#size-cells = <0>;
status = "okay";
usb_ochi_port: port@1 {
usb_ohci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
@ -191,7 +191,7 @@
#size-cells = <0>;
status = "okay";
usb_echi_port: port@1 {
usb_ehci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};

View File

@ -34,7 +34,7 @@
usb {
label = "d-link:blue:usb";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
trigger-sources = <&usb_ochi_port>, <&usb_echi_port>;
trigger-sources = <&usb_ohci_port>, <&usb_ehci_port>;
linux,default-trigger = "usbport";
};
@ -123,7 +123,7 @@
#size-cells = <0>;
status = "okay";
usb_ochi_port: port@1 {
usb_ohci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
@ -134,7 +134,7 @@
#size-cells = <0>;
status = "okay";
usb_echi_port: port@1 {
usb_ehci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
@ -32,7 +31,7 @@
usb_led {
label = "netgear:green:usb";
resets = <&rst 12>;
trigger-sources = <&usb_ochi_port>, <&usb_echi_port>;
trigger-sources = <&usb_ohci_port>, <&usb_ehci_port>;
linux,default-trigger = "usbport";
};
};
@ -134,7 +133,7 @@
#size-cells = <0>;
status = "okay";
usb_ochi_port: port@1 {
usb_ohci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
@ -145,7 +144,7 @@
#size-cells = <0>;
status = "okay";
usb_echi_port: port@1 {
usb_ehci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
@ -156,7 +155,7 @@
ath9k0: wifi@0,11 {
compatible = "pci168c,0029";
reg = <0x8800 0 0 0 0x10000>;
reg = <0x8800 0 0 0 0>;
mtd-mac-address = <&art 0x0>;
qca,no-eeprom;
#gpio-cells = <2>;
@ -165,7 +164,7 @@
ath9k1: wifi@0,12 {
compatible = "pci168c,0029";
reg = <0x9000 0 0 0 0x10000>;
reg = <0x9000 0 0 0 0>;
mtd-mac-address = <&art 0xc>;
qca,no-eeprom;
#gpio-cells = <2>;

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
@ -86,7 +85,7 @@
#address-cells = <1>;
#size-cells = <0>;
usb_ochi_port: port@1 {
usb_ohci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
@ -97,7 +96,7 @@
#address-cells = <1>;
#size-cells = <0>;
usb_echi_port: port@1 {
usb_ehci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};

View File

@ -65,7 +65,6 @@
resets = <&rst 9>;
reset-names = "mac";
phy-mode = "mii";
phy-handle = <&swphy4>;
};

View File

@ -0,0 +1,170 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "ar7240.dtsi"
/ {
model = "D-Link DIR-615 E4";
compatible = "dlink,dir-615-e4", "qca,ar7240";
aliases {
led-boot = &led_power_amber;
led-failsafe = &led_power_amber;
led-running = &led_power_green;
led-upgrade = &led_power_amber;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&switch_led_pins>;
led_power_green: power_green {
label = "d-link:green:power";
gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
};
led_power_amber: power_amber {
label = "d-link:amber:power";
gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
};
wps {
label = "d-link:blue:wps";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
lan1 {
label = "d-link:green:lan1";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
lan2 {
label = "d-link:green:lan2";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
lan3 {
label = "d-link:green:lan3";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
lan4 {
label = "d-link:green:lan4";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
wan_amber {
label = "d-link:amber:wan";
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
};
wan_green {
label = "d-link:green:wan";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan {
label = "d-link:green:wlan";
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&spi {
status = "okay";
num-cs = <1>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <33000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x30000>;
label = "u-boot";
read-only;
};
partition@30000 {
reg = <0x30000 0x10000>;
label = "nvram";
read-only;
};
partition@40000 {
compatible = "denx,uimage";
reg = <0x40000 0x3b0000>;
label = "firmware";
};
partition@3f0000 {
reg = <0x3f0000 0x10000>;
label = "art";
read-only;
};
};
};
};
&eth0 {
status = "okay";
};
&eth1 {
status = "okay";
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
compatible = "pci168c,002b";
reg = <0x0000 0 0 0 0>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&pinmux {
switch_led_pins: pinmux_switch_led_pins {
pinctrl-single,bits = <0x0 0x0 0xf8>;
};
};
&uart {
status = "okay";
};

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -46,7 +46,6 @@
resets = <&rst 9>;
reset-names = "mac";
phy-mode = "mii";
phy-handle = <&swphy4>;
};

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -0,0 +1,77 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "ar7242_ubnt_sw.dtsi"
/ {
compatible = "ubnt,edgeswitch-5xp", "qca,ar7242";
model = "Ubiquiti EdgeSwitch 5XP";
gpio-export {
compatible = "gpio-export";
poe_24v_port1 {
gpio-export,name = "ubnt:24v-poe:port1";
gpio-export,output = <0>;
gpios = <&gpio_hc595 1 GPIO_ACTIVE_HIGH>;
};
poe_24v_port2 {
gpio-export,name = "ubnt:24v-poe:port2";
gpio-export,output = <0>;
gpios = <&gpio_hc595 3 GPIO_ACTIVE_HIGH>;
};
poe_24v_port3 {
gpio-export,name = "ubnt:24v-poe:port3";
gpio-export,output = <0>;
gpios = <&gpio_hc595 5 GPIO_ACTIVE_HIGH>;
};
poe_24v_port4 {
gpio-export,name = "ubnt:24v-poe:port4";
gpio-export,output = <0>;
gpios = <&gpio_hc595 7 GPIO_ACTIVE_HIGH>;
};
poe_24v_port5 {
gpio-export,name = "ubnt:24v-poe:port5";
gpio-export,output = <0>;
gpios = <&gpio_hc595 9 GPIO_ACTIVE_HIGH>;
};
};
};
&mdio0 {
status = "okay";
phy0: ethernet-switch@0 {
compatible = "qca,ar8327";
reg = <0x0>;
qca,ar8327-initvals = <
0x04 0x05100000 /* PORT0 PAD MODE CTRL */
0x0c 0x05100000 /* PORT6 PAD MODE CTRL */
0x50 0x40004000 /* LED_CTRL0 */
0x54 0x40004000 /* LED_CTRL1 */
0x58 0x40004000 /* LED_CTRL2 */
0x5c 0x03ffff00 /* LED_CTRL3 */
0x7c 0x0000007e /* PORT0_STATUS */
0x94 0x0000007e /* PORT6_STATUS */
>;
};
};
&eth0 {
status = "okay";
phy-handle = <&phy0>;
phy-mode = "rgmii";
mtd-mac-address = <&art 0x0>;
fixed-link {
speed = <1000>;
full-duplex;
};
};

View File

@ -0,0 +1,190 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "ar7242_ubnt_sw.dtsi"
/ {
compatible = "ubnt,edgeswitch-8xp", "qca,ar7242";
model = "Ubiquiti EdgeSwitch 8XP";
gpio-export {
compatible = "gpio-export";
poe_24v_port1 {
gpio-export,name = "ubnt:24v-poe:port1";
gpio-export,output = <0>;
gpios = <&gpio_hc595 1 GPIO_ACTIVE_HIGH>;
};
poe_48v_port1 {
gpio-export,name = "ubnt:48v-poe:port1";
gpio-export,output = <0>;
gpios = <&gpio_hc595 0 GPIO_ACTIVE_HIGH>;
};
poe_24v_port2 {
gpio-export,name = "ubnt:24v-poe:port2";
gpio-export,output = <0>;
gpios = <&gpio_hc595 3 GPIO_ACTIVE_HIGH>;
};
poe_48v_port2 {
gpio-export,name = "ubnt:48v-poe:port2";
gpio-export,output = <0>;
gpios = <&gpio_hc595 2 GPIO_ACTIVE_HIGH>;
};
poe_24v_port3 {
gpio-export,name = "ubnt:24v-poe:port3";
gpio-export,output = <0>;
gpios = <&gpio_hc595 5 GPIO_ACTIVE_HIGH>;
};
poe_48v_port3 {
gpio-export,name = "ubnt:48v-poe:port3";
gpio-export,output = <0>;
gpios = <&gpio_hc595 4 GPIO_ACTIVE_HIGH>;
};
poe_24v_port4 {
gpio-export,name = "ubnt:24v-poe:port4";
gpio-export,output = <0>;
gpios = <&gpio_hc595 7 GPIO_ACTIVE_HIGH>;
};
poe_48v_port4 {
gpio-export,name = "ubnt:48v-poe:port4";
gpio-export,output = <0>;
gpios = <&gpio_hc595 6 GPIO_ACTIVE_HIGH>;
};
poe_24v_port5 {
gpio-export,name = "ubnt:24v-poe:port5";
gpio-export,output = <0>;
gpios = <&gpio_hc595 9 GPIO_ACTIVE_HIGH>;
};
poe_48v_port5 {
gpio-export,name = "ubnt:48v-poe:port5";
gpio-export,output = <0>;
gpios = <&gpio_hc595 8 GPIO_ACTIVE_HIGH>;
};
poe_24v_port6 {
gpio-export,name = "ubnt:24v-poe:port6";
gpio-export,output = <0>;
gpios = <&gpio_hc595 11 GPIO_ACTIVE_HIGH>;
};
poe_48v_port6 {
gpio-export,name = "ubnt:48v-poe:port6";
gpio-export,output = <0>;
gpios = <&gpio_hc595 10 GPIO_ACTIVE_HIGH>;
};
poe_24v_port7 {
gpio-export,name = "ubnt:24v-poe:port7";
gpio-export,output = <0>;
gpios = <&gpio_hc595 13 GPIO_ACTIVE_HIGH>;
};
poe_48v_port7 {
gpio-export,name = "ubnt:48v-poe:port7";
gpio-export,output = <0>;
gpios = <&gpio_hc595 12 GPIO_ACTIVE_HIGH>;
};
poe_24v_port8 {
gpio-export,name = "ubnt:24v-poe:port8";
gpio-export,output = <0>;
gpios = <&gpio_hc595 15 GPIO_ACTIVE_HIGH>;
};
poe_48v_port8 {
gpio-export,name = "ubnt:48v-poe:port8";
gpio-export,output = <0>;
gpios = <&gpio_hc595 14 GPIO_ACTIVE_HIGH>;
};
};
};
&mdio0 {
status = "okay";
phy-mask = <0x10>;
ethernet-switch@1e {
compatible = "brcm,bcm53128";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x1e>;
ports {
port0@0 {
reg = <0>;
label = "lan1";
};
port1@1 {
reg = <1>;
label = "lan2";
};
port2@2 {
reg = <2>;
label = "lan3";
};
port3@3 {
reg = <3>;
label = "lan4";
};
port4@4 {
reg = <4>;
label = "lan5";
};
port5@5 {
reg = <5>;
label = "lan6";
};
port6@6 {
reg = <6>;
label = "lan7";
};
port7@7 {
reg = <7>;
label = "lan8";
};
phy0: port8@8 {
reg = <8>;
label = "cpu";
ethernet = <&eth0>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
};
};
};
&eth0 {
status = "okay";
phy-mode = "rgmii-rxid";
pll-data = <0x16000000 0x00000101 0x00001313>;
mtd-mac-address = <&art 0x0>;
phy-handle = <&phy0>;
fixed-link {
speed = <1000>;
full-duplex;
};
};

View File

@ -0,0 +1,142 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "ar7242.dtsi"
/ {
compatible = "qca,ar7242";
model = "Ubiquiti Networks SW board";
chosen {
bootargs = "console=ttyS0,115200n8";
};
aliases {
led-boot = &led_usr;
led-failsafe = &led_usr;
led-running = &led_usr;
led-upgrade = &led_usr;
};
leds {
compatible = "gpio-leds";
led_usr: usr {
label = "ubnt:yellow:usr";
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
};
};
keys {
compatible = "gpio-keys";
reset {
linux,code = <KEY_RESTART>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
gpio_spi {
compatible = "spi-gpio";
#address-cells = <0x1>;
ranges;
sck-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
mosi-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
cs-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
num-chipselects = <1>;
gpio_hc595: gpio_spi@0 {
compatible = "fairchild,74hc595";
reg = <0>;
registers-number = <2>;
spi-max-frequency = <100000>;
enable-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
gpio-controller;
#gpio-cells = <2>;
};
};
};
&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 {
reg = <0x000000 0x040000>;
label = "u-boot";
read-only;
};
partition@40000 {
reg = <0x040000 0x010000>;
label = "u-boot-env";
read-only;
};
partition@50000 {
compatible = "denx,uimage";
reg = <0x050000 0x760000>;
label = "firmware";
};
partition@7b0000 {
reg = <0x7b0000 0x040000>;
label = "cfg";
read-only;
};
art: partition@7f0000 {
reg = <0x7f0000 0x010000>;
label = "art";
read-only;
};
};
};
};
&usb_phy {
status = "okay";
};
&usb {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&pcie {
status = "okay";
};
&uart {
status = "okay";
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x6>;
};

View File

@ -110,7 +110,7 @@
&mdio0 {
status = "okay";
phy0: ethernet-phy@c {
phy12: ethernet-phy@c {
reg = <0xc>;
phy-mode = "mii";
};
@ -119,10 +119,9 @@
&eth0 {
status = "okay";
phy-mode = "mii";
mtd-mac-address = <&uboot 0x1fc00>;
phy-handle = <&phy0>;
phy-handle = <&phy12>;
};
&wmac {

View File

@ -170,7 +170,6 @@
resets = <&rst 9>;
reset-names = "mac";
phy-mode = "mii";
phy-handle = <&swphy4>;
};

View File

@ -0,0 +1,149 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "ar9330.dtsi"
/ {
model = "D-Link DIR-505";
compatible = "dlink,dir-505", "qca,ar9330";
aliases {
serial0 = &uart;
led-boot = &led_power_green;
led-failsafe = &led_status_red;
led-running = &led_power_green;
led-upgrade = &led_status_red;
};
keys {
compatible = "gpio-keys";
wps {
label = "WPS button";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "Reset button";
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&jtag_disable_pins>;
led_power_green: power {
label = "d-link:green:power";
gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
};
led_status_red: status {
label = "d-link:red:status";
gpios = <&gpio 26 GPIO_ACTIVE_LOW>;
};
};
};
&uart {
status = "okay";
};
&gpio {
status = "okay";
led_enable {
gpio-hog;
output-low;
gpios = <1 GPIO_ACTIVE_LOW>;
line-name = "d-link:power:led";
};
};
&usb {
dr_mode = "host";
status = "okay";
};
&usb_phy {
status = "okay";
};
&eth0 {
status = "okay";
gmac-config {
device = <&gmac>;
switch-phy-addr-swap = <0>;
switch-phy-swap = <0>;
};
};
&eth1 {
compatible = "syscon", "simple-mfd";
status = "okay";
};
&spi {
num-chipselects = <1>;
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
spi-max-frequency = <50000000>;
reg = <0>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x10000>;
read-only;
};
art: partition@10000 {
label = "art";
reg = <0x10000 0x10000>;
read-only;
};
mac: partition@20000 {
label = "mac";
reg = <0x20000 0x10000>;
read-only;
};
partition@30000 {
label = "nvram";
reg = <0x30000 0x10000>;
read-only;
};
partition@40000 {
label = "language";
reg = <0x40000 0x40000>;
read-only;
};
partition@80000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x80000 0x780000>;
};
};
};
};
&wmac {
status = "okay";
qca,no-eeprom;
};

View File

@ -0,0 +1,45 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "ar9331_glinet_64xx.dtsi"
/ {
model = "GL.iNet 6408";
compatible = "glinet,6408", "qca,ar9331";
};
&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>;
uboot: partition@0 {
reg = <0x0 0x20000>;
label = "u-boot";
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
reg = <0x20000 0x7d0000>;
label = "firmware";
};
art: partition@7f0000 {
reg = <0x7f0000 0x10000>;
label = "art";
read-only;
};
};
};
};

View File

@ -0,0 +1,45 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "ar9331_glinet_64xx.dtsi"
/ {
model = "GL.iNet 6416";
compatible = "glinet,6416", "qca,ar9331";
};
&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>;
uboot: partition@0 {
reg = <0x0 0x20000>;
label = "u-boot";
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
reg = <0x20000 0xfd0000>;
label = "firmware";
};
art: partition@ff0000 {
reg = <0xff0000 0x10000>;
label = "art";
read-only;
};
};
};
};

View File

@ -0,0 +1,91 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "ar9331.dtsi"
/ {
aliases {
serial0 = &uart;
label-mac-device = &wmac;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
wlan {
label = "gl-inet:red:wlan";
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy0tpt";
};
lan {
label = "gl-inet:green:lan";
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
};
};
reg_usb_vbus: reg_usb_vbus {
compatible = "regulator-fixed";
regulator-name = "usb_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
};
};
&eth0 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
gmac-config {
device = <&gmac>;
switch-phy-addr-swap = <0>;
switch-phy-swap = <0>;
};
};
&eth1 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
};
&gpio {
status = "okay";
};
&uart {
status = "okay";
};
&usb {
dr_mode = "host";
vbus-supply = <&reg_usb_vbus>;
status = "okay";
};
&usb_phy {
status = "okay";
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
};

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -17,10 +17,6 @@
interrupts = <2>;
};
&eth0 {
phy-mode = "mii";
};
&eth1 {
status = "okay";
};

View File

@ -150,13 +150,11 @@
};
&eth1 {
status = "okay";
phy-handle = <&swphy4>;
mtd-mac-address = <&art 0x0>;
phy-mode = "gmii";
pll-data = <0x06000000 0x00000101 0x00001616>;
mtd-mac-address = <&art 0x0>;
gmac-config {
device = <&gmac>;
switch-phy-swap = <1>;

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -0,0 +1,82 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "ar9341.dtsi"
/ {
aliases {
serial0 = &uart;
label-mac-device = &wmac;
};
};
&ref {
clock-frequency = <25000000>;
};
&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>;
uboot: partition@0 {
label = "u-boot";
reg = <0x000000 0x020000>;
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
label = "firmware";
reg = <0x020000 0x3d0000>;
};
art: partition@3f0000 {
label = "art";
reg = <0x3f0000 0x010000>;
read-only;
};
};
};
};
&uart {
status = "okay";
};
&eth0 {
status = "okay";
phy-handle = <&swphy0>;
mtd-mac-address = <&uboot 0x1fc00>;
gmac-config {
device = <&gmac>;
switch-phy-swap = <1>;
};
};
&eth1 {
compatible = "syscon", "simple-mfd";
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
};

View File

@ -0,0 +1,79 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "ar9341_tplink_tl-wa.dtsi"
/ {
model = "TP-Link TL-WA850RE v1";
compatible = "tplink,tl-wa850re-v1", "qca,ar9341";
aliases {
led-boot = &led_re;
led-failsafe = &led_re;
led-running = &led_re;
led-upgrade = &led_re;
};
keys {
compatible = "gpio-keys";
reset {
label = "Reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
wps {
label = "WPS";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
lan {
label = "tp-link:blue:lan";
gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
};
wlan {
label = "tp-link:blue:wlan";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
led_re: re {
label = "tp-link:blue:re";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
signal1 {
label = "tp-link:blue:signal1";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
signal2 {
label = "tp-link:blue:signal2";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
signal3 {
label = "tp-link:blue:signal3";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
signal4 {
label = "tp-link:blue:signal4";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
signal5 {
label = "tp-link:blue:signal5";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
};
};

View File

@ -0,0 +1,39 @@
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "ar9342_ubnt_wa.dtsi"
/ {
compatible = "ubnt,litebeam-ac-gen2", "ubnt,wa", "qca,ar9342";
model = "Ubiquiti LiteBeam AC Gen2";
};
&mdio0 {
status = "okay";
phy-mask = <4>;
phy4: ethernet-phy@4 {
reg = <4>;
};
};
&eth0 {
status = "okay";
/* default for ar934x, except for 1000M and 10M */
pll-data = <0x02000000 0x00000101 0x00001313>;
mtd-mac-address = <&art 0x0>;
phy-mode = "rgmii-id";
phy-handle = <&phy4>;
gmac-config {
device = <&gmac>;
rxd-delay = <3>;
rxdv-delay = <3>;
};
};

View File

@ -0,0 +1,29 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "ar9342_ubnt_xw.dtsi"
/ {
compatible = "ubnt,nanostation-loco-m-xw", "ubnt,xw", "qca,ar9342";
model = "Ubiquiti Nanostation Loco M (XW)";
};
&mdio0 {
status = "okay";
phy-mask = <0x1>;
phy1: ethernet-phy@1 {
reg = <1>;
phy-mode = "mii";
};
};
&eth0 {
status = "okay";
phy-handle = <&phy1>;
};

View File

@ -17,7 +17,7 @@
phy4-mii-enable;
phy-mask = <0x23>;
phy4: ethernet-phy@0 {
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "mii";
};
@ -26,8 +26,7 @@
&eth0 {
status = "okay";
phy-mode = "mii";
phy-handle = <&phy4>;
phy-handle = <&phy0>;
gmac-config {
device = <&gmac>;

View File

@ -12,9 +12,9 @@
aliases {
serial0 = &uart;
led-boot = &led_wan;
led-failsafe = &led_wan;
led-upgrade = &led_wan;
led-boot = &led_rssihigh;
led-failsafe = &led_rssihigh;
led-upgrade = &led_rssihigh;
label-mac-device = &eth0;
};
@ -24,7 +24,7 @@
pinctrl-names = "default";
pinctrl-0 = <&led_rssimediumhigh_pin>;
led_wan: wan {
wan {
label = "cf-e120a-v3:green:wan";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
@ -55,7 +55,7 @@
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
rssihigh {
led_rssihigh: rssihigh {
label = "cf-e120a-v3:green:rssihigh";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
@ -97,6 +96,22 @@
linux,default-trigger = "usbport";
};
};
ubi-concat {
compatible = "mtd-concat";
devices = <&ubipart0 &ubipart1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
ubi@ac0000 {
label = "ubi";
reg = <0x0 0x7500000>;
};
};
};
};
&pinmux {
@ -124,7 +139,7 @@
reg = <0x40000 0x40000>;
};
art: partition@80000 {
caldata: partition@80000 {
label = "caldata";
reg = <0x80000 0x40000>;
read-only;
@ -152,12 +167,12 @@
kernel@6c0000 {
label = "kernel";
reg = <0x6c0000 0x200000>;
reg = <0x6c0000 0x400000>;
};
ubi@8c0000 {
label = "ubi";
reg = <0x8c0000 0x1700000>;
ubipart0: partition@ac0000 {
label = "ubipart0";
reg = <0xac0000 0x1500000>;
};
partition@6c0000 {
@ -172,10 +187,9 @@
read-only;
};
partition@2000000 {
label = "reserved";
ubipart1: partition@2000000 {
label = "ubipart1";
reg = <0x2000000 0x6000000>;
read-only;
};
};
};
@ -219,7 +233,7 @@
/* default for ar934x, except for 1000M */
pll-data = <0x06000000 0x00000101 0x00001616>;
mtd-mac-address = <&art 0x0>;
mtd-mac-address = <&caldata 0x0>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
@ -246,7 +260,7 @@
&wmac {
status = "okay";
mtd-mac-address = <&art 0x0>;
mtd-mac-address = <&caldata 0x0>;
qca,no-eeprom;
};
@ -256,7 +270,7 @@
ath9k: wifi@0,0 {
compatible = "pci168c,0033";
reg = <0x0000 0 0 0 0>;
mtd-mac-address = <&art 0xc>;
mtd-mac-address = <&caldata 0xc>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "ar9344_tplink_cpe.dtsi"

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "ar9344_tplink_cpe.dtsi"

View File

@ -0,0 +1,9 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "ar9344_tplink_tl-wdr4300.dtsi"
/ {
model = "TP-Link TL-WDR4300 v1 (IL)";
compatible = "tplink,tl-wdr4300-v1-il", "qca,ar9344";
};

View File

@ -6,6 +6,34 @@
aliases {
label-mac-device = &ath9k;
};
gpio-export {
compatible = "gpio-export";
gpio_usb1_power {
gpio-export,name = "tp-link:power:usb1";
gpio-export,output = <1>;
gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
};
gpio_usb2_power {
gpio-export,name = "tp-link:power:usb2";
gpio-export,output = <1>;
gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
};
gpio_ext_lna0 {
gpio-export,name = "tp-link:ext:lna0";
gpio-export,output = <1>;
gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
};
gpio_ext_lna1 {
gpio-export,name = "tp-link:ext:lna1";
gpio-export,output = <1>;
gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
};
};
};
&leds {
@ -24,36 +52,6 @@
};
};
&gpio {
lna0 {
gpio-hog;
gpios = <18 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "tp-link:ext:lna0";
};
lna1 {
gpio-hog;
gpios = <19 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "tp-link:ext:lna1";
};
usb1_power {
gpio-hog;
gpios = <22 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "tp-link:power:usb1";
};
usb2_power {
gpio-hog;
gpios = <21 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "tp-link:power:usb2";
};
};
&usb {
#address-cells = <1>;
#size-cells = <0>;
@ -118,7 +116,6 @@
pll-data = <0x06000000 0x00000101 0x00001616>;
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <(-2)>;
phy-mode = "rgmii";
phy-handle = <&phy0>;

View File

@ -199,8 +199,8 @@
usb_phy: usb-phy {
compatible = "qca,ar9340-usb-phy", "qca,ar7200-usb-phy";
reset-names = "usb-phy", "usb-suspend-override";
resets = <&rst 4>, <&rst 3>;
reset-names = "usb-phy-analog", "usb-phy", "usb-suspend-override";
resets = <&rst 11>, <&rst 4>, <&rst 3>;
#phy-cells = <0>;

View File

@ -1,5 +1,3 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -0,0 +1,167 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "qca953x.dtsi"
/ {
compatible = "tplink,tl-mr6400-v1", "qca,qca9531";
model = "TP-Link TL-MR6400 v1";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
label-mac-device = &wmac;
};
leds {
compatible = "gpio-leds";
/* D12 */
wan {
label = "tp-link:white:wan";
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
};
/* D11 */
4g {
label = "tp-link:white:4g";
gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
};
/* D5 */
wps {
label = "tp-link:white:wps";
gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
};
/* D3 */
wlan {
label = "tp-link:white:wlan";
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy0tpt";
};
/* D2 */
led_power: power {
label = "tp-link:white:power";
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
};
/* D4 */
lan {
label = "tp-link:white:lan";
gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
};
};
keys {
compatible = "gpio-keys";
/* SW2 */
reset {
label = "Reset button";
linux,code = <KEY_RESTART>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
/* SW3 */
rfkill {
label = "RF kill button";
linux,code = <KEY_RFKILL>;
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
gpio-export {
compatible = "gpio-export";
gpio_usb_power {
gpio-export,name = "tp-link:power:lte";
gpio-export,output = <0>;
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
};
};
&uart {
status = "okay";
};
&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>;
uboot: partition@0 {
label = "u-boot";
reg = <0x000000 0x020000>;
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
label = "firmware";
reg = <0x020000 0x7d0000>;
};
art: partition@7f0000 {
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
};
};
};
};
&eth0 {
status = "okay";
phy-handle = <&swphy0>;
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <1>;
};
&eth1 {
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <(-1)>;
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
};
&usb0 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&usb_phy {
status = "okay";
};

View File

@ -0,0 +1,188 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "qca953x.dtsi"
/ {
compatible = "tplink,tl-wr902ac-v1", "qca,qca9531";
model = "TP-Link TL-WR902AC v1";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
label-mac-device = &wmac;
};
chosen {
bootargs = "console=ttyS0,115200n8";
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "tp-link:green:power";
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
internet {
label = "tp-link:green:internet";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
wlan2g {
label = "tp-link:green:wlan2g";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
usb {
label = "tp-link:green:usb";
gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
trigger-sources = <&hub_port0>;
linux,default-trigger = "usbport";
};
wps {
label = "tp-link:green:wps";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
lan {
label = "tp-link:green:lan";
gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
};
};
keys {
compatible = "gpio-keys";
reset {
label = "Reset button";
linux,code = <KEY_RESTART>;
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
wps {
label = "WPS button";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
sw1 {
label = "Mode switch 1";
linux,code = <BTN_0>;
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
sw2 {
label = "Mode switch 2";
linux,code = <BTN_1>;
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
};
gpio-export {
compatible = "gpio-export";
gpio_usb_power {
gpio-export,name = "tp-link:power:usb";
gpio-export,output = <1>;
gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
};
};
};
&uart {
status = "okay";
};
&spi {
status = "okay";
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 0x730000>;
};
tplink: partition@750000 {
label = "tplink";
reg = <0x750000 0x0a0000>;
read-only;
};
art: partition@7f0000 {
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
};
};
};
};
&eth0 {
status = "okay";
phy-handle = <&swphy4>;
mtd-mac-address = <&tplink 0x8>;
mtd-mac-address-increment = <1>;
};
&eth1 {
compatible = "syscon", "simple-mfd";
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&tplink 0x8>;
};
&pcie0 {
status = "okay";
wifi@0,0 {
compatible = "pci168c,0050";
reg = <0x0000 0 0 0 0>;
};
};
&usb_phy {
status = "okay";
};
&usb0 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port0: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};

View File

@ -12,9 +12,9 @@
aliases {
serial0 = &uart;
led-boot = &led_wan;
led-failsafe = &led_wan;
led-upgrade = &led_wan;
led-boot = &led_rssihigh;
led-failsafe = &led_rssihigh;
led-upgrade = &led_rssihigh;
};
leds {
@ -23,7 +23,7 @@
pinctrl-names = "default";
pinctrl-0 = <&jtag_disable_pins &led_rssilow_pin &led_rssimediumhigh_pin &led_rssihigh_pin>;
led_wan: wan {
wan {
label = "cf-e110n-v2:green:wan";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
@ -48,7 +48,7 @@
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
rssihigh {
led_rssihigh: rssihigh {
label = "cf-e110n-v2:green:rssihigh";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "qca9533_tplink_cpexxx.dtsi"

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -0,0 +1,164 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "qca953x.dtsi"
/ {
compatible = "tplink,tl-wa850re-v2", "qca,qca9533";
model = "TP-Link TL-WA850RE v2";
aliases {
led-boot = &led_re;
led-failsafe = &led_re;
led-running = &led_re;
led-upgrade = &led_re;
label-mac-device = &wmac;
};
chosen {
bootargs = "console=ttyS0,115200n8";
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&jtag_disable_pins>;
lan {
label = "tp-link:blue:lan";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
led_re: re {
label = "tp-link:blue:re";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
signal1 {
label = "tp-link:blue:signal1";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
signal2 {
label = "tp-link:blue:signal2";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
signal3 {
label = "tp-link:blue:signal3";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
signal4 {
label = "tp-link:blue:signal4";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
led_signal5: signal5 {
label = "tp-link:blue:signal5";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
wlan {
label = "tp-link:blue:wlan";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
keys {
compatible = "gpio-keys";
reset {
label = "Reset button";
linux,code = <KEY_RESTART>;
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
wps {
label = "WPS button";
linux,code = <KEY_RFKILL>;
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
};
};
&gpio {
led_enable {
gpio-hog;
gpios = <15 GPIO_ACTIVE_HIGH>;
line-name = "tp-link:power:led";
output-high;
};
};
&uart {
status = "okay";
};
&spi {
status = "okay";
num-cs = <1>;
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
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 {
label = "firmware";
reg = <0x020000 0x390000>;
compatible = "tplink,firmware";
};
config: partition@3b0000 {
label = "config";
reg = <0x3b0000 0x040000>;
read-only;
};
art: partition@3f0000 {
label = "art";
reg = <0x3f0000 0x010000>;
read-only;
};
};
};
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&config 0x10008>;
};
&eth0 {
status = "okay";
phy-handle = <&swphy4>;
mtd-mac-address = <&config 0x10008>;
};
&eth1 {
compatible = "syscon", "simple-mfd";
};

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "qca9533_tplink_tl-wr841.dtsi"

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -231,8 +231,6 @@
reset-names = "mac";
resets = <&rst 9>;
phy-mode = "mii";
};
&mdio1 {

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -0,0 +1,138 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "qca9557.dtsi"
/ {
compatible = "mikrotik,routerboard-wap-g-5hact2hnd", "qca,qca9556";
model = "MikroTik RouterBOARD wAP G-5HacT2HnD";
aliases {
label-mac-device = &eth1;
mdio-gpio1 = &mdio2;
serial0 = &uart;
};
chosen {
bootargs = "console=ttyS0,115200n8";
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
mdio2: mdio {
compatible = "virtual,mdio-gpio";
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>, /* MDC */
<&gpio 11 GPIO_ACTIVE_HIGH>; /* MDIO */
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@0 {
reg = <0>;
device_type = "ethernet-phy";
phy-mode = "sgmii";
at803x-override-sgmii-link-check;
};
};
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x10>;
pll-data = <0x03000101 0x80000101 0x80001313>;
phy-handle = <&phy0>;
qca955x-sgmii-fixup;
gmac-config {
device = <&gmac>;
};
};
&spi {
status = "okay";
num-cs = <1>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <104000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "routerboot";
reg = <0x000000 0x00e000>;
read-only;
};
art: partition@e000 {
label = "art";
reg = <0x000e000 0x001000>;
read-only;
};
partition@f000 {
label = "bios";
reg = <0x000f000 0x001000>;
read-only;
};
partition@10000 {
label = "routerboot2";
reg = <0x010000 0x00f000>;
read-only;
};
partition@1f000 {
label = "soft_config";
reg = <0x001f000 0x001000>;
};
partition@20000 {
compatible = "mikrotik,minor";
label = "firmware";
reg = <0x020000 0xfe0000>;
};
};
};
};
&uart {
status = "okay";
};
&wmac {
status = "okay";
qca,no-eeprom;
};
&pcie0 {
status = "okay";
wifi@0,0 {
compatible = "qcom,ath10k";
reg = <0 0 0 0 0>;
};
};

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -10,8 +10,6 @@
* antennas and number of spatial streams.
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
@ -107,7 +105,8 @@
phy4: ethernet-phy@4 {
reg = <4>;
at803x-disable-smarteee;
eee-broken-100tx;
eee-broken-1000t;
};
};

View File

@ -125,7 +125,8 @@
phy5: ethernet-phy@5 {
reg = <5>;
at803x-disable-smarteee;
eee-broken-100tx;
eee-broken-1000t;
};
};

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -142,7 +142,8 @@
phy5: ethernet-phy@5 {
reg = <5>;
at803x-disable-smarteee;
eee-broken-100tx;
eee-broken-1000t;
};
};

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -88,11 +88,12 @@
gpios = <&gpio 23 GPIO_ACTIVE_HIGH>,
<&gpio 18 GPIO_ACTIVE_HIGH>;
phy0: ethernet-phy@4 {
phy4: ethernet-phy@4 {
reg = <4>;
phy-mode = "rgmii-rxid";
at803x-disable-smarteee;
eee-broken-100tx;
eee-broken-1000t;
};
};
};
@ -100,9 +101,10 @@
&eth0 {
status = "okay";
mtd-mac-address = <&config 0x10008>;
phy-handle = <&phy4>;
pll-data = <0x9e000000 0x80000101 0x80001313>;
phy-handle = <&phy0>;
mtd-mac-address = <&config 0x10008>;
gmac-config {
device = <&gmac>;

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
@ -94,7 +93,7 @@
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@4 {
phy4: ethernet-phy@4 {
reg = <4>;
reset-gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
@ -168,13 +167,16 @@
&eth0 {
status = "okay";
mtd-mac-address = <&info 0x8>;
phy-handle = <&phy4>;
pll-data = <0xa6000000 0x00000101 0x00001616>;
phy-handle = <&phy0>;
mtd-mac-address = <&info 0x8>;
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&info 0x8>;
mtd-mac-address-increment = <(-1)>;

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -200,8 +200,8 @@
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <17>;
phy17: ethernet-phy@11 {
reg = <0x11>;
phy-mode = "rgmii-id";
};
@ -236,7 +236,8 @@
status = "okay";
pll-data = <0xa6000000 0x00000101 0x00001616>;
phy-handle = <&phy0>;
phy-handle = <&phy17>;
fixed-link {
speed = <1000>;
full-duplex;
@ -248,6 +249,7 @@
pll-data = <0x03000101 0x00000101 0x00001616>;
phy-handle = <&phy1>;
fixed-link {
speed = <1000>;
full-duplex;

View File

@ -153,7 +153,6 @@
&eth0 {
status = "okay";
phy-mode = "mii";
phy-handle = <&swphy0>;
gmac-config {

View File

@ -181,7 +181,6 @@
&eth0 {
status = "okay";
phy-mode = "mii";
phy-handle = <&swphy4>;
mtd-mac-address = <&info 0x8>;

View File

@ -136,7 +136,6 @@
&eth0 {
status = "okay";
phy-mode = "mii";
phy-handle = <&swphy0>;
mtd-mac-address = <&mac 0x8>;

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
@ -89,7 +88,6 @@
&eth0 {
status = "okay";
phy-mode = "mii";
phy-handle = <&swphy4>;
mtd-mac-address = <&mac 0x8>;

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -1,7 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -0,0 +1,256 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "qca956x.dtsi"
/ {
chosen {
bootargs = "console=ttyS0,115200n8";
};
aliases {
led-boot = &led_power_amber;
led-failsafe = &led_power_amber;
led-running = &led_power_green;
led-upgrade = &led_power_amber;
label-mac-device = &eth0;
};
keys {
compatible = "gpio-keys";
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
};
ath9k-keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
rfkill {
label = "rfkill";
linux,code = <KEY_RFKILL>;
gpios = <&ath9k 9 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds: leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&jtag_disable_pins>;
led_power_green: power_green {
label = "netgear:green:power";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
led_power_amber: power_amber {
label = "netgear:amber:power";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
wan_green {
label = "netgear:green:wan";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
wan_amber {
label = "netgear:amber:wan";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
wlan2g_green {
label = "netgear:green:wlan2g";
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wps_green {
label = "netgear:green:wps";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan5g_blue {
label = "netgear:blue:wlan5g";
gpios = <&ath9k 7 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
};
&spi {
status = "okay";
num-cs = <2>;
cs-gpios = <0>, <0>;
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 = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x40000 0x10000>;
};
partition@50000 {
label = "caldata_backup";
reg = <0x50000 0x10000>;
read-only;
};
partition@60000 {
label = "config";
reg = <0x60000 0x10000>;
};
partition@70000 {
label = "traffic_meter";
reg = <0x70000 0x10000>;
};
partition@80000 {
label = "pot";
reg = <0x80000 0x10000>;
};
partition@90000 {
label = "reserved";
reg = <0x90000 0x160000>;
};
caldata: partition@1f0000 {
label = "caldata";
reg = <0x1f0000 0x10000>;
read-only;
};
};
};
flash@1 {
compatible = "spi-nand";
reg = <1>;
spi-max-frequency = <25000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "kernel";
reg = <0x0 0x400000>;
};
partition@400000 {
label = "ubi";
reg = <0x400000 0x7c00000>;
};
};
};
};
&mdio0 {
status = "okay";
phy-mask = <0>;
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "sgmii";
qca,mib-poll-interval = <500>;
qca,ar8327-initvals = <
0x04 0x00000080 /* PORT0 PAD MODE CTRL */
0x10 0x81000080 /* POWER_ON_STRIP */
0x50 0xcc35cc35 /* LED_CTRL0 */
0x54 0xcb37cb37 /* LED_CTRL1 */
0x58 0x00000000 /* LED_CTRL2 */
0x5c 0x00f3cf00 /* LED_CTRL3 */
0x7c 0x0000007e /* PORT0_STATUS */
0x94 0x00000200 /* PORT6_STATUS */
>;
};
};
&eth0 {
status = "okay";
pll-data = <0x03000101 0x00000101 0x00001919>;
mtd-mac-address = <&caldata 0x0>;
phy-mode = "sgmii";
phy-handle = <&phy0>;
};
&wmac {
status = "okay";
mtd-mac-address = <&caldata 0x0>;
qca,no-eeprom;
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
/* chip is AR9580, override bogus PCI ID 168c:abcd */
compatible = "pci168c,0033";
reg = <0x0000 0 0 0 0>;
mtd-mac-address = <&caldata 0xc>;
qca,no-eeprom;
qca,gpio-mask=<0xf6ff>; /* unmask pin 9 for RFKILL button */
#gpio-cells = <2>;
gpio-controller;
};
};
&usb_phy0 {
status = "okay";
};
&usb0 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port0: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&uart {
status = "okay";
};

View File

@ -0,0 +1,19 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "qca9563_netgear_wndr.dtsi"
/ {
compatible = "netgear,wndr4300-v2", "qca,qca9563";
model = "Netgear WNDR4300 v2";
};
&leds {
usb_green {
label = "netgear:green:usb";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
trigger-sources = <&hub_port0>;
linux,default-trigger = "usbport";
};
};

View File

@ -0,0 +1,41 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "qca9563_netgear_wndr.dtsi"
/ {
compatible = "netgear,wndr4500-v3", "qca,qca9563";
model = "Netgear WNDR4500 v3";
};
&leds {
usb1_green {
label = "netgear:green:usb1";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
trigger-sources = <&hub_port0>;
linux,default-trigger = "usbport";
};
usb2_green {
label = "netgear:green:usb2";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
trigger-sources = <&hub_port1>;
linux,default-trigger = "usbport";
};
};
&usb_phy1 {
status = "okay";
};
&usb1 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port1: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};

View File

@ -11,10 +11,10 @@
compatible = "phicomm,k2t", "qca,qca9563";
aliases {
led-boot = &status_red;
led-failsafe = &status_red;
led-running = &status_red;
led-upgrade = &status_red;
led-boot = &led_status_red;
led-failsafe = &led_status_red;
led-running = &led_status_red;
led-upgrade = &led_status_red;
};
chosen {
@ -29,7 +29,7 @@
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
status_red: status_red {
led_status_red: status_red {
label = "phicomm:red:status";
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
};

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -103,7 +103,7 @@
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@4 {
phy4: ethernet-phy@4 {
reg = <4>;
device_type = "ethernet-phy";
reset-gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
@ -125,6 +125,7 @@
&spi {
status = "okay";
num-cs = <1>;
flash@0 {
@ -178,12 +179,15 @@
&eth0 {
status = "okay";
phy-handle = <&phy4>;
mtd-mac-address = <&info 0x8>;
phy-handle = <&phy0>;
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&info 0x8>;
};

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

View File

@ -307,8 +307,6 @@
resets = <&rst 13>;
reset-names = "mac";
status = "disabled";
fixed-link {
speed = <1000>;
full-duplex;

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "tp9343_tplink_tl-wr94x.dtsi"

View File

@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
@ -74,7 +73,6 @@
&eth0 {
status = "okay";
phy-mode = "mii";
phy-handle = <&swphy4>;
mtd-mac-address = <&uboot 0x1fc00>;

View File

@ -559,6 +559,112 @@ static void ath79_set_pll(struct ag71xx *ag)
udelay(100);
}
static void ag71xx_bit_set(void __iomem *reg, u32 bit)
{
u32 val;
val = __raw_readl(reg) | bit;
__raw_writel(val, reg);
__raw_readl(reg);
}
static void ag71xx_bit_clear(void __iomem *reg, u32 bit)
{
u32 val;
val = __raw_readl(reg) & ~bit;
__raw_writel(val, reg);
__raw_readl(reg);
}
static void ag71xx_sgmii_init_qca955x(struct device_node *np)
{
struct device_node *np_dev;
void __iomem *gmac_base;
u32 mr_an_status;
u32 sgmii_status;
u8 tries = 0;
int err = 0;
np = of_get_child_by_name(np, "gmac-config");
if (!np)
return;
np_dev = of_parse_phandle(np, "device", 0);
if (!np_dev)
goto out;
gmac_base = of_iomap(np_dev, 0);
if (!gmac_base) {
pr_err("%pOF: can't map GMAC registers\n", np_dev);
err = -ENOMEM;
goto err_iomap;
}
mr_an_status = __raw_readl(gmac_base + QCA955X_GMAC_REG_MR_AN_STATUS);
if (!(mr_an_status & QCA955X_MR_AN_STATUS_AN_ABILITY))
goto sgmii_out;
/* SGMII reset sequence */
__raw_writel(QCA955X_SGMII_RESET_RX_CLK_N_RESET,
gmac_base + QCA955X_GMAC_REG_SGMII_RESET);
__raw_readl(gmac_base + QCA955X_GMAC_REG_SGMII_RESET);
udelay(10);
ag71xx_bit_set(gmac_base + QCA955X_GMAC_REG_SGMII_RESET,
QCA955X_SGMII_RESET_HW_RX_125M_N);
udelay(10);
ag71xx_bit_set(gmac_base + QCA955X_GMAC_REG_SGMII_RESET,
QCA955X_SGMII_RESET_RX_125M_N);
udelay(10);
ag71xx_bit_set(gmac_base + QCA955X_GMAC_REG_SGMII_RESET,
QCA955X_SGMII_RESET_TX_125M_N);
udelay(10);
ag71xx_bit_set(gmac_base + QCA955X_GMAC_REG_SGMII_RESET,
QCA955X_SGMII_RESET_RX_CLK_N);
udelay(10);
ag71xx_bit_set(gmac_base + QCA955X_GMAC_REG_SGMII_RESET,
QCA955X_SGMII_RESET_TX_CLK_N);
udelay(10);
/*
* The following is what QCA has to say about what happens here:
*
* Across resets SGMII link status goes to weird state.
* If SGMII_DEBUG register reads other than 0x1f or 0x10,
* we are for sure in a bad state.
*
* Issue a PHY reset in MR_AN_CONTROL to keep going.
*/
do {
ag71xx_bit_set(gmac_base + QCA955X_GMAC_REG_MR_AN_CONTROL,
QCA955X_MR_AN_CONTROL_PHY_RESET |
QCA955X_MR_AN_CONTROL_AN_ENABLE);
udelay(200);
ag71xx_bit_clear(gmac_base + QCA955X_GMAC_REG_MR_AN_CONTROL,
QCA955X_MR_AN_CONTROL_PHY_RESET);
mdelay(300);
sgmii_status = __raw_readl(gmac_base + QCA955X_GMAC_REG_SGMII_DEBUG) &
QCA955X_SGMII_DEBUG_TX_STATE_MASK;
if (tries++ >= 20) {
pr_err("ag71xx: max retries for SGMII fixup exceeded\n");
break;
}
} while (!(sgmii_status == 0xf || sgmii_status == 0x10));
sgmii_out:
iounmap(gmac_base);
err_iomap:
of_node_put(np_dev);
out:
of_node_put(np);
}
static void ath79_mii_ctrl_set_if(struct ag71xx *ag, unsigned int mii_if)
{
u32 t;
@ -707,6 +813,8 @@ __ag71xx_link_adjust(struct ag71xx *ag, bool update)
of_device_is_compatible(np, "qca,qca9550-eth") ||
of_device_is_compatible(np, "qca,qca9560-eth")) {
ath79_set_pllval(ag);
if (of_property_read_bool(np, "qca955x-sgmii-fixup"))
ag71xx_sgmii_init_qca955x(np);
}
}

View File

@ -90,6 +90,10 @@ etactica,eg200)
ucidef_set_led_netdev "lan" "LAN" "$boardname:red:eth0" "eth0"
ucidef_set_led_oneshot "modbus" "Modbus" "$boardname:red:modbus" "100" "33"
;;
glinet,6408|\
glinet,6416)
ucidef_set_led_netdev "lan" "LAN" "gl-inet:green:lan" "eth0"
;;
glinet,gl-ar150)
ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth1"
ucidef_set_led_switch "lan" "LAN" "$boardname:green:lan" "switch0" "0x02"
@ -205,7 +209,8 @@ tplink,cpe510-v3)
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "tp-link:green:link3" "wlan0" "51" "100" "-50" "13"
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "tp-link:green:link4" "wlan0" "76" "100" "-75" "13"
;;
tplink,cpe610-v1)
tplink,cpe610-v1|\
tplink,tl-wr902ac-v1)
ucidef_set_led_netdev "lan" "LAN" "tp-link:green:lan" "eth0"
;;
tplink,re355-v1|\
@ -214,6 +219,11 @@ tplink,re450-v2)
ucidef_set_led_netdev "lan_data" "LAN Data" "tp-link:green:lan_data" "eth0" "tx rx"
ucidef_set_led_netdev "lan_link" "LAN Link" "tp-link:green:lan_link" "eth0" "link"
;;
tplink,tl-mr6400-v1)
ucidef_set_led_switch "lan" "LAN" "tp-link:white:lan" "switch0" "0x0e"
ucidef_set_led_netdev "wan" "WAN" "tp-link:white:wan" "eth1"
ucidef_set_led_netdev "4g" "4G" "tp-link:white:4g" "usb0"
;;
tplink,tl-wr842n-v2)
ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1"
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x04"
@ -226,6 +236,7 @@ trendnet,tew-823dru)
;;
ubnt,bullet-m|\
ubnt,bullet-m-xw|\
ubnt,nanostation-loco-m-xw|\
ubnt,nanostation-m|\
ubnt,nanostation-m-xw|\
ubnt,rocket-m)

View File

@ -18,8 +18,10 @@ ath79_setup_interfaces()
devolo,dvl1750c|\
devolo,dvl1750i|\
devolo,dvl1750x|\
dlink,dir-505|\
engenius,ecb1750|\
glinet,gl-ar300m-lite|\
mikrotik,routerboard-wap-g-5hact2hnd|\
netgear,ex6400|\
netgear,ex7300|\
ocedo,koala|\
@ -37,11 +39,14 @@ ath79_setup_interfaces()
tplink,re355-v1|\
tplink,re450-v1|\
tplink,re450-v2|\
tplink,tl-wr902ac-v1|\
ubnt,bullet-m|\
ubnt,bullet-m-xw|\
ubnt,lap-120|\
ubnt,litebeam-ac-gen2|\
ubnt,nanobeam-ac|\
ubnt,nanostation-ac-loco|\
ubnt,nanostation-loco-m-xw|\
ubnt,rocket-m|\
ubnt,unifiac-lite|\
ubnt,unifiac-lr|\
@ -211,7 +216,8 @@ ath79_setup_interfaces()
tplink,archer-c7-v4|\
tplink,archer-c7-v5|\
tplink,tl-wdr3600-v1|\
tplink,tl-wdr4300-v1)
tplink,tl-wdr4300-v1|\
tplink,tl-wdr4300-v1-il)
ucidef_add_switch "switch0" \
"0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
;;
@ -232,6 +238,11 @@ ath79_setup_interfaces()
ucidef_add_switch "switch0" \
"0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "1:wan"
;;
tplink,tl-mr6400-v1)
ucidef_set_interfaces_lan_wan "eth0.1 eth1" "usb0"
ucidef_add_switch "switch0" \
"0@eth0" "1:lan:1" "2:lan:3" "3:lan:2"
;;
tplink,tl-wr842n-v2)
ucidef_set_interface_wan "eth1"
ucidef_add_switch "switch0" \
@ -256,6 +267,16 @@ ath79_setup_interfaces()
ucidef_add_switch "switch0" \
"0@eth0" "2:lan:1" "3:lan:3" "4:lan:2"
;;
ubnt,edgeswitch-5xp)
ucidef_set_interface_wan "eth1"
ucidef_add_switch "switch0" \
"0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:lan"
;;
ubnt,edgeswitch-8xp)
ucidef_set_interface_wan "eth1"
ucidef_add_switch "switch0" \
"0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:lan:5" "5:lan:6" "6:lan:7" "7:lan:8" "8@eth0"
;;
ubnt,routerstation-pro)
ucidef_set_interface_wan "eth0"
ucidef_add_switch "switch0" \
@ -287,12 +308,7 @@ ath79_setup_macs()
lan_mac=$(mtd_get_mac_binary "Board data" 2)
label_mac=$lan_mac
;;
alfa-network,ap121f|\
ubnt,airrouter|\
ubnt,bullet-m|\
ubnt,nanostation-m|\
ubnt,rocket-m|\
ubnt,unifi)
alfa-network,ap121f)
label_mac=$(mtd_get_mac_binary art 0x1002)
;;
avm,fritz300e)
@ -307,6 +323,9 @@ ath79_setup_macs()
lan_mac=$(mtd_get_mac_text "caldata" 0xffa0)
wan_mac=$(mtd_get_mac_text "caldata" 0xffb4)
;;
dlink,dir-505)
lan_mac=$(mtd_get_mac_text "mac" 0x4)
;;
dlink,dir-825-c1|\
dlink,dir-835-a1)
lan_mac=$(mtd_get_mac_text "mac" 0x4)
@ -392,11 +411,27 @@ ath79_setup_macs()
base_mac=$(mtd_get_mac_binary info 0x8)
wan_mac=$(macaddr_add "$base_mac" 1)
;;
tplink,tl-wdr3600-v1|\
tplink,tl-wdr4300-v1|\
tplink,tl-wdr4300-v1-il)
base_mac=$(mtd_get_mac_binary u-boot 0x1fc00)
wan_mac=$(macaddr_add "$base_mac" 1)
;;
trendnet,tew-823dru)
lan_mac=$(mtd_get_mac_text mac 0x4)
wan_mac=$(mtd_get_mac_text mac 0x18)
label_mac=$wan_mac
;;
ubnt,airrouter|\
ubnt,bullet-m|\
ubnt,nanostation-m|\
ubnt,rocket-m|\
ubnt,unifi)
label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
;;
ubnt,litebeam-ac-gen2)
label_mac=$(mtd_get_mac_binary art 0x5006)
;;
ubnt,routerstation|\
ubnt,routerstation-pro)
wan_mac=$(fconfig -s -r -d $(find_mtd_part "RedBoot config") -n ar7100_esa)

View File

@ -2,7 +2,81 @@
[ -e /lib/firmware/$FIRMWARE ] && exit 0
. /lib/functions/caldata.sh
. /lib/functions.sh
. /lib/functions/system.sh
. /lib/functions/mikrotik-caldata.sh
ath9k_eeprom_die() {
echo "ath9k eeprom: " "$*"
exit 1
}
ath9k_eeprom_extract() {
local part=$1
local offset=$(($2))
local count=$(($3))
local mtd
mtd=$(find_mtd_chardev $part)
[ -n "$mtd" ] || \
ath9k_eeprom_die "no mtd device found for partition $part"
dd if=$mtd of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
ath9k_eeprom_die "failed to extract from $mtd"
}
ath9k_eeprom_extract_reverse() {
local part=$1
local offset=$2
local count=$(($3))
local mtd
local reversed
local caldata
mtd=$(find_mtd_chardev "$part")
reversed=$(hexdump -v -s $offset -n $count -e '/1 "%02x "' $mtd)
for byte in $reversed; do
caldata="\x${byte}${caldata}"
done
printf "%b" "$caldata" > /lib/firmware/$FIRMWARE
}
ath9k_patch_fw_mac() {
local mac=$1
local mac_offset=$(($2))
local chksum_offset=$3
local xor_mac
local xor_fw_mac
local xor_fw_chksum
[ -z "$mac" -o -z "$mac_offset" ] && return
[ -n "$chksum_offset" ] && {
xor_mac=${mac//:/}
xor_mac="${xor_mac:0:4} ${xor_mac:4:4} ${xor_mac:8:4}"
xor_fw_mac=$(hexdump -v -n 6 -s $mac_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
xor_fw_mac="${xor_fw_mac:0:4} ${xor_fw_mac:4:4} ${xor_fw_mac:8:4}"
xor_fw_chksum=$(hexdump -v -n 2 -s $chksum_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
xor_fw_chksum=$(xor $xor_fw_chksum $xor_fw_mac $xor_mac)
printf "%b" "\x${xor_fw_chksum:0:2}\x${xor_fw_chksum:2:2}" | \
dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=$(($chksum_offset)) count=2
}
macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE conv=notrunc oflag=seek_bytes bs=6 seek=$mac_offset count=1
}
ath9k_patch_fw_mac_crc() {
local mac=$1
local mac_offset=$2
local chksum_offset=$((mac_offset - 10))
ath9k_patch_fw_mac "${mac}" "${mac_offset}" "${chksum_offset}"
}
board=$(board_name)
@ -10,12 +84,13 @@ case "$FIRMWARE" in
"ath9k-eeprom-ahb-18100000.wmac.bin")
case $board in
avm,fritz4020)
caldata_extract_reverse "urlader" 0x1541 0x440
ath9k_eeprom_extract_reverse "urlader" 0x1541 0x440
;;
dlink,dir-505|\
dlink,dir-825-c1|\
dlink,dir-835-a1)
caldata_extract "art" 0x1000 0x440
ath9k_patch_mac $(mtd_get_mac_text "mac" 0x4)
ath9k_eeprom_extract "art" 0x1000 0x440
ath9k_patch_fw_mac $(mtd_get_mac_text "mac" 0x4) 0x2
;;
dlink,dir-842-c1|\
dlink,dir-842-c2|\
@ -23,12 +98,12 @@ case "$FIRMWARE" in
dlink,dir-859-a1|\
nec,wg1200cr|\
wd,mynet-n750)
caldata_extract "art" 0x1000 0x440
ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan24mac")
ath9k_eeprom_extract "art" 0x1000 0x440
ath9k_patch_fw_mac $(mtd_get_mac_ascii devdata "wlan24mac") 0x2
;;
engenius,ecb1750)
caldata_extract "art" 0x1000 0x440
ath9k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env "athaddr") +1)
ath9k_eeprom_extract "art" 0x1000 0x440
ath9k_patch_fw_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env "athaddr") +1) 0x2
;;
engenius,epg5000|\
iodata,wn-ac1167dgr|\
@ -36,45 +111,50 @@ case "$FIRMWARE" in
iodata,wn-ac1600dgr2|\
iodata,wn-ag300dgr|\
sitecom,wlr-7100)
caldata_extract "art" 0x1000 0x440
ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env ethaddr)
ath9k_eeprom_extract "art" 0x1000 0x440
ath9k_patch_fw_mac $(mtd_get_mac_ascii u-boot-env ethaddr) 0x2
;;
mikrotik,routerboard-wap-g-5hact2hnd)
mikrotik_caldata_extract "art" 0x1000 0x440
ath9k_patch_fw_mac $(macaddr_add $(mtd_get_mac_binary art 0x10) +2)
;;
nec,wg800hp)
caldata_extract "art" 0x1000 0x440
ath9k_patch_mac $(mtd_get_mac_text board_data 0x680)
ath9k_eeprom_extract "art" 0x1000 0x440
ath9k_patch_fw_mac $(mtd_get_mac_text board_data 0x680) 0x2
;;
qihoo,c301)
caldata_extract "radiocfg" 0x1000 0x440
ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan24mac")
ath9k_eeprom_extract "radiocfg" 0x1000 0x440
ath9k_patch_fw_mac $(mtd_get_mac_ascii devdata "wlan24mac")
;;
*)
caldata_die "board $board is not supported yet"
ath9k_eeprom_die "board $board is not supported yet"
;;
esac
;;
"ath9k-eeprom-pci-0000:00:00.0.bin")
case $board in
avm,fritz300e)
caldata_extract_reverse "urloader" 0x1541 0x440
ath9k_eeprom_extract_reverse "urloader" 0x1541 0x440
;;
buffalo,wzr-hp-g302h-a1a0)
caldata_extract "art" 0x1000 0xeb8
ath9k_eeprom_extract "art" 0x1000 0xeb8
;;
buffalo,wzr-hp-g450h)
caldata_extract "art" 0x1000 0x440
ath9k_eeprom_extract "art" 0x1000 0x440
;;
dlink,dir-825-c1|\
dlink,dir-835-a1)
caldata_extract "art" 0x5000 0x440
ath9k_patch_mac $(macaddr_add $(mtd_get_mac_text "mac" 0x18) 1)
ath9k_eeprom_extract "art" 0x5000 0x440
ath9k_patch_fw_mac $(macaddr_add $(mtd_get_mac_text "mac" 0x18) 1) 0x2
;;
ocedo,raccoon|\
tplink,tl-wdr3500-v1|\
tplink,tl-wdr3600-v1|\
tplink,tl-wdr4300-v1|\
tplink,tl-wdr4300-v1-il|\
tplink,tl-wdr4900-v2|\
winchannel,wb2000)
caldata_extract "art" 0x5000 0x440
ath9k_eeprom_extract "art" 0x5000 0x440
;;
netgear,wnr2200-8m|\
netgear,wnr2200-16m|\
@ -85,21 +165,21 @@ case "$FIRMWARE" in
ubnt,bullet-m|\
ubnt,nanostation-m|\
ubnt,rocket-m)
caldata_extract "art" 0x1000 0x1000
ath9k_eeprom_extract "art" 0x1000 0x1000
;;
ubnt,unifi)
caldata_extract "art" 0x1000 0x800
ath9k_eeprom_extract "art" 0x1000 0x800
;;
wd,mynet-n750)
caldata_extract "art" 0x5000 0x440
ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac")
ath9k_eeprom_extract "art" 0x5000 0x440
ath9k_patch_fw_mac $(mtd_get_mac_ascii devdata "wlan5mac") 0x2
;;
wd,mynet-wifi-rangeextender)
caldata_extract "art" 0x1000 0x1000
ath9k_patch_mac $(nvram get wl0_hwaddr)
ath9k_eeprom_extract "art" 0x1000 0x1000
ath9k_patch_fw_mac $(nvram get wl0_hwaddr) "$mac" 0x2
;;
*)
caldata_die "board $board is not supported yet"
ath9k_eeprom_die "board $board is not supported yet"
;;
esac
;;
@ -110,14 +190,14 @@ case "$FIRMWARE" in
netgear,wndr3700v2|\
netgear,wndr3800|\
netgear,wndr3800ch)
caldata_extract "art" 0x1000 0xeb8
ath9k_eeprom_extract "art" 0x1000 0xeb8
;;
dlink,dir-825-b1)
caldata_extract "caldata" 0x1000 0xeb8
ath9k_patch_mac_crc $(mtd_get_mac_text "caldata" 0xffa0) 0x20c
ath9k_eeprom_extract "caldata" 0x1000 0xeb8
ath9k_patch_fw_mac_crc $(mtd_get_mac_text "caldata" 0xffa0) 0x20c
;;
*)
caldata_die "board $board is not supported yet"
ath9k_eeprom_die "board $board is not supported yet"
;;
esac
;;
@ -128,14 +208,14 @@ case "$FIRMWARE" in
netgear,wndr3700v2|\
netgear,wndr3800|\
netgear,wndr3800ch)
caldata_extract "art" 0x5000 0xeb8
ath9k_eeprom_extract "art" 0x5000 0xeb8
;;
dlink,dir-825-b1)
caldata_extract "caldata" 0x5000 0xeb8
ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_text "caldata" 0xffb4) 1) 0x20c
ath9k_eeprom_extract "caldata" 0x5000 0xeb8
ath9k_patch_fw_mac_crc $(macaddr_add $(mtd_get_mac_text "caldata" 0xffb4) 1) 0x20c
;;
*)
caldata_die "board $board is not supported yet"
ath9k_eeprom_die "board $board is not supported yet"
;;
esac
;;

View File

@ -1,9 +1,71 @@
#!/bin/sh
. /lib/functions.sh
. /lib/functions/k2t.sh
. /lib/functions/mikrotik-caldata.sh
ath10kcal_die() {
echo "ath10cal: " "$*"
exit 1
}
ath10kcal_from_file() {
local source=$1
local offset=$(($2))
local count=$(($3))
dd if=$source of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
ath10kcal_die "failed to extract calibration data from $source"
}
ath10kcal_extract() {
local part=$1
local offset=$(($2))
local count=$(($3))
local mtd
mtd=$(find_mtd_chardev $part)
[ -n "$mtd" ] || \
ath10kcal_die "no mtd device found for partition $part"
dd if=$mtd of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
ath10kcal_die "failed to extract calibration data from $mtd"
}
ath10kcal_patch_mac() {
local mac=$1
[ -z "$mac" ] && return
macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE conv=notrunc oflag=seek_bytes bs=6 seek=6 count=1
}
ath10kcal_patch_mac_crc() {
local mac=$1
local mac_offset=6
local chksum_offset=2
local xor_mac
local xor_fw_mac
local xor_fw_chksum
xor_fw_mac=$(hexdump -v -n 6 -s $mac_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
xor_fw_mac="${xor_fw_mac:0:4} ${xor_fw_mac:4:4} ${xor_fw_mac:8:4}"
ath10kcal_patch_mac "$mac" && {
xor_mac=${mac//:/}
xor_mac="${xor_mac:0:4} ${xor_mac:4:4} ${xor_mac:8:4}"
xor_fw_chksum=$(hexdump -v -n 2 -s $chksum_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
xor_fw_chksum=$(xor $xor_fw_chksum $xor_fw_mac $xor_mac)
printf "%b" "\x${xor_fw_chksum:0:2}\x${xor_fw_chksum:2:2}" | \
dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=$chksum_offset count=2
}
}
[ -e /lib/firmware/$FIRMWARE ] && exit 0
. /lib/functions/caldata.sh
. /lib/functions/k2t.sh
. /lib/functions/system.sh
board=$(board_name)
@ -17,12 +79,13 @@ case "$FIRMWARE" in
ubnt,unifiac-mesh|\
ubnt,unifiac-mesh-pro|\
ubnt,lap-120|\
ubnt,litebeam-ac-gen2|\
ubnt,nanobeam-ac|\
ubnt,nanostation-ac|\
ubnt,nanostation-ac-loco|\
ubnt,unifiac-pro|\
yuncore,a770)
caldata_extract "art" 0x5000 0x844
ath10kcal_extract "art" 0x5000 0x844
;;
devolo,dvl1200e|\
devolo,dvl1200i|\
@ -30,93 +93,100 @@ case "$FIRMWARE" in
devolo,dvl1750e|\
devolo,dvl1750i|\
devolo,dvl1750x)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) -1)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary art 0x0) -1)
;;
dlink,dir-859-a1)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac")
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac")
;;
elecom,wrc-1750ghbk2-i)
caldata_extract "art" 0x5000 0x844
ath10kcal_extract "art" 0x5000 0x844
;;
engenius,ecb1750)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(mtd_get_mac_ascii u-boot-env athaddr)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(mtd_get_mac_ascii u-boot-env athaddr)
;;
engenius,epg5000|\
iodata,wn-ac1167dgr|\
iodata,wn-ac1600dgr2|\
sitecom,wlr-7100)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) +1)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) +1)
;;
engenius,ews511ap)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1)
;;
glinet,gl-ar750)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) +1)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) +1)
;;
glinet,gl-x750)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) +2)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) +2)
;;
mikrotik,routerboard-wap-g-5hact2hnd)
mikrotik_caldata_extract "art" 0x5000 0x844
;;
nec,wg800hp)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(mtd_get_mac_text board_data 0x880)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac_crc $(mtd_get_mac_text board_data 0x880)
;;
ocedo,koala|\
ocedo,ursus)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(mtd_get_mac_binary art 0xc)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(mtd_get_mac_binary art 0xc)
;;
openmesh,om5p-ac-v2)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
;;
qihoo,c301)
caldata_extract "radiocfg" 0x5000 0x844
ath10k_patch_mac $(mtd_get_mac_ascii devdata wlan5mac)
ath10kcal_extract "radiocfg" 0x5000 0x844
ath10kcal_patch_mac_crc $(mtd_get_mac_ascii devdata wlan5mac)
;;
tplink,archer-a7-v5|\
tplink,archer-c2-v3|\
tplink,archer-c7-v4|\
tplink,archer-c7-v5|\
tplink,archer-c25-v1)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) -1)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) -1)
;;
tplink,archer-c5-v1|\
tplink,archer-c7-v2)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary u-boot 0x1fc00) -1)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary u-boot 0x1fc00) -1)
;;
tplink,archer-d50-v1)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary romfile 0xf100) +2)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary romfile 0xf100) +2)
;;
tplink,re350k-v1)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary config 0x10008) +2)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary config 0x10008) +2)
;;
tplink,re355-v1|\
tplink,re450-v1)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -2)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -2)
;;
tplink,re450-v2)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) +1)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) +1)
;;
tplink,tl-wr902ac-v1)
ath10kcal_extract "art" 0x5000 0x844
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary tplink 0x8) -1)
;;
esac
;;
"ath10k/pre-cal-pci-0000:00:00.0.bin")
case $board in
comfast,cf-e313ac)
caldata_extract "art" 0x5000 0x2f20
ath10k_patch_mac $(mtd_get_mac_binary art 0x6)
ath10kcal_extract "art" 0x5000 0x2f20
ath10kcal_patch_mac_crc $(mtd_get_mac_binary art 0x6)
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
rm /lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin
@ -125,19 +195,19 @@ case "$FIRMWARE" in
dlink,dir-842-c2|\
dlink,dir-842-c3|\
nec,wg1200cr)
caldata_extract "art" 0x5000 0x2f20
ath10k_patch_mac $(mtd_get_mac_ascii devdata wlan5mac)
ath10kcal_extract "art" 0x5000 0x2f20
ath10kcal_patch_mac_crc $(mtd_get_mac_ascii devdata wlan5mac)
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
;;
netgear,ex6400|\
netgear,ex7300)
caldata_extract "caldata" 0x5000 0x2f20
ath10k_patch_mac $(mtd_get_mac_binary caldata 0xc)
ath10kcal_extract "caldata" 0x5000 0x2f20
ath10kcal_patch_mac $(mtd_get_mac_binary caldata 0xc)
;;
phicomm,k2t)
caldata_extract "art" 0x5000 0x2f20
ath10k_patch_mac $(k2t_get_mac "5g_mac")
ath10kcal_extract "art" 0x5000 0x2f20
ath10kcal_patch_mac_crc $(k2t_get_mac "5g_mac")
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
;;
@ -148,14 +218,14 @@ case "$FIRMWARE" in
tplink,archer-c60-v2|\
tplink,archer-c6-v2|\
tplink,archer-c6-v2-us)
caldata_extract "art" 0x5000 0x2f20
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary mac 0x8) -1)
ath10kcal_extract "art" 0x5000 0x2f20
ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary mac 0x8) -1)
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
;;
yuncore,a782|\
yuncore,xd4200)
caldata_extract "art" 0x5000 0x2f20
ath10kcal_extract "art" 0x5000 0x2f20
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
;;

View File

@ -17,10 +17,14 @@ tplink,archer-c59-v2|\
tplink,archer-c60-v1|\
tplink,archer-c60-v2|\
tplink,archer-c7-v4|\
tplink,archer-c7-v5)
tplink,archer-c7-v5|\
tplink,tl-wr902ac-v1)
migrate_leds "^$boardonly:=tp-link:"
;;
tplink,archer-c7-v2)
tplink,archer-c7-v2|\
tplink,tl-wdr3600-v1|\
tplink,tl-wdr4300-v1|\
tplink,tl-wdr4300-v1-il)
migrate_leds ":blue:=:green:"
;;
tplink,re355-v1)

View File

@ -0,0 +1,21 @@
# Copyright (C) 2019 Robert Marko <robimarko@gmail.com>
# Copyright (C) 2019 Roger Pueyo Centelles <roger.pueyo@guifi.net>
#
# Helper function to extract MAC addresses and calibration data for MikroTik
#
mikrotik_caldata_extract() {
local part=$1
local offset=$(($2))
local count=$(($3))
local mtd
local erdfile="/lib/firmware/erd.bin"
mtd=$(find_mtd_chardev $part)
[ -n "$mtd" ] || caldata_die "no mtd device found for partition $part"
rbextract -e $mtd $erdfile
dd if=$erdfile of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
caldata_die "failed to extract calibration data from $mtd"
}

View File

@ -9,6 +9,7 @@ CONFIG_MICREL_PHY=y
CONFIG_MTD_REDBOOT_PARTS=y
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-3
CONFIG_MTD_SPLIT_EVA_FW=y
CONFIG_MTD_SPLIT_MINOR_FW=y
CONFIG_PHY_AR7100_USB=y
CONFIG_PHY_AR7200_USB=y
CONFIG_REGULATOR=y

View File

@ -1,10 +1,8 @@
BOARDNAME:=Generic
FEATURES += squashfs
FEATURES += minor squashfs
DEFAULT_PACKAGES += wpad-basic
define Target/Description
Build firmware images for generic Atheros AR71xx/AR913x/AR934x based boards.
endef

View File

@ -3,14 +3,13 @@ include $(INCLUDE_DIR)/image.mk
KERNEL_LOADADDR = 0x80060000
DEVICE_VARS += IMAGE_SIZE LOADER_FLASH_OFFS LOADER_TYPE ATH_SOC
DEVICE_VARS += IMAGE_SIZE LOADER_FLASH_OFFS LOADER_TYPE
define Build/loader-common
rm -rf $@.src
$(MAKE) -C lzma-loader \
PKG_BUILD_DIR="$@.src" \
TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \
LZMA_TEXT_START=0x80a00000 LOADADDR=0x80060000 \
$(1) compile loader.$(LOADER_TYPE)
mv "$@.$(LOADER_TYPE)" "$@"
rm -rf $@.src
@ -55,9 +54,8 @@ endef
define Device/Default
ATH_SOC :=
DEVICE_DTS_DIR := ../dts
DEVICE_DTS = $$(ATH_SOC)_$(1)
DEVICE_DTS = $$(SOC)_$(1)
PROFILES = Default
MTDPARTS :=
BLOCKSIZE := 64k

View File

@ -0,0 +1,7 @@
define Device/mikrotik
DEVICE_VENDOR := MikroTik
DEVICE_PACKAGES := rbextract rbcfg
LOADER_TYPE := elf
KERNEL := kernel-bin | append-dtb | lzma | loader-kernel
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-kernel
endef

View File

@ -37,6 +37,8 @@ define Device/netgear_ath79
DEVICE_VENDOR := NETGEAR
KERNEL := kernel-bin | append-dtb | lzma -d20 | netgear-uImage lzma
IMAGES += factory.img
IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.img := $$(IMAGE/default) | netgear-dni | check-size $$$$(IMAGE_SIZE)
IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \
check-size $$$$(IMAGE_SIZE)
IMAGE/factory.img := $$(IMAGE/default) | netgear-dni | \
check-size $$$$(IMAGE_SIZE)
endef

View File

@ -1,53 +1,15 @@
DEVICE_VARS += TPLINK_HWID TPLINK_HWREV TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION TPLINK_BOARD_NAME TPLINK_BOARD_ID
define rootfs_align
$(patsubst %-256k,0x40000,$(patsubst %-128k,0x20000,$(patsubst %-64k,0x10000,$(patsubst squashfs%,0x4,$(patsubst root.%,%,$(1))))))
endef
# combine kernel and rootfs into one image
# mktplinkfw <type> <optional extra arguments to mktplinkfw binary>
# <type> is "sysupgrade" or "factory"
#
# -a align the rootfs start on an <align> bytes boundary
# -j add jffs2 end-of-filesystem markers
# -s strip padding from end of the image
# -X reserve <size> bytes in the firmware image (hexval prefixed with 0x)
define Build/mktplinkfw
-$(STAGING_DIR_HOST)/bin/mktplinkfw \
-H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) \
-m $(TPLINK_HEADER_VERSION) \
-k $(IMAGE_KERNEL) \
-r $@ \
-o $@.new \
-j -X 0x40000 \
-a $(call rootfs_align,$(FILESYSTEM)) \
$(wordlist 2,$(words $(1)),$(1)) \
$(if $(findstring sysupgrade,$(word 1,$(1))),-s) && mv $@.new $@ || rm -f $@
endef
# mktplinkfw-combined
#
# -c combined image
define Build/mktplinkfw-combined
$(STAGING_DIR_HOST)/bin/mktplinkfw \
-H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) $(1) \
-m $(TPLINK_HEADER_VERSION) \
-k $@ \
-o $@.new \
-s -S \
-c
@mv $@.new $@
endef
DEVICE_VARS += TPLINK_HWID TPLINK_HWREV TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION
DEVICE_VARS += TPLINK_BOARD_ID TPLINK_HWREVADD TPLINK_HVERSION
define Build/uImageArcher
mkimage -A $(LINUX_KARCH) \
-O linux -T kernel \
-C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
-O linux -T kernel -C $(1) -a $(KERNEL_LOADADDR) \
-e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
-n '$(call toupper,$(LINUX_KARCH)) OpenWrt Linux-$(LINUX_VERSION)' -d $@ $@.new
@mv $@.new $@
endef
define Device/tplink
define Device/tplink-v1
DEVICE_VENDOR := TP-Link
TPLINK_HWREV := 0x1
TPLINK_HEADER_VERSION := 1
@ -55,16 +17,28 @@ define Device/tplink
KERNEL := kernel-bin | append-dtb | lzma
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | tplink-v1-header
IMAGES += factory.bin
IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade | append-metadata
IMAGE/factory.bin := append-rootfs | mktplinkfw factory
IMAGE/sysupgrade.bin := tplink-v1-image sysupgrade | append-metadata
IMAGE/factory.bin := tplink-v1-image factory
endef
define Device/tplink-v2
DEVICE_VENDOR := TP-Link
TPLINK_HWREV := 0x1
TPLINK_HWREVADD := 0x0
TPLINK_HVERSION := 3
KERNEL := kernel-bin | append-dtb | lzma
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | tplink-v2-header
IMAGE/sysupgrade.bin := tplink-v2-image -s | append-metadata | \
check-size $$$$(IMAGE_SIZE)
endef
define Device/tplink-nolzma
$(Device/tplink)
$(Device/tplink-v1)
LOADER_FLASH_OFFS := 0x22000
COMPILE := loader-$(1).gz
COMPILE/loader-$(1).gz := loader-okli-compile
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | loader-okli $(1) 7680
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | \
loader-okli $(1) 7680
KERNEL_INITRAMFS := kernel-bin | append-dtb | gzip | tplink-v1-header
endef
@ -75,7 +49,7 @@ define Device/tplink-4m
endef
define Device/tplink-4mlzma
$(Device/tplink)
$(Device/tplink-v1)
TPLINK_FLASHLAYOUT := 4Mlzma
IMAGE_SIZE := 3904k
endef
@ -87,19 +61,19 @@ define Device/tplink-8m
endef
define Device/tplink-8mlzma
$(Device/tplink)
$(Device/tplink-v1)
TPLINK_FLASHLAYOUT := 8Mlzma
IMAGE_SIZE := 8000k
endef
define Device/tplink-16mlzma
$(Device/tplink)
$(Device/tplink-v1)
TPLINK_FLASHLAYOUT := 16Mlzma
IMAGE_SIZE := 16192k
endef
define Device/tplink-safeloader
$(Device/tplink)
$(Device/tplink-v1)
KERNEL := kernel-bin | append-dtb | lzma | tplink-v1-header -O
IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
append-metadata | check-size $$$$(IMAGE_SIZE)
@ -111,11 +85,12 @@ define Device/tplink-safeloader-uimage
KERNEL := kernel-bin | append-dtb | lzma | uImageArcher lzma
endef
define Device/tplink-loader-okli
define Device/tplink-safeloader-okli
$(Device/tplink-safeloader)
LOADER_TYPE := elf
LOADER_FLASH_OFFS := 0x43000
COMPILE := loader-$(1).elf
COMPILE/loader-$(1).elf := loader-okli-compile
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | loader-okli $(1) 12288
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | \
loader-okli $(1) 12288
endef

View File

@ -2,46 +2,47 @@ include ./common-tp-link.mk
define Device/tplink_archer-a7-v5
$(Device/tplink-safeloader-uimage)
ATH_SOC := qca9563
SOC := qca9563
IMAGE_SIZE := 15104k
DEVICE_MODEL := Archer A7
DEVICE_VARIANT := v5
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct ath10k-firmware-qca988x-ct
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca988x-ct
TPLINK_BOARD_ID := ARCHER-A7-V5
BOARDNAME := ARCHER-A7-V5
SUPPORTED_DEVICES += archer-a7-v5
endef
TARGET_DEVICES += tplink_archer-a7-v5
define Device/tplink_archer-c2-v3
$(Device/tplink-safeloader-uimage)
ATH_SOC := qca9563
SOC := qca9563
IMAGE_SIZE := 7808k
DEVICE_MODEL := Archer C2
DEVICE_VARIANT := v3
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct
TPLINK_BOARD_ID := ARCHER-C2-V3
endef
TARGET_DEVICES += tplink_archer-c2-v3
define Device/tplink_archer-c25-v1
$(Device/tplink-safeloader-uimage)
ATH_SOC := qca9561
SOC := qca9561
IMAGE_SIZE := 7808k
DEVICE_MODEL := Archer C25
DEVICE_VARIANT := v1
TPLINK_BOARD_ID := ARCHER-C25-V1
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct
SUPPORTED_DEVICES += archer-c25-v1
endef
TARGET_DEVICES += tplink_archer-c25-v1
define Device/tplink_archer-c5-v1
$(Device/tplink-16mlzma)
ATH_SOC := qca9558
SOC := qca9558
DEVICE_MODEL := Archer C5
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct ath10k-firmware-qca988x-ct
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca988x-ct
TPLINK_HWID := 0xc5000001
SUPPORTED_DEVICES += archer-c5
endef
@ -49,43 +50,45 @@ TARGET_DEVICES += tplink_archer-c5-v1
define Device/tplink_archer-c58-v1
$(Device/tplink-safeloader-uimage)
ATH_SOC := qca9561
SOC := qca9561
IMAGE_SIZE := 7936k
DEVICE_MODEL := Archer C58
DEVICE_VARIANT := v1
TPLINK_BOARD_ID := ARCHER-C58-V1
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct
SUPPORTED_DEVICES += archer-c58-v1
endef
TARGET_DEVICES += tplink_archer-c58-v1
define Device/tplink_archer-c59-v1
$(Device/tplink-safeloader-uimage)
ATH_SOC := qca9561
SOC := qca9561
IMAGE_SIZE := 14528k
DEVICE_MODEL := Archer C59
DEVICE_VARIANT := v1
TPLINK_BOARD_ID := ARCHER-C59-V1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct ath10k-firmware-qca9888-ct
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca9888-ct
SUPPORTED_DEVICES += archer-c59-v1
endef
TARGET_DEVICES += tplink_archer-c59-v1
define Device/tplink_archer-c59-v2
$(Device/tplink-safeloader-uimage)
ATH_SOC := qca9561
SOC := qca9561
IMAGE_SIZE := 14400k
DEVICE_MODEL := Archer C59
DEVICE_VARIANT := v2
TPLINK_BOARD_ID := ARCHER-C59-V2
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct ath10k-firmware-qca9888-ct
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca9888-ct
SUPPORTED_DEVICES += archer-c59-v2
endef
TARGET_DEVICES += tplink_archer-c59-v2
define Device/tplink_archer-c6-v2
$(Device/tplink-safeloader-uimage)
ATH_SOC := qca9563
SOC := qca9563
IMAGE_SIZE := 7808k
DEVICE_MODEL := Archer C6
DEVICE_VARIANT := v2 (EU/RU/JP)
@ -96,7 +99,7 @@ TARGET_DEVICES += tplink_archer-c6-v2
define Device/tplink_archer-c6-v2-us
$(Device/tplink-safeloader-uimage)
ATH_SOC := qca9563
SOC := qca9563
IMAGE_SIZE := 15872k
DEVICE_MODEL := Archer C6
DEVICE_VARIANT := v2 (US)
@ -110,31 +113,31 @@ TARGET_DEVICES += tplink_archer-c6-v2-us
define Device/tplink_archer-c60-v1
$(Device/tplink-safeloader-uimage)
ATH_SOC := qca9561
SOC := qca9561
IMAGE_SIZE := 7936k
DEVICE_MODEL := Archer C60
DEVICE_VARIANT := v1
TPLINK_BOARD_ID := ARCHER-C60-V1
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct
SUPPORTED_DEVICES += archer-c60-v1
endef
TARGET_DEVICES += tplink_archer-c60-v1
define Device/tplink_archer-c60-v2
$(Device/tplink-safeloader-uimage)
ATH_SOC := qca9561
SOC := qca9561
IMAGE_SIZE := 7808k
DEVICE_MODEL := Archer C60
DEVICE_VARIANT := v2
TPLINK_BOARD_ID := ARCHER-C60-V2
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct
SUPPORTED_DEVICES += archer-c60-v2
endef
TARGET_DEVICES += tplink_archer-c60-v2
define Device/tplink_archer-c7-v1
$(Device/tplink-8mlzma)
ATH_SOC := qca9558
SOC := qca9558
DEVICE_MODEL := Archer C7
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
@ -145,25 +148,27 @@ TARGET_DEVICES += tplink_archer-c7-v1
define Device/tplink_archer-c7-v2
$(Device/tplink-16mlzma)
ATH_SOC := qca9558
SOC := qca9558
DEVICE_MODEL := Archer C7
DEVICE_VARIANT := v2
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct ath10k-firmware-qca988x-ct
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca988x-ct
TPLINK_HWID := 0xc7000002
SUPPORTED_DEVICES += archer-c7
IMAGES += factory-us.bin factory-eu.bin
IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
IMAGE/factory-us.bin := tplink-v1-image factory -C US
IMAGE/factory-eu.bin := tplink-v1-image factory -C EU
endef
TARGET_DEVICES += tplink_archer-c7-v2
define Device/tplink_archer-c7-v4
$(Device/tplink-safeloader-uimage)
ATH_SOC := qca9563
SOC := qca9563
IMAGE_SIZE := 15104k
DEVICE_MODEL := Archer C7
DEVICE_VARIANT := v4
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct ath10k-firmware-qca988x-ct
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca988x-ct
TPLINK_BOARD_ID := ARCHER-C7-V4
BOARDNAME := ARCHER-C7-V4
SUPPORTED_DEVICES += archer-c7-v4
@ -172,11 +177,12 @@ TARGET_DEVICES += tplink_archer-c7-v4
define Device/tplink_archer-c7-v5
$(Device/tplink-safeloader-uimage)
ATH_SOC := qca9563
SOC := qca9563
IMAGE_SIZE := 15360k
DEVICE_MODEL := Archer C7
DEVICE_VARIANT := v5
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct ath10k-firmware-qca988x-ct
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
ath10k-firmware-qca988x-ct
TPLINK_BOARD_ID := ARCHER-C7-V5
BOARDNAME := ARCHER-C7-V5
SUPPORTED_DEVICES += archer-c7-v5
@ -184,30 +190,25 @@ endef
TARGET_DEVICES += tplink_archer-c7-v5
define Device/tplink_archer-d50-v1
ATH_SOC := qca9531
DEVICE_VENDOR := TP-Link
$(Device/tplink-v2)
SOC := qca9531
DEVICE_MODEL := Archer D50
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct ath10k-firmware-qca988x-ct
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport \
kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
BOARDNAME := ARCHER-D50-V1
IMAGE_SIZE := 7808k
TPLINK_HWID := 0xC1200001
TPLINK_HWREV := 0x00000046
TPLINK_FLASHLAYOUT := 8Mqca
TPLINK_HWREVADD := 0x00000000
TPLINK_HVERSION := 3
KERNEL := kernel-bin | append-dtb | lzma
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | \
tplink-v2-header -s -V "ver. 1.0"
IMAGES := sysupgrade.bin
IMAGE/sysupgrade.bin := tplink-v2-image -s -V "ver. 2.0" | \
append-metadata | check-size $$$$(IMAGE_SIZE)
tplink-v2-header -s -V "ver. 1.0"
endef
TARGET_DEVICES += tplink_archer-d50-v1
define Device/tplink_cpe210-v1
$(Device/tplink-loader-okli)
ATH_SOC := ar9344
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE210
DEVICE_VARIANT := v1
@ -219,7 +220,7 @@ TARGET_DEVICES += tplink_cpe210-v1
define Device/tplink_cpe210-v2
$(Device/tplink-safeloader)
ATH_SOC := qca9533
SOC := qca9533
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE210
DEVICE_VARIANT := v2
@ -232,7 +233,7 @@ TARGET_DEVICES += tplink_cpe210-v2
define Device/tplink_cpe210-v3
$(Device/tplink-safeloader)
ATH_SOC := qca9533
SOC := qca9533
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE210
DEVICE_VARIANT := v3
@ -244,8 +245,8 @@ endef
TARGET_DEVICES += tplink_cpe210-v3
define Device/tplink_cpe220-v2
$(Device/tplink-loader-okli)
ATH_SOC := ar9344
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE220
DEVICE_VARIANT := v2
@ -256,7 +257,7 @@ TARGET_DEVICES += tplink_cpe220-v2
define Device/tplink_cpe220-v3
$(Device/tplink-safeloader)
ATH_SOC := qca9533
SOC := qca9533
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE220
DEVICE_VARIANT := v3
@ -267,8 +268,8 @@ endef
TARGET_DEVICES += tplink_cpe220-v3
define Device/tplink_cpe510-v1
$(Device/tplink-loader-okli)
ATH_SOC := ar9344
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE510
DEVICE_VARIANT := v1
@ -279,8 +280,8 @@ endef
TARGET_DEVICES += tplink_cpe510-v1
define Device/tplink_cpe510-v2
$(Device/tplink-loader-okli)
ATH_SOC := ar9344
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE510
DEVICE_VARIANT := v2
@ -291,20 +292,19 @@ endef
TARGET_DEVICES += tplink_cpe510-v2
define Device/tplink_cpe510-v3
$(Device/tplink-loader-okli)
ATH_SOC := ar9344
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE510
DEVICE_VARIANT := v3
DEVICE_PACKAGES := rssileds
TPLINK_BOARD_ID := CPE510V3
SUPPORTED_DEVICES += cpe510-v3
endef
TARGET_DEVICES += tplink_cpe510-v3
define Device/tplink_cpe610-v1
$(Device/tplink-loader-okli)
ATH_SOC := ar9344
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := CPE610
DEVICE_VARIANT := v1
@ -314,7 +314,7 @@ TARGET_DEVICES += tplink_cpe610-v1
define Device/tplink_re350k-v1
$(Device/tplink-safeloader)
ATH_SOC := qca9558
SOC := qca9558
IMAGE_SIZE := 13760k
DEVICE_MODEL := RE350K
DEVICE_VARIANT := v1
@ -327,9 +327,9 @@ TARGET_DEVICES += tplink_re350k-v1
define Device/tplink_rex5x-v1
$(Device/tplink-safeloader)
ATH_SOC := qca9558
SOC := qca9558
IMAGE_SIZE := 6016k
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
TPLINK_HWID := 0x0
TPLINK_HWREV := 0
endef
@ -354,11 +354,11 @@ TARGET_DEVICES += tplink_re450-v1
define Device/tplink_re450-v2
$(Device/tplink-safeloader)
ATH_SOC := qca9563
SOC := qca9563
IMAGE_SIZE := 6016k
DEVICE_MODEL := RE450
DEVICE_VARIANT := v2
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
TPLINK_HWID := 0x0
TPLINK_HWREV := 0
TPLINK_BOARD_ID := RE450-V2
@ -366,9 +366,21 @@ define Device/tplink_re450-v2
endef
TARGET_DEVICES += tplink_re450-v2
define Device/tplink_tl-mr6400-v1
$(Device/tplink-8mlzma)
SOC := qca9531
DEVICE_MODEL := TL-MR6400
DEVICE_VARIANT := v1
TPLINK_HWID := 0x64000001
DEVICE_PACKAGES := kmod-usb2 kmod-usb-net kmod-usb-net-rndis kmod-usb-serial \
kmod-usb-serial-option adb-enablemodem
SUPPORTED_DEVICES += tl-mr6400
endef
TARGET_DEVICES += tplink_tl-mr6400-v1
define Device/tplink_tl-wdr3500-v1
$(Device/tplink-8mlzma)
ATH_SOC := ar9344
SOC := ar9344
DEVICE_MODEL := TL-WDR3500
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
@ -379,7 +391,7 @@ TARGET_DEVICES += tplink_tl-wdr3500-v1
define Device/tplink_tl-wdr3600-v1
$(Device/tplink-8mlzma)
ATH_SOC := ar9344
SOC := ar9344
DEVICE_MODEL := TL-WDR3600
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
@ -390,7 +402,7 @@ TARGET_DEVICES += tplink_tl-wdr3600-v1
define Device/tplink_tl-wdr4300-v1
$(Device/tplink-8mlzma)
ATH_SOC := ar9344
SOC := ar9344
DEVICE_MODEL := TL-WDR4300
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
@ -399,9 +411,20 @@ define Device/tplink_tl-wdr4300-v1
endef
TARGET_DEVICES += tplink_tl-wdr4300-v1
define Device/tplink_tl-wdr4300-v1-il
$(Device/tplink-8mlzma)
SOC := ar9344
DEVICE_MODEL := TL-WDR4300
DEVICE_VARIANT := v1 (IL)
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x43008001
SUPPORTED_DEVICES += tl-wdr4300
endef
TARGET_DEVICES += tplink_tl-wdr4300-v1-il
define Device/tplink_tl-wdr4900-v2
$(Device/tplink-8mlzma)
ATH_SOC := qca9558
SOC := qca9558
DEVICE_MODEL := TL-WDR4900
DEVICE_VARIANT := v2
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
@ -411,7 +434,7 @@ TARGET_DEVICES += tplink_tl-wdr4900-v2
define Device/tplink_tl-wr1043nd-v1
$(Device/tplink-8m)
ATH_SOC := ar9132
SOC := ar9132
DEVICE_MODEL := TL-WR1043N/ND
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
@ -422,7 +445,7 @@ TARGET_DEVICES += tplink_tl-wr1043nd-v1
define Device/tplink_tl-wr1043nd-v2
$(Device/tplink-8mlzma)
ATH_SOC := qca9558
SOC := qca9558
DEVICE_MODEL := TL-WR1043N/ND
DEVICE_VARIANT := v2
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
@ -433,7 +456,7 @@ TARGET_DEVICES += tplink_tl-wr1043nd-v2
define Device/tplink_tl-wr1043nd-v3
$(Device/tplink-8mlzma)
ATH_SOC := qca9558
SOC := qca9558
DEVICE_MODEL := TL-WR1043N/ND
DEVICE_VARIANT := v3
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
@ -444,7 +467,7 @@ TARGET_DEVICES += tplink_tl-wr1043nd-v3
define Device/tplink_tl-wr1043nd-v4
$(Device/tplink-safeloader)
ATH_SOC := qca9563
SOC := qca9563
IMAGE_SIZE := 15552k
DEVICE_MODEL := TL-WR1043N/ND
DEVICE_VARIANT := v4
@ -457,7 +480,7 @@ TARGET_DEVICES += tplink_tl-wr1043nd-v4
define Device/tplink_tl-wr1043n-v5
$(Device/tplink-safeloader-uimage)
ATH_SOC := qca9563
SOC := qca9563
IMAGE_SIZE := 15104k
DEVICE_MODEL := TL-WR1043N
DEVICE_VARIANT := v5
@ -468,7 +491,7 @@ TARGET_DEVICES += tplink_tl-wr1043n-v5
define Device/tplink_tl-wr1045nd-v2
$(Device/tplink-8mlzma)
ATH_SOC := qca9558
SOC := qca9558
DEVICE_MODEL := TL-WR1045ND
DEVICE_VARIANT := v2
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
@ -478,21 +501,21 @@ TARGET_DEVICES += tplink_tl-wr1045nd-v2
define Device/tplink_tl-wr2543-v1
$(Device/tplink-8mlzma)
ATH_SOC := ar7242
SOC := ar7242
DEVICE_MODEL := TL-WR2543N/ND
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x25430001
IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -v 3.13.99 | \
append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := append-rootfs | mktplinkfw factory -v 3.13.99
SUPPORTED_DEVICES += tl-wr2543-v1
IMAGE/sysupgrade.bin := tplink-v1-image sysupgrade -v 3.13.99 | \
append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := tplink-v1-image factory -v 3.13.99
SUPPORTED_DEVICES += tl-wr2543n
endef
TARGET_DEVICES += tplink_tl-wr2543-v1
define Device/tplink_tl-wr710n-v1
$(Device/tplink-8mlzma)
ATH_SOC := ar9331
SOC := ar9331
DEVICE_MODEL := TL-WR710N
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-usb-ledtrig-usbport
@ -503,7 +526,7 @@ TARGET_DEVICES += tplink_tl-wr710n-v1
define Device/tplink_tl-wr810n-v1
$(Device/tplink-8mlzma)
ATH_SOC := qca9531
SOC := qca9531
DEVICE_MODEL := TL-WR810N
DEVICE_VARIANT := v1
TPLINK_HWID := 0x8100001
@ -513,7 +536,7 @@ TARGET_DEVICES += tplink_tl-wr810n-v1
define Device/tplink_tl-wr810n-v2
$(Device/tplink-8mlzma)
ATH_SOC := qca9533
SOC := qca9533
DEVICE_MODEL := TL-WR810N
DEVICE_VARIANT := v2
TPLINK_HWID := 0x8100002
@ -522,7 +545,7 @@ TARGET_DEVICES += tplink_tl-wr810n-v2
define Device/tplink_tl-wr842n-v1
$(Device/tplink-8m)
ATH_SOC := ar7241
SOC := ar7241
DEVICE_MODEL := TL-WR842N/ND
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
@ -532,7 +555,7 @@ TARGET_DEVICES += tplink_tl-wr842n-v1
define Device/tplink_tl-wr842n-v2
$(Device/tplink-8mlzma)
ATH_SOC := ar9341
SOC := ar9341
DEVICE_MODEL := TL-WR842N/ND
DEVICE_VARIANT := v2
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
@ -543,7 +566,7 @@ TARGET_DEVICES += tplink_tl-wr842n-v2
define Device/tplink_tl-wr842n-v3
$(Device/tplink-16mlzma)
ATH_SOC := qca9533
SOC := qca9533
DEVICE_MODEL := TL-WR842N
DEVICE_VARIANT := v3
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
@ -552,9 +575,25 @@ define Device/tplink_tl-wr842n-v3
endef
TARGET_DEVICES += tplink_tl-wr842n-v3
define Device/tplink_tl-wr902ac-v1
$(Device/tplink-safeloader)
SOC := qca9531
DEVICE_MODEL := TL-WR902AC
DEVICE_VARIANT := v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport \
kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct \
-swconfig -uboot-envtools
TPLINK_BOARD_ID := TL-WR902AC-V1
IMAGE_SIZE := 7360k
TPLINK_HWID := 0x0
TPLINK_HWREV := 0
SUPPORTED_DEVICES += tl-wr902ac-v1
endef
TARGET_DEVICES += tplink_tl-wr902ac-v1
define Device/tplink_wbs210-v2
$(Device/tplink-loader-okli)
ATH_SOC := ar9344
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := WBS210
DEVICE_VARIANT := v2
@ -564,8 +603,8 @@ endef
TARGET_DEVICES += tplink_wbs210-v2
define Device/tplink_wbs510-v1
$(Device/tplink-loader-okli)
ATH_SOC := ar9344
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := WBS510
DEVICE_VARIANT := v1
@ -576,8 +615,8 @@ endef
TARGET_DEVICES += tplink_wbs510-v1
define Device/tplink_wbs510-v2
$(Device/tplink-loader-okli)
ATH_SOC := ar9344
$(Device/tplink-safeloader-okli)
SOC := ar9344
IMAGE_SIZE := 7680k
DEVICE_MODEL := WBS510
DEVICE_VARIANT := v2

View File

@ -8,11 +8,9 @@ UBNT_REVISION := $(VERSION_DIST)-$(REVISION)
# mkubntimage is using the kernel image direct
# routerboard creates partitions out of the ubnt header
define Build/mkubntimage
-$(STAGING_DIR_HOST)/bin/mkfwimage \
-B $(UBNT_BOARD) -v $(UBNT_TYPE).$(UBNT_CHIP).v6.0.0-$(VERSION_DIST)-$(REVISION) \
-k $(IMAGE_KERNEL) \
-r $@ \
-o $@
-$(STAGING_DIR_HOST)/bin/mkfwimage -B $(UBNT_BOARD) \
-v $(UBNT_TYPE).$(UBNT_CHIP).v6.0.0-$(VERSION_DIST)-$(REVISION) \
-k $(IMAGE_KERNEL) -r $@ -o $@
endef
# all UBNT XM/WA devices expect the kernel image to have 1024k while flash, when
@ -21,11 +19,9 @@ define Build/mkubntimage-split
-[ -f $@ ] && ( \
dd if=$@ of=$@.old1 bs=1024k count=1; \
dd if=$@ of=$@.old2 bs=1024k skip=1; \
$(STAGING_DIR_HOST)/bin/mkfwimage \
-B $(UBNT_BOARD) -v $(UBNT_TYPE).$(UBNT_CHIP).v$(UBNT_VERSION)-$(UBNT_REVISION) \
-k $@.old1 \
-r $@.old2 \
-o $@; \
$(STAGING_DIR_HOST)/bin/mkfwimage -B $(UBNT_BOARD) \
-v $(UBNT_TYPE).$(UBNT_CHIP).v$(UBNT_VERSION)-$(UBNT_REVISION) \
-k $@.old1 -r $@.old2 -o $@; \
rm $@.old1 $@.old2 )
endef
@ -36,8 +32,6 @@ endef
define Device/ubnt
DEVICE_VENDOR := Ubiquiti
DEVICE_PACKAGES := kmod-usb2
UBNT_BOARD := XM
UBNT_VERSION := 6.0.0
IMAGES += factory.bin
IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | mkubntimage-split
@ -45,54 +39,70 @@ endef
define Device/ubnt-bz
$(Device/ubnt)
SOC := ar7241
IMAGE_SIZE := 7448k
UBNT_TYPE := BZ
UBNT_BOARD := XM
UBNT_CHIP := ar7240
ATH_SOC := ar7241
UBNT_TYPE := BZ
UBNT_VERSION := 6.0.0
endef
define Device/ubnt-sw
$(Device/ubnt)
SOC := ar7242
DEVICE_PACKAGES += kmod-usb-ohci
IMAGE_SIZE := 7552k
UBNT_BOARD := SW
UBNT_CHIP := ar7240
UBNT_TYPE := SW
UBNT_VERSION := 1.4.1
KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | uImage lzma
endef
define Device/ubnt-wa
$(Device/ubnt)
SOC := ar9342
IMAGE_SIZE := 15744k
UBNT_TYPE := WA
UBNT_CHIP := ar934x
UBNT_BOARD := WA
UBNT_CHIP := ar934x
UBNT_TYPE := WA
UBNT_VERSION := 8.5.0
ATH_SOC := ar9342
endef
define Device/ubnt-xm
$(Device/ubnt)
SOC := ar7241
DEVICE_VARIANT := XM
DEVICE_PACKAGES += kmod-usb-ohci
IMAGE_SIZE := 7448k
UBNT_TYPE := XM
UBNT_BOARD := XM
UBNT_CHIP := ar7240
ATH_SOC := ar7241
UBNT_TYPE := XM
UBNT_VERSION := 6.0.0
KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | uImage lzma
endef
define Device/ubnt-xw
$(Device/ubnt)
SOC := ar9342
DEVICE_VARIANT := XW
IMAGE_SIZE := 7552k
UBNT_TYPE := XW
UBNT_CHIP := ar934x
UBNT_BOARD := XM
UBNT_VERSION := 6.0.4
UBNT_CHIP := ar934x
UBNT_REVISION := 42.$(UBNT_REVISION)
ATH_SOC := ar9342
UBNT_TYPE := XW
UBNT_VERSION := 6.0.4
endef
define Device/ubnt_acb-isp
$(Device/ubnt)
ATH_SOC := qca9533
IMAGE_SIZE := 15744k
SOC := qca9533
DEVICE_MODEL := airCube ISP
IMAGE_SIZE := 15744k
UBNT_BOARD := ACB-ISP
UBNT_TYPE := ACB
UBNT_CHIP := qca9533
IMAGES := sysupgrade.bin
UBNT_TYPE := ACB
UBNT_VERSION := 2.5.0
endef
TARGET_DEVICES += ubnt_acb-isp
@ -119,39 +129,64 @@ define Device/ubnt_bullet-m-xw
endef
TARGET_DEVICES += ubnt_bullet-m-xw
define Device/ubnt_edgeswitch-5xp
$(Device/ubnt-sw)
DEVICE_MODEL := EdgeSwitch 5XP
endef
TARGET_DEVICES += ubnt_edgeswitch-5xp
define Device/ubnt_edgeswitch-8xp
$(Device/ubnt-sw)
DEVICE_MODEL := EdgeSwitch 8XP
DEVICE_PACKAGES += switch-bcm53xx-mdio
endef
TARGET_DEVICES += ubnt_edgeswitch-8xp
define Device/ubnt_lap-120
$(Device/ubnt-wa)
DEVICE_MODEL := LiteAP ac
DEVICE_VARIANT := LAP-120
DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage-split
DEVICE_PACKAGES += kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
endef
TARGET_DEVICES += ubnt_lap-120
define Device/ubnt_litebeam-ac-gen2
$(Device/ubnt-wa)
DEVICE_MODEL := LiteBeam AC
DEVICE_VARIANT := Gen2
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
endef
TARGET_DEVICES += ubnt_litebeam-ac-gen2
define Device/ubnt_nanobeam-ac
$(Device/ubnt-wa)
DEVICE_MODEL := NanoBeam AC
DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct rssileds
IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage-split
DEVICE_PACKAGES += kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct rssileds
endef
TARGET_DEVICES += ubnt_nanobeam-ac
define Device/ubnt_nanostation-ac
$(Device/ubnt-wa)
DEVICE_MODEL := Nanostation AC
DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct rssileds
IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage-split
DEVICE_PACKAGES += kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct rssileds
endef
TARGET_DEVICES += ubnt_nanostation-ac
define Device/ubnt_nanostation-ac-loco
$(Device/ubnt-wa)
DEVICE_MODEL := Nanostation AC loco
DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage-split
DEVICE_PACKAGES += kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
endef
TARGET_DEVICES += ubnt_nanostation-ac-loco
define Device/ubnt_nanostation-loco-m-xw
$(Device/ubnt-xw)
DEVICE_MODEL := Nanostation Loco M
DEVICE_PACKAGES += rssileds
SUPPORTED_DEVICES += loco-m-xw
endef
TARGET_DEVICES += ubnt_nanostation-loco-m-xw
define Device/ubnt_nanostation-m
$(Device/ubnt-xm)
DEVICE_MODEL := Nanostation M
@ -177,12 +212,14 @@ endef
TARGET_DEVICES += ubnt_rocket-m
define Device/ubnt_routerstation_common
DEVICE_PACKAGES := -kmod-ath9k -wpad-mini -uboot-envtools kmod-usb-ohci kmod-usb2 fconfig
DEVICE_PACKAGES := -kmod-ath9k -wpad-mini -uboot-envtools kmod-usb-ohci \
kmod-usb2 fconfig
DEVICE_VENDOR := Ubiquiti
ATH_SOC := ar7161
SOC := ar7161
IMAGE_SIZE := 16128k
IMAGES := factory.bin
IMAGE/factory.bin := append-rootfs | pad-rootfs | mkubntimage | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := append-rootfs | pad-rootfs | mkubntimage | \
check-size $$$$(IMAGE_SIZE)
KERNEL := kernel-bin | append-dtb | lzma | pad-to $$(BLOCKSIZE)
KERNEL_INITRAMFS := kernel-bin | append-dtb
endef
@ -217,7 +254,7 @@ TARGET_DEVICES += ubnt_unifi
define Device/ubnt_unifiac
DEVICE_VENDOR := Ubiquiti
ATH_SOC := qca9563
SOC := qca9563
IMAGE_SIZE := 7744k
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
endef
@ -239,14 +276,14 @@ TARGET_DEVICES += ubnt_unifiac-lr
define Device/ubnt_unifiac-mesh
$(Device/ubnt_unifiac)
DEVICE_MODEL := UniFi AC-Mesh
SUPPORTED_DEVICES += ubnt-unifiac-mesh
SUPPORTED_DEVICES += unifiac-lite
endef
TARGET_DEVICES += ubnt_unifiac-mesh
define Device/ubnt_unifiac-mesh-pro
$(Device/ubnt_unifiac)
DEVICE_MODEL := UniFi AC-Mesh Pro
SUPPORTED_DEVICES += ubnt-unifiac-mesh-pro
SUPPORTED_DEVICES += unifiac-pro
endef
TARGET_DEVICES += ubnt_unifiac-mesh-pro
@ -254,6 +291,6 @@ define Device/ubnt_unifiac-pro
$(Device/ubnt_unifiac)
DEVICE_MODEL := UniFi AC-Pro
DEVICE_PACKAGES += kmod-usb2
SUPPORTED_DEVICES += ubnt-unifiac-pro
SUPPORTED_DEVICES += unifiac-pro
endef
TARGET_DEVICES += ubnt_unifiac-pro

View File

@ -1,4 +1,5 @@
include ./common-buffalo.mk
include ./common-mikrotik.mk
include ./common-netgear.mk
include ./common-tp-link.mk
include ./common-yuncore.mk
@ -82,16 +83,16 @@ define Device/seama
# - 28 bytes seama_header
# - 36 bytes of META data (4-bytes aligned)
IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
IMAGE/sysupgrade.bin := \
$$(IMAGE/default) | seama | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := \
$$(IMAGE/default) | pad-rootfs -x 64 | seama | seama-seal | check-size $$$$(IMAGE_SIZE)
IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \
append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
seama-seal | check-size $$$$(IMAGE_SIZE)
SEAMA_SIGNATURE :=
endef
define Device/8dev_carambola2
ATH_SOC := ar9331
SOC := ar9331
DEVICE_VENDOR := 8devices
DEVICE_MODEL := Carambola2
DEVICE_PACKAGES := kmod-usb2 kmod-usb-chipidea2
@ -101,7 +102,7 @@ endef
TARGET_DEVICES += 8dev_carambola2
define Device/adtran_bsap1880
ATH_SOC := ar7161
SOC := ar7161
DEVICE_VENDOR := Adtran/Bluesocket
DEVICE_PACKAGES += -swconfig -uboot-envtools fconfig
KERNEL := kernel-bin | append-dtb | lzma | pad-to $$(BLOCKSIZE)
@ -110,7 +111,8 @@ define Device/adtran_bsap1880
IMAGES += kernel.bin rootfs.bin
IMAGE/kernel.bin := append-kernel
IMAGE/rootfs.bin := append-rootfs | pad-rootfs
IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | \
check-size $$$$(IMAGE_SIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
endef
define Device/adtran_bsap1800-v2
@ -127,7 +129,7 @@ endef
TARGET_DEVICES += adtran_bsap1840
define Device/alfa-network_ap121f
ATH_SOC := ar9331
SOC := ar9331
DEVICE_VENDOR := ALFA Network
DEVICE_MODEL := AP121F
DEVICE_PACKAGES := kmod-usb2 kmod-usb-chipidea2 kmod-usb-storage -swconfig
@ -137,7 +139,7 @@ endef
TARGET_DEVICES += alfa-network_ap121f
define Device/aruba_ap-105
ATH_SOC := ar7161
SOC := ar7161
DEVICE_VENDOR := Aruba
DEVICE_MODEL := AP-105
IMAGE_SIZE := 16000k
@ -146,50 +148,52 @@ endef
TARGET_DEVICES += aruba_ap-105
define Device/avm_fritz300e
ATH_SOC := ar7242
SOC := ar7242
DEVICE_VENDOR := AVM
DEVICE_MODEL := FRITZ!WLAN Repeater 300E
KERNEL := kernel-bin | append-dtb | lzma | eva-image
KERNEL_INITRAMFS := $$(KERNEL)
IMAGE_SIZE := 15232k
IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \
append-squashfs-fakeroot-be | pad-to 256 | \
append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
append-squashfs-fakeroot-be | pad-to 256 | append-rootfs | pad-rootfs | \
append-metadata | check-size $$$$(IMAGE_SIZE)
DEVICE_PACKAGES := fritz-tffs rssileds -swconfig
endef
TARGET_DEVICES += avm_fritz300e
define Device/avm_fritz4020
ATH_SOC := qca9561
SOC := qca9561
DEVICE_VENDOR := AVM
DEVICE_MODEL := FRITZ!Box 4020
IMAGE_SIZE := 15232k
KERNEL := kernel-bin | append-dtb | lzma | eva-image
KERNEL_INITRAMFS := $$(KERNEL)
IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \
append-squashfs-fakeroot-be | pad-to 256 | \
append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
append-squashfs-fakeroot-be | pad-to 256 | append-rootfs | pad-rootfs | \
append-metadata | check-size $$$$(IMAGE_SIZE)
DEVICE_PACKAGES := fritz-tffs
SUPPORTED_DEVICES += fritz4020
endef
TARGET_DEVICES += avm_fritz4020
define Device/buffalo_bhr-4grv
ATH_SOC := ar7242
SOC := ar7242
DEVICE_VENDOR := Buffalo
DEVICE_MODEL := BHR-4GRV
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
IMAGE_SIZE := 32256k
IMAGES += factory.bin tftp.bin
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc BHR-4GRV 1.99 | buffalo-tag BHR-4GRV 3
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
pad-rootfs | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc BHR-4GRV 1.99 | \
buffalo-tag BHR-4GRV 3
IMAGE/tftp.bin := $$(IMAGE/default) | buffalo-tftp-header
SUPPORTED_DEVICES += wzr-hp-g450h
endef
TARGET_DEVICES += buffalo_bhr-4grv
define Device/buffalo_bhr-4grv2
ATH_SOC := qca9557
SOC := qca9557
DEVICE_VENDOR := Buffalo
DEVICE_MODEL := BHR-4GRV2
IMAGE_SIZE := 16000k
@ -197,50 +201,57 @@ endef
TARGET_DEVICES += buffalo_bhr-4grv2
define Device/buffalo_wzr-hp-ag300h
ATH_SOC := ar7161
SOC := ar7161
DEVICE_VENDOR := Buffalo
DEVICE_MODEL := WZR-HP-AG300H
IMAGE_SIZE := 32320k
IMAGES += factory.bin tftp.bin
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc WZR-HP-AG300H 1.99 | buffalo-tag WZR-HP-AG300H 3
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
pad-rootfs | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc WZR-HP-AG300H 1.99 | \
buffalo-tag WZR-HP-AG300H 3
IMAGE/tftp.bin := $$(IMAGE/default) | buffalo-tftp-header
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \
kmod-leds-reset kmod-owl-loader
SUPPORTED_DEVICES += wzr-hp-ag300h
endef
TARGET_DEVICES += buffalo_wzr-hp-ag300h
define Device/buffalo_wzr-hp-g302h-a1a0
ATH_SOC := ar7242
SOC := ar7242
DEVICE_VENDOR := Buffalo
DEVICE_MODEL := WZR-HP-G302H
DEVICE_VARIANT := A1A0
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
IMAGE_SIZE := 32128k
IMAGES += factory.bin tftp.bin
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc WZR-HP-G302H 1.99 | buffalo-tag WZR-HP-G302H 4
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
pad-rootfs | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc WZR-HP-G302H 1.99 | \
buffalo-tag WZR-HP-G302H 4
IMAGE/tftp.bin := $$(IMAGE/default) | buffalo-tftp-header
SUPPORTED_DEVICES += wzr-hp-g300nh2
endef
TARGET_DEVICES += buffalo_wzr-hp-g302h-a1a0
define Device/buffalo_wzr-hp-g450h
ATH_SOC := ar7242
SOC := ar7242
DEVICE_VENDOR := Buffalo
DEVICE_MODEL := WZR-HP-G450H/WZR-450HP
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
IMAGE_SIZE := 32256k
IMAGES += factory.bin tftp.bin
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc WZR-HP-G450H 1.99 | buffalo-tag WZR-HP-G450H 3
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
pad-rootfs | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc WZR-HP-G450H 1.99 | \
buffalo-tag WZR-HP-G450H 3
IMAGE/tftp.bin := $$(IMAGE/default) | buffalo-tftp-header
SUPPORTED_DEVICES += wzr-hp-g450h
endef
TARGET_DEVICES += buffalo_wzr-hp-g450h
define Device/comfast_cf-e110n-v2
ATH_SOC := qca9533
SOC := qca9533
DEVICE_VENDOR := COMFAST
DEVICE_MODEL := CF-E110N
DEVICE_VARIANT := v2
@ -250,7 +261,7 @@ endef
TARGET_DEVICES += comfast_cf-e110n-v2
define Device/comfast_cf-e120a-v3
ATH_SOC := ar9344
SOC := ar9344
DEVICE_VENDOR := COMFAST
DEVICE_MODEL := CF-E120A
DEVICE_VARIANT := v3
@ -260,17 +271,17 @@ endef
TARGET_DEVICES += comfast_cf-e120a-v3
define Device/comfast_cf-e313ac
ATH_SOC := qca9531
SOC := qca9531
DEVICE_VENDOR := COMFAST
DEVICE_MODEL := CF-E313AC
DEVICE_PACKAGES := rssileds kmod-leds-gpio kmod-ath10k-ct ath10k-firmware-qca9888-ct \
-swconfig -uboot-envtools
DEVICE_PACKAGES := rssileds kmod-leds-gpio kmod-ath10k-ct-smallbuffers \
ath10k-firmware-qca9888-ct -swconfig -uboot-envtools
IMAGE_SIZE := 7936k
endef
TARGET_DEVICES += comfast_cf-e313ac
define Device/comfast_cf-e314n-v2
ATH_SOC := qca9531
SOC := qca9531
DEVICE_VENDOR := COMFAST
DEVICE_MODEL := CF-E314N
DEVICE_VARIANT := v2
@ -280,7 +291,7 @@ endef
TARGET_DEVICES += comfast_cf-e314n-v2
define Device/comfast_cf-e5
ATH_SOC := qca9531
SOC := qca9531
DEVICE_VENDOR := COMFAST
DEVICE_MODEL := CF-E5/E7
DEVICE_PACKAGES := rssileds kmod-leds-gpio kmod-usb2 kmod-usb-net \
@ -290,7 +301,7 @@ endef
TARGET_DEVICES += comfast_cf-e5
define Device/comfast_cf-wr650ac-v1
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := COMFAST
DEVICE_MODEL := CF-WR650AC
DEVICE_VARIANT := v1
@ -300,7 +311,7 @@ endef
TARGET_DEVICES += comfast_cf-wr650ac-v1
define Device/comfast_cf-wr650ac-v2
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := COMFAST
DEVICE_MODEL := CF-WR650AC
DEVICE_VARIANT := v2
@ -310,7 +321,7 @@ endef
TARGET_DEVICES += comfast_cf-wr650ac-v2
define Device/devolo_dvl1200e
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := devolo
DEVICE_MODEL := WiFi pro 1200e
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
@ -319,7 +330,7 @@ endef
TARGET_DEVICES += devolo_dvl1200e
define Device/devolo_dvl1200i
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := devolo
DEVICE_MODEL := WiFi pro 1200i
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
@ -328,7 +339,7 @@ endef
TARGET_DEVICES += devolo_dvl1200i
define Device/devolo_dvl1750c
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := devolo
DEVICE_MODEL := WiFi pro 1750c
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
@ -337,7 +348,7 @@ endef
TARGET_DEVICES += devolo_dvl1750c
define Device/devolo_dvl1750e
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := devolo
DEVICE_MODEL := WiFi pro 1750e
DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
@ -346,7 +357,7 @@ endef
TARGET_DEVICES += devolo_dvl1750e
define Device/devolo_dvl1750i
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := devolo
DEVICE_MODEL := WiFi pro 1750i
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
@ -355,7 +366,7 @@ endef
TARGET_DEVICES += devolo_dvl1750i
define Device/devolo_dvl1750x
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := devolo
DEVICE_MODEL := WiFi pro 1750x
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
@ -363,36 +374,51 @@ define Device/devolo_dvl1750x
endef
TARGET_DEVICES += devolo_dvl1750x
define Device/dlink_dir-505
SOC := ar9330
DEVICE_VENDOR := D-Link
DEVICE_MODEL := DIR-505
IMAGE_SIZE := 7680k
DEVICE_PACKAGES := kmod-usb2
SUPPORTED_DEVICES += dir-505-a1
endef
TARGET_DEVICES += dlink_dir-505
define Device/dlink_dir-825-b1
ATH_SOC := ar7161
SOC := ar7161
DEVICE_VENDOR := D-Link
DEVICE_MODEL := DIR-825
DEVICE_VARIANT := B1
IMAGE_SIZE := 6208k
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
append-metadata | check-size $$$$(IMAGE_SIZE)
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \
kmod-leds-reset kmod-owl-loader
SUPPORTED_DEVICES += dir-825-b1
endef
TARGET_DEVICES += dlink_dir-825-b1
define Device/dlink_dir-825-c1
ATH_SOC := ar9344
SOC := ar9344
DEVICE_VENDOR := D-Link
DEVICE_MODEL := DIR-825
DEVICE_VARIANT := C1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset \
kmod-owl-loader
SUPPORTED_DEVICES += dir-825-c1
IMAGE_SIZE := 15936k
IMAGES := factory.bin sysupgrade.bin
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
pad-rootfs
IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
append-string 00DB120AR9344-RT-101214-00 | check-size $$$$(IMAGE_SIZE)
IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \
check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += dlink_dir-825-c1
define Device/dlink_dir-835-a1
ATH_SOC := ar9344
SOC := ar9344
DEVICE_VENDOR := D-Link
DEVICE_MODEL := DIR-835
DEVICE_VARIANT := A1
@ -400,15 +426,17 @@ define Device/dlink_dir-835-a1
SUPPORTED_DEVICES += dir-835-a1
IMAGE_SIZE := 15936k
IMAGES := factory.bin sysupgrade.bin
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
pad-rootfs
IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
append-string 00DB120AR9344-RT-101214-00 | check-size $$$$(IMAGE_SIZE)
IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \
check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += dlink_dir-835-a1
define Device/dlink_dir-842-c
ATH_SOC := qca9563
SOC := qca9563
DEVICE_VENDOR := D-Link
DEVICE_MODEL := DIR-842
KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
@ -419,11 +447,12 @@ define Device/dlink_dir-842-c
# 64 bytes offset:
# - 28 bytes seama_header
# - 36 bytes of META data (4-bytes aligned)
IMAGE/default := append-kernel | uImage lzma | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
IMAGE/sysupgrade.bin := \
$$(IMAGE/default) | seama | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := \
$$(IMAGE/default) | pad-rootfs -x 64 | seama | seama-seal | check-size $$$$(IMAGE_SIZE)
IMAGE/default := append-kernel | uImage lzma | \
pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \
append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
seama-seal | check-size $$$$(IMAGE_SIZE)
IMAGE_SIZE := 15680k
endef
@ -450,19 +479,18 @@ TARGET_DEVICES += dlink_dir-842-c3
define Device/dlink_dir-859-a1
$(Device/seama)
ATH_SOC := qca9563
SOC := qca9563
DEVICE_VENDOR := D-Link
DEVICE_MODEL := DIR-859
DEVICE_VARIANT := A1
IMAGE_SIZE := 15872k
DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
SEAMA_SIGNATURE := wrgac37_dlink.2013gui_dir859
SUPPORTED_DEVICES += dir-859-a1
endef
TARGET_DEVICES += dlink_dir-859-a1
define Device/elecom_wrc-1750ghbk2-i
ATH_SOC := qca9563
SOC := qca9563
DEVICE_VENDOR := ELECOM
DEVICE_MODEL := WRC-1750GHBK2-I/C
IMAGE_SIZE := 15808k
@ -473,7 +501,7 @@ endef
TARGET_DEVICES += elecom_wrc-1750ghbk2-i
define Device/elecom_wrc-300ghbk2-i
ATH_SOC := qca9563
SOC := qca9563
DEVICE_VENDOR := ELECOM
DEVICE_MODEL := WRC-300GHBK2-I
IMAGE_SIZE := 7616k
@ -483,7 +511,7 @@ endef
TARGET_DEVICES += elecom_wrc-300ghbk2-i
define Device/embeddedwireless_dorin
ATH_SOC := ar9331
SOC := ar9331
DEVICE_VENDOR := Embedded Wireless
DEVICE_MODEL := Dorin
DEVICE_PACKAGES := kmod-usb-chipidea2
@ -492,20 +520,21 @@ endef
TARGET_DEVICES += embeddedwireless_dorin
define Device/engenius_ecb1750
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := EnGenius
DEVICE_MODEL := ECB1750
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
IMAGE_SIZE := 15680k
IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
senao-header -r 0x101 -p 0x6d -t 2
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
senao-header -r 0x101 -p 0x6d -t 2
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
append-metadata | check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += engenius_ecb1750
define Device/engenius_epg5000
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := EnGenius
DEVICE_MODEL := EPG5000
DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2
@ -519,7 +548,7 @@ endef
TARGET_DEVICES += engenius_epg5000
define Device/engenius_ews511ap
ATH_SOC := qca9531
SOC := qca9531
DEVICE_VENDOR := EnGenius
DEVICE_MODEL := EWS511AP
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
@ -528,18 +557,44 @@ endef
TARGET_DEVICES += engenius_ews511ap
define Device/etactica_eg200
ATH_SOC := ar9331
SOC := ar9331
DEVICE_VENDOR := eTactica
DEVICE_MODEL := EG200
DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-ledtrig-oneshot \
kmod-usb-serial kmod-usb-serial-ftdi kmod-usb-storage kmod-fs-ext4
kmod-usb-serial kmod-usb-serial-ftdi kmod-usb-storage kmod-fs-ext4
IMAGE_SIZE := 16000k
SUPPORTED_DEVICES += rme-eg200
endef
TARGET_DEVICES += etactica_eg200
define Device/glinet_6408
$(Device/tplink-8mlzma)
SOC := ar9331
DEVICE_VENDOR := GL.iNet
DEVICE_MODEL := 6408
DEVICE_PACKAGES := kmod-usb2
IMAGE_SIZE := 8000k
TPLINK_HWID := 0x08000001
IMAGES := sysupgrade.bin
SUPPORTED_DEVICES += gl-inet
endef
TARGET_DEVICES += glinet_6408
define Device/glinet_6416
$(Device/tplink-16mlzma)
SOC := ar9331
DEVICE_VENDOR := GL.iNet
DEVICE_MODEL := 6416
DEVICE_PACKAGES := kmod-usb2
IMAGE_SIZE := 16192k
TPLINK_HWID := 0x08000001
IMAGES := sysupgrade.bin
SUPPORTED_DEVICES += gl-inet
endef
TARGET_DEVICES += glinet_6416
define Device/glinet_gl-ar150
ATH_SOC := ar9330
SOC := ar9330
DEVICE_VENDOR := GL.iNet
DEVICE_MODEL := GL-AR150
DEVICE_PACKAGES := kmod-usb-chipidea2
@ -549,7 +604,7 @@ endef
TARGET_DEVICES += glinet_gl-ar150
define Device/glinet_gl-ar300m-common-nor
ATH_SOC := qca9531
SOC := qca9531
DEVICE_VENDOR := GL.iNet
DEVICE_PACKAGES := kmod-usb2
IMAGE_SIZE := 16000k
@ -570,7 +625,7 @@ endef
TARGET_DEVICES += glinet_gl-ar300m16
define Device/glinet_gl-ar750
ATH_SOC := qca9531
SOC := qca9531
DEVICE_VENDOR := GL.iNet
DEVICE_MODEL := GL-AR750
DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct
@ -580,7 +635,7 @@ endef
TARGET_DEVICES += glinet_gl-ar750
define Device/glinet_gl-x750
ATH_SOC := qca9531
SOC := qca9531
DEVICE_VENDOR := GL.iNet
DEVICE_MODEL := GL-X750
DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct
@ -589,7 +644,7 @@ endef
TARGET_DEVICES += glinet_gl-x750
define Device/iodata_etg3-r
ATH_SOC := ar9342
SOC := ar9342
DEVICE_VENDOR := I-O DATA
DEVICE_MODEL := ETG3-R
IMAGE_SIZE := 7680k
@ -598,60 +653,59 @@ endef
TARGET_DEVICES += iodata_etg3-r
define Device/iodata_wn-ac1167dgr
ATH_SOC := qca9557
SOC := qca9557
DEVICE_VENDOR := I-O DATA
DEVICE_MODEL := WN-AC1167DGR
IMAGE_SIZE := 14656k
IMAGES += factory.bin
IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
senao-header -r 0x30a -p 0x61 -t 2
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
senao-header -r 0x30a -p 0x61 -t 2
DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
endef
TARGET_DEVICES += iodata_wn-ac1167dgr
define Device/iodata_wn-ac1600dgr
ATH_SOC := qca9557
SOC := qca9557
DEVICE_VENDOR := I-O DATA
DEVICE_MODEL := WN-AC1600DGR
IMAGE_SIZE := 14656k
IMAGES += factory.bin
IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
senao-header -r 0x30a -p 0x60 -t 2 -v 200
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
senao-header -r 0x30a -p 0x60 -t 2 -v 200
DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
endef
TARGET_DEVICES += iodata_wn-ac1600dgr
define Device/iodata_wn-ac1600dgr2
ATH_SOC := qca9557
SOC := qca9557
DEVICE_VENDOR := I-O DATA
DEVICE_MODEL := WN-AC1600DGR2/DGR3
IMAGE_SIZE := 14656k
IMAGES += dgr2-dgr3-factory.bin
IMAGE/dgr2-dgr3-factory.bin := \
append-kernel | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
senao-header -r 0x30a -p 0x60 -t 2 -v 200
IMAGE/dgr2-dgr3-factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
senao-header -r 0x30a -p 0x60 -t 2 -v 200
DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
endef
TARGET_DEVICES += iodata_wn-ac1600dgr2
define Device/iodata_wn-ag300dgr
ATH_SOC := ar1022
SOC := ar1022
DEVICE_VENDOR := I-O DATA
DEVICE_MODEL := WN-AG300DGR
IMAGE_SIZE := 15424k
IMAGES += factory.bin
IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
senao-header -r 0x30a -p 0x47 -t 2
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
senao-header -r 0x30a -p 0x47 -t 2
DEVICE_PACKAGES := kmod-usb2
endef
TARGET_DEVICES += iodata_wn-ag300dgr
define Device/jjplus_ja76pf2
ATH_SOC := ar7161
SOC := ar7161
DEVICE_VENDOR := jjPlus
DEVICE_MODEL := JA76PF2
DEVICE_PACKAGES += -kmod-ath9k -swconfig -wpad-mini -uboot-envtools fconfig
@ -666,7 +720,7 @@ endef
TARGET_DEVICES += jjplus_ja76pf2
define Device/librerouter_librerouter-v1
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := Librerouter
DEVICE_MODEL := LibreRouter
DEVICE_VARIANT := v1
@ -675,46 +729,57 @@ define Device/librerouter_librerouter-v1
endef
TARGET_DEVICES += librerouter_librerouter-v1
define Device/mikrotik_routerboard-wap-g-5hact2hnd
$(Device/mikrotik)
SOC := qca9556
DEVICE_MODEL := RouterBOARD wAP G-5HacT2HnD (wAP AC)
IMAGE_SIZE := 16256k
IMAGE/sysupgrade.bin := append-kernel | kernel2minor -s 1024 -e | \
pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \
append-metadata | check-size $$$$(IMAGE_SIZE)
DEVICE_PACKAGES += kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
SUPPORTED_DEVICES += rb-wapg-5hact2hnd
endef
TARGET_DEVICES += mikrotik_routerboard-wap-g-5hact2hnd
define Device/nec_wg1200cr
ATH_SOC := qca9563
SOC := qca9563
DEVICE_VENDOR := NEC
DEVICE_MODEL := Aterm WG1200CR
IMAGE_SIZE := 7616k
SEAMA_MTDBLOCK := 6
SEAMA_SIGNATURE := wrgac72_necpf.2016gui_wg1200cr
IMAGES += factory.bin
IMAGE/default := \
append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
IMAGE/sysupgrade.bin := \
$$(IMAGE/default) | seama | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := \
$$(IMAGE/default) | pad-rootfs -x 64 | seama | seama-seal | nec-enc 9gsiy9nzep452pad | \
check-size $$$$(IMAGE_SIZE)
IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \
append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
seama-seal | nec-enc 9gsiy9nzep452pad | check-size $$$$(IMAGE_SIZE)
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
endef
TARGET_DEVICES += nec_wg1200cr
define Device/nec_wg800hp
ATH_SOC := qca9563
SOC := qca9563
DEVICE_VENDOR := NEC
DEVICE_MODEL := Aterm WG800HP
IMAGE_SIZE := 7104k
IMAGES += factory.bin
IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
xor-image -p 6A57190601121E4C004C1E1201061957 -x | \
nec-fw LASER_ATERM
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct-htt
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
xor-image -p 6A57190601121E4C004C1E1201061957 -x | nec-fw LASER_ATERM
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct-htt
endef
TARGET_DEVICES += nec_wg800hp
define Device/netgear_ex6400_ex7300
ATH_SOC := qca9558
SOC := qca9558
NETGEAR_KERNEL_MAGIC := 0x27051956
NETGEAR_BOARD_ID := EX7300series
NETGEAR_HW_ID := 29765104+16+0+128
IMAGE_SIZE := 15552k
IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | netgear-rootfs | pad-rootfs
IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
netgear-rootfs | pad-rootfs
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca99x0-ct
$(Device/netgear_ath79)
endef
@ -732,9 +797,11 @@ endef
TARGET_DEVICES += netgear_ex7300
define Device/netgear_wndr3x00
ATH_SOC := ar7161
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | netgear-squashfs | append-rootfs | pad-rootfs
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
SOC := ar7161
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | netgear-squashfs | \
append-rootfs | pad-rootfs
DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \
kmod-leds-reset kmod-owl-loader
$(Device/netgear_ath79)
endef
@ -746,7 +813,8 @@ define Device/netgear_wndr3700
NETGEAR_BOARD_ID := WNDR3700
IMAGE_SIZE := 7680k
IMAGES += factory-NA.img
IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | check-size $$$$(IMAGE_SIZE)
IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | \
check-size $$$$(IMAGE_SIZE)
SUPPORTED_DEVICES += wndr3700
endef
TARGET_DEVICES += netgear_wndr3700
@ -786,7 +854,7 @@ endef
TARGET_DEVICES += netgear_wndr3800ch
define Device/netgear_wnr2200_common
ATH_SOC := ar7241
SOC := ar7241
DEVICE_MODEL := WNR2200
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
NETGEAR_KERNEL_MAGIC := 0x32323030
@ -820,37 +888,40 @@ endef
TARGET_DEVICES += netgear_wnr2200-16m
define Device/ocedo_koala
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := Ocedo
DEVICE_MODEL := Koala
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
SUPPORTED_DEVICES += koala
IMAGE_SIZE := 7424k
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
append-metadata | check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += ocedo_koala
define Device/ocedo_raccoon
ATH_SOC := ar9344
SOC := ar9344
DEVICE_VENDOR := Ocedo
DEVICE_MODEL := Raccoon
IMAGE_SIZE := 7424k
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
append-metadata | check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += ocedo_raccoon
define Device/ocedo_ursus
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := Ocedo
DEVICE_MODEL := Ursus
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
IMAGE_SIZE := 7424k
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
append-metadata | check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += ocedo_ursus
define Device/openmesh_om5p-ac-v2
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := OpenMesh
DEVICE_MODEL := OM5P-AC
DEVICE_VARIANT := v2
@ -861,7 +932,7 @@ endef
TARGET_DEVICES += openmesh_om5p-ac-v2
define Device/pcs_cap324
ATH_SOC := ar9344
SOC := ar9344
DEVICE_VENDOR := PowerCloud Systems
DEVICE_MODEL := CAP324
IMAGE_SIZE := 16000k
@ -870,7 +941,7 @@ endef
TARGET_DEVICES += pcs_cap324
define Device/pcs_cr3000
ATH_SOC := ar9341
SOC := ar9341
DEVICE_VENDOR := PowerCloud Systems
DEVICE_MODEL := CR3000
IMAGE_SIZE := 7808k
@ -879,7 +950,7 @@ endef
TARGET_DEVICES += pcs_cr3000
define Device/pcs_cr5000
ATH_SOC := ar9344
SOC := ar9344
DEVICE_VENDOR := PowerCloud Systems
DEVICE_MODEL := CR5000
DEVICE_PACKAGES := kmod-usb2
@ -889,18 +960,19 @@ endef
TARGET_DEVICES += pcs_cr5000
define Device/phicomm_k2t
ATH_SOC := qca9563
SOC := qca9563
DEVICE_VENDOR := Phicomm
DEVICE_MODEL := K2T
IMAGE_SIZE := 15744k
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
DEVICE_PACKAGES := kmod-leds-reset kmod-ath10k-ct ath10k-firmware-qca9888-ct
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
append-metadata | check-size $$$$(IMAGE_SIZE)
DEVICE_PACKAGES := kmod-leds-reset kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct
endef
TARGET_DEVICES += phicomm_k2t
define Device/pisen_ts-d084
$(Device/tplink-8mlzma)
ATH_SOC := ar9331
SOC := ar9331
DEVICE_VENDOR := PISEN
DEVICE_MODEL := TS-D084
DEVICE_PACKAGES := kmod-usb2 kmod-usb-chipidea2
@ -909,7 +981,7 @@ endef
TARGET_DEVICES += pisen_ts-d084
define Device/pisen_wmb001n
ATH_SOC := ar9341
SOC := ar9341
DEVICE_VENDOR := PISEN
DEVICE_MODEL := WMB001N
IMAGE_SIZE := 14080k
@ -918,7 +990,8 @@ define Device/pisen_wmb001n
LOADER_FLASH_OFFS := 0x20000
COMPILE := loader-$(1).bin loader-$(1).uImage
COMPILE/loader-$(1).bin := loader-okli-compile
COMPILE/loader-$(1).uImage := append-loader-okli $(1) | pad-to 64k | lzma | uImage lzma
COMPILE/loader-$(1).uImage := append-loader-okli $(1) | pad-to 64k | lzma | \
uImage lzma
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
IMAGES += factory.bin
IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | pisen_wmb001n-factory $(1)
@ -927,7 +1000,7 @@ TARGET_DEVICES += pisen_wmb001n
define Device/pisen_wmm003n
$(Device/tplink-8mlzma)
ATH_SOC := ar9331
SOC := ar9331
DEVICE_VENDOR := PISEN
DEVICE_MODEL := Cloud Easy Power (WMM003N)
DEVICE_PACKAGES := kmod-usb2 kmod-usb-chipidea2
@ -937,10 +1010,11 @@ TARGET_DEVICES += pisen_wmm003n
define Device/qihoo_c301
$(Device/seama)
ATH_SOC := ar9344
SOC := ar9344
DEVICE_VENDOR := Qihoo
DEVICE_MODEL := C301
DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct uboot-envtools
DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct \
uboot-envtools
IMAGE_SIZE := 15744k
SEAMA_SIGNATURE := wrgac26_qihoo360_360rg
SUPPORTED_DEVICES += qihoo-c301
@ -948,7 +1022,7 @@ endef
TARGET_DEVICES += qihoo_c301
define Device/rosinson_wr818
ATH_SOC := qca9563
SOC := qca9563
DEVICE_VENDOR := Rosinson
DEVICE_MODEL := WR818
IMAGE_SIZE := 15872k
@ -957,11 +1031,11 @@ endef
TARGET_DEVICES += rosinson_wr818
define Device/sitecom_wlr-7100
ATH_SOC := ar1022
SOC := ar1022
DEVICE_VENDOR := Sitecom
DEVICE_MODEL := WLR-7100
DEVICE_VARIANT := v1 002
DEVICE_PACKAGES := ath10k-firmware-qca988x kmod-ath10k kmod-usb2
DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct-smallbuffers kmod-usb2
IMAGES += factory.dlf
IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
@ -971,7 +1045,7 @@ endef
TARGET_DEVICES += sitecom_wlr-7100
define Device/trendnet_tew-823dru
ATH_SOC := qca9558
SOC := qca9558
DEVICE_VENDOR := Trendnet
DEVICE_MODEL := TEW-823DRU
DEVICE_VARIANT := v1.0R
@ -979,16 +1053,18 @@ define Device/trendnet_tew-823dru
SUPPORTED_DEVICES += tew-823dru
IMAGE_SIZE := 15296k
IMAGES := factory.bin sysupgrade.bin
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
pad-rootfs
IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
append-string 00AP135AR9558-RT-131129-00 | check-size $$$$(IMAGE_SIZE)
IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \
check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += trendnet_tew-823dru
define Device/wd_mynet-n750
$(Device/seama)
ATH_SOC := ar9344
SOC := ar9344
DEVICE_VENDOR := Western Digital
DEVICE_MODEL := My Net N750
IMAGE_SIZE := 15872k
@ -999,7 +1075,7 @@ endef
TARGET_DEVICES += wd_mynet-n750
define Device/wd_mynet-wifi-rangeextender
ATH_SOC := ar9344
SOC := ar9344
DEVICE_VENDOR := Western Digital
DEVICE_MODEL := My Net Wi-Fi Range Extender
DEVICE_PACKAGES := rssileds nvram -swconfig
@ -1013,16 +1089,17 @@ endef
TARGET_DEVICES += wd_mynet-wifi-rangeextender
define Device/winchannel_wb2000
ATH_SOC := ar9344
SOC := ar9344
DEVICE_VENDOR := Winchannel
DEVICE_MODEL := WB2000
IMAGE_SIZE := 15872k
DEVICE_PACKAGES := kmod-i2c-core kmod-i2c-gpio kmod-rtc-ds1307 kmod-usb2 kmod-usb-ledtrig-usbport
DEVICE_PACKAGES := kmod-i2c-core kmod-i2c-gpio kmod-rtc-ds1307 kmod-usb2 \
kmod-usb-ledtrig-usbport
endef
TARGET_DEVICES += winchannel_wb2000
define Device/xiaomi_mi-router-4q
ATH_SOC := qca9561
SOC := qca9561
DEVICE_VENDOR := Xiaomi
DEVICE_MODEL := Mi Router 4Q
IMAGE_SIZE := 14336k
@ -1030,7 +1107,7 @@ endef
TARGET_DEVICES += xiaomi_mi-router-4q
define Device/yuncore_a770
ATH_SOC := qca9531
SOC := qca9531
DEVICE_VENDOR := YunCore
DEVICE_MODEL := A770
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
@ -1041,7 +1118,7 @@ endef
TARGET_DEVICES += yuncore_a770
define Device/yuncore_a782
ATH_SOC := qca9563
SOC := qca9563
DEVICE_VENDOR := YunCore
DEVICE_MODEL := A782
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
@ -1052,7 +1129,7 @@ endef
TARGET_DEVICES += yuncore_a782
define Device/yuncore_xd4200
ATH_SOC := qca9563
SOC := qca9563
DEVICE_VENDOR := YunCore
DEVICE_MODEL := XD4200
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
@ -1063,11 +1140,11 @@ endef
TARGET_DEVICES += yuncore_xd4200
define Device/zbtlink_zbt-wd323
ATH_SOC := ar9344
SOC := ar9344
DEVICE_VENDOR := ZBT
DEVICE_MODEL := WD323
IMAGE_SIZE := 16000k
DEVICE_PACKAGES := kmod-usb2 kmod-i2c-core kmod-i2c-gpio kmod-rtc-pcf8563 \
kmod-usb-serial kmod-usb-serial-cp210x uqmi
kmod-usb-serial kmod-usb-serial-cp210x uqmi
endef
TARGET_DEVICES += zbtlink_zbt-wd323

View File

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
LZMA_TEXT_START := 0x80a00000
LZMA_TEXT_START := 0x81800000
LOADADDR := 0x80060000
LOADER := loader.bin
LOADER_NAME := $(basename $(notdir $(LOADER)))
LOADER_DATA :=
LOADER_DATA :=
TARGET_DIR :=
FLASH_OFFS :=
FLASH_MAX :=

Some files were not shown because too many files have changed in this diff Show More