ramips: add support for TP-Link Archer C2
Specification: - System-On-Chip: MT7620A - CPU/Speed: 580 MHz - Flash-Chip: Winbond 25Q64BVSIG - Flash size: 8192 KiB - RAM: 64 MiB - Wireless No1: SoC-integrated: MT7620A 2.4GHz 802.11bgn - Wireless No2: On-board chip: MT7610EN 5GHz 802.11ac - Switch: RTL8367RB Gigabit Switch - USB: Yes 1 x 2.0 Preparing a TFTP recovery image for initial flashing: Currently the only method to install openwrt for the first time is via TFTP download in u-boot. After first install you can use regular updates. WARNING: This method also overwrites the bootloader partition! Create a TFTP recovery image: 1) Download a stock TP-Link Firmware file here: https://www.tp-link.com/en/download/Archer-C2_V1.html#Firmware 2) Extract u-boot from the binary file: #> dd if=c2v1_stock_firmware.bin of=c2v1_uboot.bin bs=1 skip=512 count=131072 3) Now merge the sysupgrade image and the u-boot into one binary: #> cat c2v1_uboot.bin openwrt-squashfs-sysupgrade.bin > ArcherC2V1_tp_recovery.bin The resulting image can be flashed via TFTP recovery mode. Flash instructions: 1) To flash the recovery image, start a TFTP server from IP address 192.168.0.66 and serve the recovery image named ArcherC2V1_tp_recovery.bin. 2) Connect your device to the LAN port, then press the WPS/Reset button and power it up. Keep pressing the WPS/Reset button for 10 seconds. It will try to download the recovery image and flash it. It can take up to 20-25 minutes to finish. When it reaches 100%, the router will reboot itself. Signed-off-by: Serge Vasilugin <vasilugin@yandex.ru> Signed-off-by: Franz Flasch <franz.flasch@gmx.at>
This commit is contained in:
parent
abb7524683
commit
8375623a06
6 changed files with 202 additions and 0 deletions
|
@ -398,6 +398,12 @@ tl-wr841n-v13)
|
||||||
ucidef_set_led_switch "lan4" "lan4" "$boardname:green:lan4" "switch0" "0x10"
|
ucidef_set_led_switch "lan4" "lan4" "$boardname:green:lan4" "switch0" "0x10"
|
||||||
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
|
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
|
||||||
;;
|
;;
|
||||||
|
tplink,c2-v1)
|
||||||
|
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch1" "0x1e"
|
||||||
|
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch1" "0x01"
|
||||||
|
set_usb_led "$boardname:green:usb" "2-1"
|
||||||
|
set_wifi_led "$boardname:green:wlan"
|
||||||
|
;;
|
||||||
tplink,c20-v1)
|
tplink,c20-v1)
|
||||||
ucidef_set_led_switch "lan" "lan" "$boardname:blue:lan" "switch0" "0x1e"
|
ucidef_set_led_switch "lan" "lan" "$boardname:blue:lan" "switch0" "0x1e"
|
||||||
ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x01"
|
ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x01"
|
||||||
|
|
|
@ -335,6 +335,10 @@ ramips_setup_interfaces()
|
||||||
ucidef_add_switch "switch0" \
|
ucidef_add_switch "switch0" \
|
||||||
"1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
|
"1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
|
||||||
;;
|
;;
|
||||||
|
tplink,c2-v1)
|
||||||
|
ucidef_add_switch "switch1" \
|
||||||
|
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
|
||||||
|
;;
|
||||||
tplink,tl-wr902ac-v3)
|
tplink,tl-wr902ac-v3)
|
||||||
ucidef_add_switch "switch0" \
|
ucidef_add_switch "switch0" \
|
||||||
"4:lan" "6@eth0"
|
"4:lan" "6@eth0"
|
||||||
|
|
|
@ -79,6 +79,7 @@ get_status_led() {
|
||||||
awapn2403|\
|
awapn2403|\
|
||||||
dir-645|\
|
dir-645|\
|
||||||
sk-wb8|\
|
sk-wb8|\
|
||||||
|
tplink,c2-v1|\
|
||||||
wrh-300cr)
|
wrh-300cr)
|
||||||
status_led="$boardname:green:wps"
|
status_led="$boardname:green:wps"
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -253,6 +253,7 @@ platform_check_image() {
|
||||||
c20i|\
|
c20i|\
|
||||||
c50|\
|
c50|\
|
||||||
mr200|\
|
mr200|\
|
||||||
|
tplink,c2-v1|\
|
||||||
tplink,c20-v1|\
|
tplink,c20-v1|\
|
||||||
tplink,c20-v4|\
|
tplink,c20-v4|\
|
||||||
tplink,c50-v3|\
|
tplink,c50-v3|\
|
||||||
|
|
178
target/linux/ramips/dts/ArcherC2-v1.dts
Normal file
178
target/linux/ramips/dts/ArcherC2-v1.dts
Normal file
|
@ -0,0 +1,178 @@
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
/include/ "mt7620a.dtsi"
|
||||||
|
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
compatible = "tplink,c2-v1", "ralink,mt7620a-soc";
|
||||||
|
model = "TP-Link Archer C2 v1";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
bootargs = "console=ttyS0,115200";
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl {
|
||||||
|
state_default: pinctrl0 {
|
||||||
|
gpio {
|
||||||
|
ralink,group = "i2c", "uartf", "wled", "ephy", "spi refclk";
|
||||||
|
ralink,function = "gpio";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
lan {
|
||||||
|
label = "c2-v1:green:lan";
|
||||||
|
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
usb {
|
||||||
|
label = "c2-v1:green:usb";
|
||||||
|
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
wps {
|
||||||
|
label = "c2-v1:green:wps";
|
||||||
|
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
wan {
|
||||||
|
label = "c2-v1:green:wan";
|
||||||
|
gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
wlan {
|
||||||
|
label = "c2-v1:green:wlan";
|
||||||
|
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
reset_wps {
|
||||||
|
label = "reset_wps";
|
||||||
|
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,code = <KEY_RESTART>;
|
||||||
|
};
|
||||||
|
|
||||||
|
rfkill {
|
||||||
|
label = "rfkill";
|
||||||
|
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,code = <KEY_RFKILL>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
rtl8367rb {
|
||||||
|
compatible = "realtek,rtl8367b", "rtl8367b";
|
||||||
|
cpu_port = <6>;
|
||||||
|
realtek,extif1 = <1 0 1 1 1 1 1 1 2>;
|
||||||
|
mii-bus = <&mdio0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
m25p80@0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
compatible = "jedec,spi-nor";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <10000000>;
|
||||||
|
|
||||||
|
partition@0 {
|
||||||
|
label = "u-boot";
|
||||||
|
reg = <0x0 0x20000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@20000 {
|
||||||
|
label = "firmware";
|
||||||
|
reg = <0x20000 0x7a0000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@7c0000 {
|
||||||
|
label = "config";
|
||||||
|
reg = <0x7c0000 0x10000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
rom: partition@7d0000 {
|
||||||
|
label = "rom";
|
||||||
|
reg = <0x7d0000 0x10000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@7e0000 {
|
||||||
|
label = "romfile";
|
||||||
|
reg = <0x7e0000 0x10000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
radio: partition@7f0000 {
|
||||||
|
label = "radio";
|
||||||
|
reg = <0x7f0000 0x10000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ðernet {
|
||||||
|
status = "okay";
|
||||||
|
mtd-mac-address = <&rom 0xf100>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
|
||||||
|
|
||||||
|
port@5 {
|
||||||
|
status = "okay";
|
||||||
|
mediatek,fixed-link = <1000 1 1 1>;
|
||||||
|
phy-mode = "rgmii";
|
||||||
|
};
|
||||||
|
|
||||||
|
mdio0: mdio-bus {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
&gpio1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpio2 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpio3 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&wmac {
|
||||||
|
ralink,mtd-eeprom = <&radio 0>;
|
||||||
|
mtd-mac-address = <&rom 0xf100>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&ehci {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ohci {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pcie {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
pcie-bridge {
|
||||||
|
mt76@0,0 {
|
||||||
|
reg = <0x0000 0 0 0 0>;
|
||||||
|
device_type = "pci";
|
||||||
|
mediatek,mtd-eeprom = <&radio 0x8000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -472,6 +472,18 @@ define Device/tiny-ac
|
||||||
endef
|
endef
|
||||||
TARGET_DEVICES += tiny-ac
|
TARGET_DEVICES += tiny-ac
|
||||||
|
|
||||||
|
define Device/tplink_c2-v1
|
||||||
|
$(Device/Archer)
|
||||||
|
DTS := ArcherC2-v1
|
||||||
|
TPLINK_FLASHLAYOUT := 8Mmtk
|
||||||
|
TPLINK_HWID := 0xc7500001
|
||||||
|
TPLINK_HWREV := 50
|
||||||
|
IMAGES += factory.bin
|
||||||
|
DEVICE_TITLE := TP-Link Archer C2 v1
|
||||||
|
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport kmod-switch-rtl8366-smi kmod-switch-rtl8367b
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += tplink_c2-v1
|
||||||
|
|
||||||
define Device/tplink_c20-v1
|
define Device/tplink_c20-v1
|
||||||
$(Device/Archer)
|
$(Device/Archer)
|
||||||
DTS := ArcherC20v1
|
DTS := ArcherC20v1
|
||||||
|
|
Loading…
Reference in a new issue