From 0a05fbd1356631a1f903adcd63ffb05550537667 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Sun, 21 May 2017 17:41:41 +0200 Subject: [PATCH] bcm53xx: add support for TP-LINK Archer C5 V2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- target/linux/bcm53xx/image/Makefile | 2 +- ...-BCM5301X-Add-serial-to-the-bootargs.patch | 26 +++++++++++++++++++ ...part-add-device-specific-workarounds.patch | 10 ++++++- ...-BCM5301X-Add-serial-to-the-bootargs.patch | 26 +++++++++++++++++++ ...part-add-device-specific-workarounds.patch | 10 ++++++- 5 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 target/linux/bcm53xx/patches-4.4/320-ARM-dts-BCM5301X-Add-serial-to-the-bootargs.patch create mode 100644 target/linux/bcm53xx/patches-4.9/320-ARM-dts-BCM5301X-Add-serial-to-the-bootargs.patch diff --git a/target/linux/bcm53xx/image/Makefile b/target/linux/bcm53xx/image/Makefile index d5dfe22c1d93..d3be634525f1 100644 --- a/target/linux/bcm53xx/image/Makefile +++ b/target/linux/bcm53xx/image/Makefile @@ -323,7 +323,7 @@ define Device/tplink-archer-c5-v2 IMAGE/bin := append-rootfs | bcm53xx-tplink-safeloader TPLINK_BOARD := ARCHER-C5-V2 endef -# TARGET_DEVICES += tplink-archer-c5-v2 +TARGET_DEVICES += tplink-archer-c5-v2 define Device/tplink-archer-c9-v1 DEVICE_TITLE := TP-LINK Archer C9 V1 diff --git a/target/linux/bcm53xx/patches-4.4/320-ARM-dts-BCM5301X-Add-serial-to-the-bootargs.patch b/target/linux/bcm53xx/patches-4.4/320-ARM-dts-BCM5301X-Add-serial-to-the-bootargs.patch new file mode 100644 index 000000000000..171e6b3bbbcc --- /dev/null +++ b/target/linux/bcm53xx/patches-4.4/320-ARM-dts-BCM5301X-Add-serial-to-the-bootargs.patch @@ -0,0 +1,26 @@ +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= +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 +--- + +--- 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 { diff --git a/target/linux/bcm53xx/patches-4.4/901-mtd-bcm47xxpart-add-device-specific-workarounds.patch b/target/linux/bcm53xx/patches-4.4/901-mtd-bcm47xxpart-add-device-specific-workarounds.patch index 0ffa82f86909..0223ab477628 100644 --- a/target/linux/bcm53xx/patches-4.4/901-mtd-bcm47xxpart-add-device-specific-workarounds.patch +++ b/target/linux/bcm53xx/patches-4.4/901-mtd-bcm47xxpart-add-device-specific-workarounds.patch @@ -17,7 +17,7 @@ Signed-off-by: Rafał Miłecki #include -@@ -249,6 +250,28 @@ static int bcm47xxpart_parse(struct mtd_ +@@ -249,6 +250,36 @@ static int bcm47xxpart_parse(struct mtd_ break; } @@ -33,6 +33,14 @@ Signed-off-by: Rafał Miłecki + */ + bcm47xxpart_add_part(&parts[curr_part++], "asus", offset, MTD_WRITEABLE); + 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) { + /* + * There is a whole set of partitions (not even listed diff --git a/target/linux/bcm53xx/patches-4.9/320-ARM-dts-BCM5301X-Add-serial-to-the-bootargs.patch b/target/linux/bcm53xx/patches-4.9/320-ARM-dts-BCM5301X-Add-serial-to-the-bootargs.patch new file mode 100644 index 000000000000..171e6b3bbbcc --- /dev/null +++ b/target/linux/bcm53xx/patches-4.9/320-ARM-dts-BCM5301X-Add-serial-to-the-bootargs.patch @@ -0,0 +1,26 @@ +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= +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 +--- + +--- 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 { diff --git a/target/linux/bcm53xx/patches-4.9/900-mtd-bcm47xxpart-add-device-specific-workarounds.patch b/target/linux/bcm53xx/patches-4.9/900-mtd-bcm47xxpart-add-device-specific-workarounds.patch index 0ffa82f86909..0223ab477628 100644 --- a/target/linux/bcm53xx/patches-4.9/900-mtd-bcm47xxpart-add-device-specific-workarounds.patch +++ b/target/linux/bcm53xx/patches-4.9/900-mtd-bcm47xxpart-add-device-specific-workarounds.patch @@ -17,7 +17,7 @@ Signed-off-by: Rafał Miłecki #include -@@ -249,6 +250,28 @@ static int bcm47xxpart_parse(struct mtd_ +@@ -249,6 +250,36 @@ static int bcm47xxpart_parse(struct mtd_ break; } @@ -33,6 +33,14 @@ Signed-off-by: Rafał Miłecki + */ + bcm47xxpart_add_part(&parts[curr_part++], "asus", offset, MTD_WRITEABLE); + 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) { + /* + * There is a whole set of partitions (not even listed -- 2.30.2