diff mbox series

[OpenWrt-Devel] ath79: add support for TP-Link Archer C7 v1

Message ID 20180817163632.15310-1-chunkeey@gmail.com
State Accepted
Delegated to: Mathias Kresin
Headers show
Series [OpenWrt-Devel] ath79: add support for TP-Link Archer C7 v1 | expand

Commit Message

Christian Lamparter Aug. 17, 2018, 4:36 p.m. UTC
TP-Link Archer C7 v1 is a dual band router
based on Qualcomm/Atheros QCA9558 + QCA9880.

Specification:

 - 720 MHz CPU
 - 128 MB of RAM (Various chips)
 - 8 MB of FLASH (Various chips)
 - SoC QCA9558 integrated 3T3R 2.4 GHz Wi-Fi
 - minipcie slot with 3T3R 5 GHz QCA9880-AR1A (unsupported by ath10k!)
 - 5x 10/100/1000 Mbps Ethernet (AR8327N Switch)
 - 10x LEDs, 2x software buttons

For further informwation on the device, visit the wiki:
<https://openwrt.org/toh/tp-link/archer-c7-1750>

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
---
 .../ath79/base-files/etc/board.d/02_network   |  1 +
 .../ath79/dts/qca9558_tplink_archer-c7-v1.dts | 46 +++++++++++++++++++
 target/linux/ath79/image/generic-tp-link.mk   |  9 ++++
 3 files changed, 56 insertions(+)
 create mode 100644 target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts

Comments

