bcm53xx: add support for TP-LINK Archer C5 V2

This model also contains few partitions non-discoverable partitions we
need to "protect". Othen than that it uses non-deprecated serial entry
in DTS that doesn't work with LEDE so we need to workaround it as well.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
This commit is contained in:
Rafał Miłecki 2017-05-21 17:41:41 +02:00
parent c7ee30d53a
commit 0a05fbd135
5 changed files with 71 additions and 3 deletions

View File

@ -323,7 +323,7 @@ define Device/tplink-archer-c5-v2
IMAGE/bin := append-rootfs | bcm53xx-tplink-safeloader IMAGE/bin := append-rootfs | bcm53xx-tplink-safeloader
TPLINK_BOARD := ARCHER-C5-V2 TPLINK_BOARD := ARCHER-C5-V2
endef endef
# TARGET_DEVICES += tplink-archer-c5-v2 TARGET_DEVICES += tplink-archer-c5-v2
define Device/tplink-archer-c9-v1 define Device/tplink-archer-c9-v1
DEVICE_TITLE := TP-LINK Archer C9 V1 DEVICE_TITLE := TP-LINK Archer C9 V1

View File

@ -0,0 +1,26 @@
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
Subject: [PATCH] ARM: dts: BCM5301X: Add serial= to the bootargs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
It's enough to have proper stdout-path for getting serial working but
for some reason LEDE doesn't offer "Please press Enter to activate this
console." unless ttyS0 is specified.
This is a workaround to get serial working in LEDE.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
--- a/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
+++ b/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
@@ -13,7 +13,7 @@
model = "TP-LINK Archer C5 V2";
chosen {
- bootargs = "earlycon";
+ bootargs = "console=ttyS0,115200 earlycon";
};
memory {

View File

@ -17,7 +17,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
#include <uapi/linux/magic.h> #include <uapi/linux/magic.h>
@@ -249,6 +250,28 @@ static int bcm47xxpart_parse(struct mtd_ @@ -249,6 +250,36 @@ static int bcm47xxpart_parse(struct mtd_
break; break;
} }
@ -33,6 +33,14 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+ */ + */
+ bcm47xxpart_add_part(&parts[curr_part++], "asus", offset, MTD_WRITEABLE); + bcm47xxpart_add_part(&parts[curr_part++], "asus", offset, MTD_WRITEABLE);
+ continue; + continue;
+ } else if (of_machine_is_compatible("tplink,archer-c5-v2") && offset == 0xe40000) {
+ /*
+ * There is a whole set of partitions (not even listed
+ * by original firmware): "default-mac", "pin",
+ * "partition-table", etc.
+ */
+ bcm47xxpart_add_part(&parts[curr_part++], "tplink", offset, MTD_WRITEABLE);
+ continue;
+ } else if (of_machine_is_compatible("tplink,archer-c9-v1") && offset == 0xe40000) { + } else if (of_machine_is_compatible("tplink,archer-c9-v1") && offset == 0xe40000) {
+ /* + /*
+ * There is a whole set of partitions (not even listed + * There is a whole set of partitions (not even listed

View File

@ -0,0 +1,26 @@
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
Subject: [PATCH] ARM: dts: BCM5301X: Add serial= to the bootargs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
It's enough to have proper stdout-path for getting serial working but
for some reason LEDE doesn't offer "Please press Enter to activate this
console." unless ttyS0 is specified.
This is a workaround to get serial working in LEDE.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
--- a/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
+++ b/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
@@ -13,7 +13,7 @@
model = "TP-LINK Archer C5 V2";
chosen {
- bootargs = "earlycon";
+ bootargs = "console=ttyS0,115200 earlycon";
};
memory {

View File

@ -17,7 +17,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
#include <uapi/linux/magic.h> #include <uapi/linux/magic.h>
@@ -249,6 +250,28 @@ static int bcm47xxpart_parse(struct mtd_ @@ -249,6 +250,36 @@ static int bcm47xxpart_parse(struct mtd_
break; break;
} }
@ -33,6 +33,14 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+ */ + */
+ bcm47xxpart_add_part(&parts[curr_part++], "asus", offset, MTD_WRITEABLE); + bcm47xxpart_add_part(&parts[curr_part++], "asus", offset, MTD_WRITEABLE);
+ continue; + continue;
+ } else if (of_machine_is_compatible("tplink,archer-c5-v2") && offset == 0xe40000) {
+ /*
+ * There is a whole set of partitions (not even listed
+ * by original firmware): "default-mac", "pin",
+ * "partition-table", etc.
+ */
+ bcm47xxpart_add_part(&parts[curr_part++], "tplink", offset, MTD_WRITEABLE);
+ continue;
+ } else if (of_machine_is_compatible("tplink,archer-c9-v1") && offset == 0xe40000) { + } else if (of_machine_is_compatible("tplink,archer-c9-v1") && offset == 0xe40000) {
+ /* + /*
+ * There is a whole set of partitions (not even listed + * There is a whole set of partitions (not even listed