bcm53xx: add support for TP-LINK Archer C5 V2
authorRafał Miłecki <rafal@milecki.pl>
Sun, 21 May 2017 15:41:41 +0000 (17:41 +0200)
committerRafał Miłecki <rafal@milecki.pl>
Sun, 21 May 2017 16:31:38 +0000 (18:31 +0200)
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>
target/linux/bcm53xx/image/Makefile
target/linux/bcm53xx/patches-4.4/320-ARM-dts-BCM5301X-Add-serial-to-the-bootargs.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-4.4/901-mtd-bcm47xxpart-add-device-specific-workarounds.patch
target/linux/bcm53xx/patches-4.9/320-ARM-dts-BCM5301X-Add-serial-to-the-bootargs.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-4.9/900-mtd-bcm47xxpart-add-device-specific-workarounds.patch

index d5dfe22c1d9317560f2f085608dc033824243b93..d3be634525f1f20c98a48b0b8b397f50d333eb71 100644 (file)
@@ -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 (file)
index 0000000..171e6b3
--- /dev/null
@@ -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 {
index 0ffa82f86909ef9e2bcee7c3bc2a25216a1c7542..0223ab477628fbd7e2f42041ef7327b30b0f400c 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
  
  #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;
                }
  
@@ -33,6 +33,14 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
 +                       */
 +                      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 (file)
index 0000000..171e6b3
--- /dev/null
@@ -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 {
index 0ffa82f86909ef9e2bcee7c3bc2a25216a1c7542..0223ab477628fbd7e2f42041ef7327b30b0f400c 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
  
  #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;
                }
  
@@ -33,6 +33,14 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
 +                       */
 +                      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