aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79
diff options
context:
space:
mode:
authorTomasz Maciej Nowak <tomek_n@o2.pl>2019-10-15 14:56:12 +0200
committerJohn Crispin <john@phrozen.org>2019-10-21 13:01:10 +0200
commit1bc921f419df508c57dc07cd3e43cdf0408c17dd (patch)
tree55ec0a0615affc20dcf800cb2e2561359a9a0368 /target/linux/ath79
parentf4f483f3ff7786052b414b0cdd19cf465c3ac7f7 (diff)
downloadupstream-1bc921f419df508c57dc07cd3e43cdf0408c17dd.tar.gz
upstream-1bc921f419df508c57dc07cd3e43cdf0408c17dd.tar.bz2
upstream-1bc921f419df508c57dc07cd3e43cdf0408c17dd.zip
ath79: add support for Sitecom WLR-7100
Sitecom WLR-7100 v1 002 (marketed as X7 AC1200) is a dual band wireless router. Specification SoC: Atheros AR1022 RAM: 64 MB DDR2 Flash: 8 MB SPI NOR WIFI: 2.4 GHz 2T2R integrated 5 GHz 2T2R QCA9882 integrated (connected to PCIe lane) Ethernet: 5x 10/100/1000 Mbps QCA8337N USB: 1x 2.0 LEDS: 4x GPIO controlled, 5x switch Buttons: 2x GPIO controlled UART: row of 4 unpopulated holes near USB port, starting count from white triangle on PCB 1. VCC 3.3V, 2. GND, 3. TX, 4. RX baud: 115200, parity: none, flow control: none Installation 1. Connect to one of LAN (yellow) ethernet ports, 2. Open router configuration interface, 3. Go to Toolbox > Firmware, 4. Browse for OpenWrt factory image with dlf extension and hit Apply, 5. Wait few minutes, after the Power LED will stop blinking, the router is ready for configuration. Known issues 5GHz LED doesn't work Additional information When TX line on UART is connected, and board is switched on from power off state, the DDR memory training may fail. If connected to UART, when prompted for number on boot, one can enter number 4 to open bootloader (U-Boot) command line. OEM firmware shell password is: SitecomSenao useful for creating backup of original firmware. There is also another revision of this device (v1 001), which may or may not work with introduced images. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
Diffstat (limited to 'target/linux/ath79')
-rwxr-xr-xtarget/linux/ath79/base-files/etc/board.d/02_network6
-rw-r--r--target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom3
-rw-r--r--target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata3
-rw-r--r--target/linux/ath79/dts/ar1022_sitecom_wlr-7100.dts171
-rw-r--r--target/linux/ath79/image/generic.mk14
5 files changed, 195 insertions, 2 deletions
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 fe74bddbf1..8e746d3970 100755
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -173,6 +173,7 @@ ath79_setup_interfaces()
iodata,wn-ac1600dgr2|\
iodata,wn-ag300dgr|\
pcs,cr5000|\
+ sitecom,wlr-7100|\
wd,mynet-n750)
ucidef_add_switch "switch0" \
"0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
@@ -409,6 +410,11 @@ ath79_setup_macs()
wan_mac=$(mtd_get_mac_binary factory 0x0)
lan_mac=$(macaddr_setbit_la "$wan_mac")
;;
+ sitecom,wlr-7100)
+ lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
+ wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
+ label_mac=$lan_mac
+ ;;
tplink,archer-a7-v5|\
tplink,archer-c7-v4|\
tplink,archer-c7-v5|\
diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
index 3240026aec..1caba14bf0 100644
--- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
+++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
@@ -34,7 +34,8 @@ case "$FIRMWARE" in
iodata,wn-ac1167dgr|\
iodata,wn-ac1600dgr|\
iodata,wn-ac1600dgr2|\
- iodata,wn-ag300dgr)
+ iodata,wn-ag300dgr|\
+ sitecom,wlr-7100)
caldata_extract "art" 0x1000 0x440
ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env ethaddr)
;;
diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index 8ab0f6f6ad..b2ec803a72 100644
--- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -37,7 +37,8 @@ case "$FIRMWARE" in
;;
engenius,epg5000|\
iodata,wn-ac1167dgr|\
- iodata,wn-ac1600dgr2)
+ iodata,wn-ac1600dgr2|\
+ sitecom,wlr-7100)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) +1)
;;
diff --git a/target/linux/ath79/dts/ar1022_sitecom_wlr-7100.dts b/target/linux/ath79/dts/ar1022_sitecom_wlr-7100.dts
new file mode 100644
index 0000000000..8a70b597b0
--- /dev/null
+++ b/target/linux/ath79/dts/ar1022_sitecom_wlr-7100.dts
@@ -0,0 +1,171 @@
+// 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 "ar9344.dtsi"
+
+/ {
+ model = "Sitecom WLR-7100 v1 002 (X7 AC1200)";
+ compatible = "sitecom,wlr-7100", "qca,ar9344";
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+ led-upgrade = &power;
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ wlan2g {
+ label = "2.4GHz";
+ gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wlan5g {
+ label = "5GHz";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ ops {
+ label = "wlr-7100:white:ops";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+ };
+
+ power: power {
+ label = "wlr-7100:amber:power";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+
+ wlan2g {
+ label = "wlr-7100:blue:wlan2g";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy1tpt";
+ };
+ };
+};
+
+&eth0 {
+ status = "okay";
+
+ pll-data = <0x06000000 0x00000101 0x00001616>;
+
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+
+ gmac-config {
+ device = <&gmac>;
+ rgmii-gmac0 = <1>;
+ };
+};
+
+&mdio0 {
+ status = "okay";
+
+ phy0: ethernet-phy@0 {
+ reg = <0>;
+ phy-mode = "rgmii";
+
+ qca,ar8327-initvals = <
+ 0x04 0x87a00000 /* PORT0 PAD Mode */
+ 0x0c 0x01000000 /* PORT6 PAD Mode */
+ 0x10 0x80000000 /* PWS_REG_VALUE */
+ 0x7c 0x000000fe /* PORT0_STATUS */
+ 0x94 0x000000fe /* PORT6_STATUS */
+ >;
+ };
+};
+
+&pcie {
+ status = "okay";
+
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ };
+};
+
+&ref {
+ clock-frequency = <25000000>;
+};
+
+&spi {
+ num-cs = <1>;
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <25000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x000000 0x030000>;
+ read-only;
+ };
+
+ uenv: partition@30000 {
+ label = "u-boot-env";
+ reg = <0x030000 0x010000>;
+ read-only;
+ };
+
+ partition@40000 {
+ compatible = "denx,uimage";
+ label = "firmware";
+ reg = <0x040000 0x750000>;
+ };
+
+ partition@790000 {
+ label = "backup";
+ reg = <0x790000 0x010000>;
+ read-only;
+ };
+
+ partition@7a0000 {
+ label = "storage";
+ reg = <0x7a0000 0x050000>;
+ read-only;
+ };
+
+ art: partition@7f0000 {
+ label = "art";
+ reg = <0x7f0000 0x010000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&uart {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&wmac {
+ status = "okay";
+
+ qca,no-eeprom;
+};
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index acb1ab4b0b..e82e125166 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -931,6 +931,20 @@ define Device/rosinson_wr818
endef
TARGET_DEVICES += rosinson_wr818
+define Device/sitecom_wlr-7100
+ ATH_SOC := ar1022
+ DEVICE_VENDOR := Sitecom
+ DEVICE_MODEL := WLR-7100
+ DEVICE_VARIANT := v1 002
+ DEVICE_PACKAGES := ath10k-firmware-qca988x kmod-ath10k kmod-usb2
+ IMAGES += factory.dlf
+ IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
+ append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
+ senao-header -r 0x222 -p 0x53 -t 2
+ IMAGE_SIZE := 7488k
+endef
+TARGET_DEVICES += sitecom_wlr-7100
+
define Device/trendnet_tew-823dru
ATH_SOC := qca9558
DEVICE_VENDOR := Trendnet