ath79: add support for TP-Link TL-WPA8630P (EU) v2.1

This adds support for the TP-Link TL-WPA8630P (EU) in its v2.1
version. The only unique aspect for the firmware compared to v2
layout is the partition layout.

Note that while the EU version has different partitioning for
v2.0 and v2.1, the v2.1 (AU) is supported by the v2-int image.

If you plan to use this device, make sure you have a look at
the Wiki page to check whether the device is supported and
which image needs to be taken.

Specifications
--------------

  - QCA9563 750MHz, 2.4GHz WiFi
  - QCA9888 5GHz WiFi
  - 8MiB SPI Flash
  - 128MiB RAM
  - 3 GBit Ports (QCA8337)
  - PLC (QCA7550)

Installation
------------

Installation is possible from the OEM web interface. Make sure to
install the latest OEM firmware first, so that the PLC firmware is
at the latest version. However, please also check the Wiki page
for hints according to altered partitioning between OEM firmware
revisions.

Notes
-----

The OEM firmware has 0x620000 to 0x680000 unassigned, so we leave
this empty as well. It is complicated enough already ...

Signed-off-by: Joe Mullally <jwmullally@gmail.com>
[improve partitions, use v2 DTSI, add entry in 02_network, rewrite
and extend commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
Joe Mullally 2020-09-12 19:46:28 +01:00 committed by Adrian Schmutzler
parent 4950071d30
commit 7422c7a6fa
10 changed files with 91 additions and 10 deletions

View File

@ -8,6 +8,12 @@
};
&partitions {
partition@620000 {
label = "partition-table";
reg = <0x620000 0x010000>;
read-only;
};
info: partition@630000 {
label = "info";
reg = <0x630000 0x010000>;

View File

@ -8,6 +8,12 @@
};
&partitions {
partition@620000 {
label = "partition-table";
reg = <0x620000 0x010000>;
read-only;
};
partition@630000 {
label = "tplink";
reg = <0x630000 0x1b0000>;

View File

@ -0,0 +1,30 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "qca9563_tplink_tl-wpa8630p-v2.dtsi"
/ {
compatible = "tplink,tl-wpa8630p-v2.1-eu", "qca,qca9563";
model = "TP-Link WPA8630P v2.1 (EU)";
};
&partitions {
/* 0x620000 to 0x680000 is empty in OEM partitioning */
partition@680000 {
label = "tplink";
reg = <0x680000 0x160000>;
read-only;
};
info: partition@7e0000 {
label = "info";
reg = <0x7e0000 0x010000>;
read-only;
};
art: partition@7f0000 {
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
};
};

View File

@ -26,12 +26,6 @@
label = "firmware";
reg = <0x040000 0x5e0000>;
};
partition@620000 {
label = "partition-table";
reg = <0x620000 0x010000>;
read-only;
};
};
&eth0 {

View File

@ -324,7 +324,8 @@ tplink,tl-mr6400-v1)
;;
tplink,tl-wpa8630-v1|\
tplink,tl-wpa8630p-v2-eu|\
tplink,tl-wpa8630p-v2-int)
tplink,tl-wpa8630p-v2-int|\
tplink,tl-wpa8630p-v2.1-eu)
ucidef_set_led_switch "lan" "LAN" "green:lan" "switch0" "0x3c"
;;
tplink,tl-wr842n-v2)

View File

@ -324,7 +324,8 @@ ath79_setup_interfaces()
;;
tplink,tl-wpa8630-v1|\
tplink,tl-wpa8630p-v2-eu|\
tplink,tl-wpa8630p-v2-int)
tplink,tl-wpa8630p-v2-int|\
tplink,tl-wpa8630p-v2.1-eu)
# port 5 (internal) is the power-line port
ucidef_add_switch "switch0" \
"0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "5:lan:4"

View File

@ -198,7 +198,8 @@ case "$FIRMWARE" in
;;
tplink,eap225-wall-v2|\
tplink,tl-wpa8630p-v2-eu|\
tplink,tl-wpa8630p-v2-int)
tplink,tl-wpa8630p-v2-int|\
tplink,tl-wpa8630p-v2.1-eu)
caldata_extract "art" 0x5000 0x2f20
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) +1)
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \

View File

@ -564,6 +564,13 @@ define Device/tplink_tl-wpa8630p-v2-int
endef
TARGET_DEVICES += tplink_tl-wpa8630p-v2-int
define Device/tplink_tl-wpa8630p-v2.1-eu
$(Device/tplink_tl-wpa8630p-v2)
DEVICE_VARIANT := v2.1 (EU)
TPLINK_BOARD_ID := TL-WPA8630P-V2.1-EU
endef
TARGET_DEVICES += tplink_tl-wpa8630p-v2.1-eu
define Device/tplink_tl-wr1043nd-v1
$(Device/tplink-8m)
SOC := ar9132

View File

@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME := firmware-utils
PKG_RELEASE := 3
PKG_RELEASE := 4
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/kernel.mk

View File

@ -1513,6 +1513,41 @@ static struct device_info boards[] = {
.last_sysupgrade_partition = "file-system"
},
/** Firmware layout for the TL-WPA8630P v2.1 (EU)*/
{
.id = "TL-WPA8630P-V2.1-EU",
.vendor = "",
.support_list =
"SupportList:\n"
"{product_name:TL-WPA8630P,product_ver:2.1.0,special_id:45550000}\n",
.support_trail = '\x00',
.soft_ver = NULL,
.partitions = {
{"factory-uboot", 0x00000, 0x20000},
{"fs-uboot", 0x20000, 0x20000},
{"firmware", 0x40000, 0x5e0000},
{"extra-para", 0x680000, 0x01000},
{"product-info", 0x690000, 0x01000},
{"partition-table", 0x6a0000, 0x02000},
{"soft-version", 0x6b0000, 0x01000},
{"support-list", 0x6b1000, 0x01000},
{"profile", 0x6b2000, 0x08000},
{"user-config", 0x6c0000, 0x10000},
{"default-config", 0x6d0000, 0x10000},
{"default-nvm", 0x6e0000, 0xc0000},
{"default-pib", 0x7a0000, 0x40000},
{"default-mac", 0x7e0000, 0x00020},
{"pin", 0x7e0100, 0x00020},
{"device-id", 0x7e0200, 0x00030},
{"radio", 0x7f0000, 0x10000},
{NULL, 0, 0}
},
.first_sysupgrade_partition = "os-image",
.last_sysupgrade_partition = "file-system"
},
/** Firmware layout for the TL-WR1043 v5 */
{
.id = "TLWR1043NV5",