Mathias Kresin Aug. 17, 2018, 9:10 p.m. UTC | #1
17.08.2018 18:36, Christian Lamparter:
> TP-Link Archer C7 v1 is a dual band router
> based on Qualcomm/Atheros QCA9558 + QCA9880.
> 
> Specification:
> 
>   - 720 MHz CPU
>   - 128 MB of RAM (Various chips)
>   - 8 MB of FLASH (Various chips)
>   - SoC QCA9558 integrated 3T3R 2.4 GHz Wi-Fi
>   - minipcie slot with 3T3R 5 GHz QCA9880-AR1A (unsupported by ath10k!)
>   - 5x 10/100/1000 Mbps Ethernet (AR8327N Switch)
>   - 10x LEDs, 2x software buttons
> 
> For further informwation on the device, visit the wiki:
> <https://openwrt.org/toh/tp-link/archer-c7-1750>
> 
> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
> ---
>   .../ath79/base-files/etc/board.d/02_network   |  1 +
>   .../ath79/dts/qca9558_tplink_archer-c7-v1.dts | 46 +++++++++++++++++++
>   target/linux/ath79/image/generic-tp-link.mk   |  9 ++++
>   3 files changed, 56 insertions(+)
>   create mode 100644 target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts
> 
> diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network
> index 9e31be40f9..0d33549890 100755
> --- a/target/linux/ath79/base-files/etc/board.d/02_network
> +++ b/target/linux/ath79/base-files/etc/board.d/02_network
> @@ -81,6 +81,7 @@ ath79_setup_interfaces()
>   		ucidef_add_switch "switch0" \
>   			"0@eth0" "3:lan:1" "5:lan:2" "4:wan"
>   		;;
> +	tplink,archer-c7-v1|\
>   	tplink,archer-c7-v2|\
>   	tplink,tl-wdr4900-v2)
>   		ucidef_add_switch "switch0" \
> diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts b/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts
> new file mode 100644
> index 0000000000..3d7713f675
> --- /dev/null
> +++ b/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts
> @@ -0,0 +1,46 @@
> +// 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 "qca9558_tplink_archer-c7.dtsi"
> +
> +/ {
> +	compatible = "tplink,archer-c7-v1", "qca,qca9558";
> +	model = "TP-Link Archer C7 Version 1";
> +};
> +
> +&gpio_keys {
> +	rfkill {
> +		gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
> +		linux,code = <KEY_RFKILL>;
> +		linux,input-type = <EV_SW>;
> +		debounce-interval = <60>;
> +	};
> +};
> +
> +&gpio_leds {
> +	wlan5g {
> +		label = "tp-link:green:wlan5g";
> +		gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
> +		default-state = "off";
> +		linux,default-trigger = "phy0tpt";
> +	};
> +};
> +
> +&mtdparts {
> +	uboot: u-boot@0 {
> +		reg = <0x000000 0x020000>;
> +		read-only;
> +	};
> +
> +	firmware@20000 {
> +		reg = <0x020000 0x7d0000>;
> +	};
> +
> +	art: art@ff0000 {
> +		reg = <0x7f0000 0x010000>;

Just to make sure, it's the unit address and not the reg which is wrong?

No need to send a v2, I'll fix it prior to merging the commit.


Mathias
Joel Wirāmu Pauling Aug. 17, 2018, 9:24 p.m. UTC | #2
Just a question on this particular MiniPCIE;

having pulled one of my broken C7's apart (due to shorting 5v on the
MCU) and placed the wireless card (which is oversized) into an x86 dev
board. I notice that atk10k fails due to missing board.bin ; googling
shows that this is some sort of radio tuning and is stored in the ARTS
portion of the mtd of the original device.

What is the correct way to obtain this file for use in this situation?
I Still have a number of working C7's ;

-Joel

On 18 August 2018 at 09:10, Mathias Kresin <dev@kresin.me> wrote:
> 17.08.2018 18:36, Christian Lamparter:
>
>> TP-Link Archer C7 v1 is a dual band router
>> based on Qualcomm/Atheros QCA9558 + QCA9880.
>>
>> Specification:
>>
>>   - 720 MHz CPU
>>   - 128 MB of RAM (Various chips)
>>   - 8 MB of FLASH (Various chips)
>>   - SoC QCA9558 integrated 3T3R 2.4 GHz Wi-Fi
>>   - minipcie slot with 3T3R 5 GHz QCA9880-AR1A (unsupported by ath10k!)
>>   - 5x 10/100/1000 Mbps Ethernet (AR8327N Switch)
>>   - 10x LEDs, 2x software buttons
>>
>> For further informwation on the device, visit the wiki:
>> <https://openwrt.org/toh/tp-link/archer-c7-1750>
>>
>> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
>> ---
>>   .../ath79/base-files/etc/board.d/02_network   |  1 +
>>   .../ath79/dts/qca9558_tplink_archer-c7-v1.dts | 46 +++++++++++++++++++
>>   target/linux/ath79/image/generic-tp-link.mk   |  9 ++++
>>   3 files changed, 56 insertions(+)
>>   create mode 100644
>> target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts
>>
>> diff --git a/target/linux/ath79/base-files/etc/board.d/02_network
>> b/target/linux/ath79/base-files/etc/board.d/02_network
>> index 9e31be40f9..0d33549890 100755
>> --- a/target/linux/ath79/base-files/etc/board.d/02_network
>> +++ b/target/linux/ath79/base-files/etc/board.d/02_network
>> @@ -81,6 +81,7 @@ ath79_setup_interfaces()
>>                 ucidef_add_switch "switch0" \
>>                         "0@eth0" "3:lan:1" "5:lan:2" "4:wan"
>>                 ;;
>> +       tplink,archer-c7-v1|\
>>         tplink,archer-c7-v2|\
>>         tplink,tl-wdr4900-v2)
>>                 ucidef_add_switch "switch0" \
>> diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts
>> b/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts
>> new file mode 100644
>> index 0000000000..3d7713f675
>> --- /dev/null
>> +++ b/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts
>> @@ -0,0 +1,46 @@
>> +// 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 "qca9558_tplink_archer-c7.dtsi"
>> +
>> +/ {
>> +       compatible = "tplink,archer-c7-v1", "qca,qca9558";
>> +       model = "TP-Link Archer C7 Version 1";
>> +};
>> +
>> +&gpio_keys {
>> +       rfkill {
>> +               gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
>> +               linux,code = <KEY_RFKILL>;
>> +               linux,input-type = <EV_SW>;
>> +               debounce-interval = <60>;
>> +       };
>> +};
>> +
>> +&gpio_leds {
>> +       wlan5g {
>> +               label = "tp-link:green:wlan5g";
>> +               gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
>> +               default-state = "off";
>> +               linux,default-trigger = "phy0tpt";
>> +       };
>> +};
>> +
>> +&mtdparts {
>> +       uboot: u-boot@0 {
>> +               reg = <0x000000 0x020000>;
>> +               read-only;
>> +       };
>> +
>> +       firmware@20000 {
>> +               reg = <0x020000 0x7d0000>;
>> +       };
>> +
>> +       art: art@ff0000 {
>> +               reg = <0x7f0000 0x010000>;
>
>
> Just to make sure, it's the unit address and not the reg which is wrong?
>
> No need to send a v2, I'll fix it prior to merging the commit.
>
>
> Mathias
>
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Christian Lamparter Aug. 17, 2018, 9:29 p.m. UTC | #3
On Friday, August 17, 2018 11:10:59 PM CEST Mathias Kresin wrote:
> 17.08.2018 18:36, Christian Lamparter:
> > TP-Link Archer C7 v1 is a dual band router
> > based on Qualcomm/Atheros QCA9558 + QCA9880.
> > 
> > Specification:
> > 
> >   - 720 MHz CPU
> >   - 128 MB of RAM (Various chips)
> >   - 8 MB of FLASH (Various chips)
> >   - SoC QCA9558 integrated 3T3R 2.4 GHz Wi-Fi
> >   - minipcie slot with 3T3R 5 GHz QCA9880-AR1A (unsupported by ath10k!)
> >   - 5x 10/100/1000 Mbps Ethernet (AR8327N Switch)
> >   - 10x LEDs, 2x software buttons
> > 
> > For further informwation on the device, visit the wiki:
> > <https://openwrt.org/toh/tp-link/archer-c7-1750>
> > 
> > Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
> > ---
> > +&mtdparts {
> > +	uboot: u-boot@0 {
> > +		reg = <0x000000 0x020000>;
> > +		read-only;
> > +	};
> > +
> > +	firmware@20000 {
> > +		reg = <0x020000 0x7d0000>;
> > +	};
> > +
> > +	art: art@ff0000 {
> > +		reg = <0x7f0000 0x010000>;
> 
> Just to make sure, it's the unit address and not the reg which is wrong?
yes, the unit address is a copy&paste remain from the v2. The v1(.1) only
has 8 MiB of flash and the node should be:

	art: art@7f0000 {
		reg = <0x7f0000 0x010000>;
		read-only;
	};

> No need to send a v2, I'll fix it prior to merging the commit.
Thanks.

Christian
diff mbox series

Patch

diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network
index 9e31be40f9..0d33549890 100755
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -81,6 +81,7 @@  ath79_setup_interfaces()
 		ucidef_add_switch "switch0" \
 			"0@eth0" "3:lan:1" "5:lan:2" "4:wan"
 		;;
+	tplink,archer-c7-v1|\
 	tplink,archer-c7-v2|\
 	tplink,tl-wdr4900-v2)
 		ucidef_add_switch "switch0" \
diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts b/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts
new file mode 100644
index 0000000000..3d7713f675
--- /dev/null
+++ b/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts
@@ -0,0 +1,46 @@ 
+// 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 "qca9558_tplink_archer-c7.dtsi"
+
+/ {
+	compatible = "tplink,archer-c7-v1", "qca,qca9558";
+	model = "TP-Link Archer C7 Version 1";
+};
+
+&gpio_keys {
+	rfkill {
+		gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+		linux,code = <KEY_RFKILL>;
+		linux,input-type = <EV_SW>;
+		debounce-interval = <60>;
+	};
+};
+
+&gpio_leds {
+	wlan5g {
+		label = "tp-link:green:wlan5g";
+		gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
+		default-state = "off";
+		linux,default-trigger = "phy0tpt";
+	};
+};
+
+&mtdparts {
+	uboot: u-boot@0 {
+		reg = <0x000000 0x020000>;
+		read-only;
+	};
+
+	firmware@20000 {
+		reg = <0x020000 0x7d0000>;
+	};
+
+	art: art@ff0000 {
+		reg = <0x7f0000 0x010000>;
+		read-only;
+	};
+};
diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk
index 4c85099a1a..926c3cb618 100644
--- a/target/linux/ath79/image/generic-tp-link.mk
+++ b/target/linux/ath79/image/generic-tp-link.mk
@@ -1,5 +1,14 @@ 
 include ./common-tp-link.mk
 
+define Device/tplink_archer-c7-v1
+  $(Device/tplink-8mlzma)
+  ATH_SOC := qca9558
+  DEVICE_TITLE := TP-LINK Archer C7 v1
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k ath10k-firmware-qca988x
+  TPLINK_HWID := 0x75000001
+endef
+TARGET_DEVICES += tplink_archer-c7-v1
+
 define Device/tplink_archer-c7-v2
   $(Device/tplink-16mlzma)
   ATH_SOC := qca9558