aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79
diff options
context:
space:
mode:
authorSven Roederer <devel-sven@geroedel.de>2020-06-22 23:05:51 +0200
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-08-12 14:03:17 +0200
commitb2e1f7101d877ce09f8bcb1732b20168051116b6 (patch)
tree281dc442a1bdb73008a5cc3076b92cf83242862a /target/linux/ath79
parent7a705c067f729e1f6edf4945985ec4f5761ca0ab (diff)
downloadupstream-b2e1f7101d877ce09f8bcb1732b20168051116b6.tar.gz
upstream-b2e1f7101d877ce09f8bcb1732b20168051116b6.tar.bz2
upstream-b2e1f7101d877ce09f8bcb1732b20168051116b6.zip
ath79: add support for MikroTik RouterBOARD 921GS-5HPacD-15s
The MikroTik RouterBOARD 921GS-5HPacD-15s (mANTBox 15s) is an outdoor antenna for 5 GHz with an built-in router. This ports the board from ar71xx. See https://mikrotik.com/product/RB921GS-5HPacD-15S for more info. Specifications: - SoC: Qualcomm Atheros QCA9558 (720 MHz) - RAM: 128 MB - Storage: 128 MB NAND - Wireless: external QCA9892 802.11a/ac 2x2:2 - Ethernet: 1x 1000/100/10 Mbps, integrated, via AR8031 PHY, passive PoE in - SFP: 1x host Working: - NAND storage detection - Ethernet - Wireless - 1x user LED (blinks during boot, sysupgrade) - Reset button - Sysupgrade Untested: - SFP cage (probably not working) Installation (untested): - Boot initramfs image via TFTP and then flash sysupgrade image As the embedded RB921-pcb is a stripped down version of the RB922 this patch adds a common dtsi for this series and includes this to the final dts-files. Signed-off-by: Sven Roederer <devel-sven@geroedel.de> [move ath10k-leds closer to ath10k definition in DTS files] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/ath79')
-rw-r--r--target/linux/ath79/dts/qca9558_mikrotik_routerboard-921gs-5hpacd-15s.dts30
-rw-r--r--target/linux/ath79/dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts126
-rw-r--r--target/linux/ath79/dts/qca9558_mikrotik_routerboard-92x.dtsi131
-rw-r--r--target/linux/ath79/image/mikrotik.mk9
-rwxr-xr-xtarget/linux/ath79/mikrotik/base-files/etc/board.d/02_network2
-rw-r--r--target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/11-ath10k-caldata1
-rw-r--r--target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh1
7 files changed, 175 insertions, 125 deletions
diff --git a/target/linux/ath79/dts/qca9558_mikrotik_routerboard-921gs-5hpacd-15s.dts b/target/linux/ath79/dts/qca9558_mikrotik_routerboard-921gs-5hpacd-15s.dts
new file mode 100644
index 0000000000..8cd0fa750f
--- /dev/null
+++ b/target/linux/ath79/dts/qca9558_mikrotik_routerboard-921gs-5hpacd-15s.dts
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "qca9558_mikrotik_routerboard-92x.dtsi"
+
+/ {
+ compatible = "mikrotik,routerboard-921gs-5hpacd-15s", "qca,qca9558";
+ model = "MikroTik RouterBOARD 921GS-5HPacD-15s";
+
+ ath10k-leds {
+ compatible = "gpio-leds";
+
+ wlan5g {
+ label = "mikrotik:green:wlan5g";
+ gpios = <&ath10k 0 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0tpt";
+ };
+ };
+};
+
+&pcie1 {
+ status = "okay";
+
+ ath10k: wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0 0 0 0 0>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+};
diff --git a/target/linux/ath79/dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts b/target/linux/ath79/dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts
index a3f42f87bf..92a1772e20 100644
--- a/target/linux/ath79/dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts
+++ b/target/linux/ath79/dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts
@@ -1,31 +1,12 @@
// 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 "qca955x.dtsi"
+#include "qca9558_mikrotik_routerboard-92x.dtsi"
/ {
compatible = "mikrotik,routerboard-922uags-5hpacd", "qca,qca9558";
model = "MikroTik RouterBOARD 922UAGS-5HPacD";
- aliases {
- led-boot = &led_user;
- led-failsafe = &led_user;
- led-upgrade = &led_user;
- serial0 = &uart;
- };
-
- leds {
- compatible = "gpio-leds";
-
- led_user: user {
- label = "mikrotik:green:user";
- gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
- };
- };
-
ath10k-leds {
compatible = "gpio-leds";
@@ -36,120 +17,15 @@
};
};
- keys {
- compatible = "gpio-keys";
-
- reset {
- label = "reset";
- linux,code = <KEY_RESTART>;
- gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
- debounce-interval = <60>;
- };
- };
-
gpio-export {
- compatible = "gpio-export";
-
gpio_usb_power {
gpio-export,name = "mikrotik:power:usb";
gpio-export,output = <0>;
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
};
-
- gpio_nand_power {
- gpio-export,name = "mikrotik:power:nand";
- gpio-export,output = <0>;
- gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
- };
- };
-};
-
-&mdio0 {
- status = "okay";
-
- phy4: ethernet-phy@4 {
- reg = <4>;
- };
-};
-
-&eth0 {
- status = "okay";
-
- phy-handle = <&phy4>;
- pll-data = <0x8f000000 0xa0000101 0xa0001313>;
-
- gmac-config {
- device = <&gmac>;
- rgmii-enabled = <1>;
};
};
-&spi {
- status = "okay";
-
- flash@0 {
- compatible = "jedec,spi-nor";
- reg = <0>;
- spi-max-frequency = <25000000>;
-
- partitions {
- compatible = "mikrotik,routerboot-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- partition@0 {
- label = "routerboot";
- reg = <0x0 0x0>;
- read-only;
- };
-
- hard_config: hard_config {
- read-only;
- };
-
- bios {
- read-only;
- };
-
- soft_config {
- };
- };
- };
-};
-
-&nand {
- status = "okay";
-
- nand-ecc-mode = "soft";
- qca,nand-swap-dma;
- qca,nand-scan-fixup;
-
- partitions {
- compatible = "fixed-partitions";
- #size-cells = <1>;
-
- partition@0 {
- label = "booter";
- reg = <0x0000000 0x0040000>;
- read-only;
- };
-
- partition@40000 {
- label = "kernel";
- reg = <0x0040000 0x03c0000>;
- };
-
- partition@400000 {
- label = "ubi";
- reg = <0x0400000 0x7c00000>;
- };
- };
-};
-
-&uart {
- status = "okay";
-};
-
&pcie0 {
status = "okay";
diff --git a/target/linux/ath79/dts/qca9558_mikrotik_routerboard-92x.dtsi b/target/linux/ath79/dts/qca9558_mikrotik_routerboard-92x.dtsi
new file mode 100644
index 0000000000..c48f997e89
--- /dev/null
+++ b/target/linux/ath79/dts/qca9558_mikrotik_routerboard-92x.dtsi
@@ -0,0 +1,131 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "qca955x.dtsi"
+
+/ {
+ aliases {
+ led-boot = &led_user;
+ led-failsafe = &led_user;
+ led-upgrade = &led_user;
+ serial0 = &uart;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_user: user {
+ label = "mikrotik:green:user";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+ };
+
+ gpio-export {
+ compatible = "gpio-export";
+
+ gpio_nand_power {
+ gpio-export,name = "mikrotik:power:nand";
+ gpio-export,output = <0>;
+ gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&mdio0 {
+ status = "okay";
+
+ phy4: ethernet-phy@4 {
+ reg = <4>;
+ };
+};
+
+&eth0 {
+ status = "okay";
+
+ phy-handle = <&phy4>;
+ pll-data = <0x8f000000 0xa0000101 0xa0001313>;
+
+ gmac-config {
+ device = <&gmac>;
+ rgmii-enabled = <1>;
+ };
+};
+
+&spi {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <25000000>;
+
+ partitions {
+ compatible = "mikrotik,routerboot-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "routerboot";
+ reg = <0x0 0x0>;
+ read-only;
+ };
+
+ hard_config: hard_config {
+ read-only;
+ };
+
+ bios {
+ read-only;
+ };
+
+ soft_config {
+ };
+ };
+ };
+};
+
+&nand {
+ status = "okay";
+
+ nand-ecc-mode = "soft";
+ qca,nand-swap-dma;
+ qca,nand-scan-fixup;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "booter";
+ reg = <0x0000000 0x0040000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "kernel";
+ reg = <0x0040000 0x03c0000>;
+ };
+
+ partition@400000 {
+ label = "ubi";
+ reg = <0x0400000 0x7c00000>;
+ };
+ };
+};
+
+&uart {
+ status = "okay";
+};
diff --git a/target/linux/ath79/image/mikrotik.mk b/target/linux/ath79/image/mikrotik.mk
index 1d4a1390ef..6066d8a147 100644
--- a/target/linux/ath79/image/mikrotik.mk
+++ b/target/linux/ath79/image/mikrotik.mk
@@ -9,6 +9,15 @@ define Device/mikrotik_routerboard-493g
endef
TARGET_DEVICES += mikrotik_routerboard-493g
+define Device/mikrotik_routerboard-921gs-5hpacd-15s
+ $(Device/mikrotik_nand)
+ SOC := qca9558
+ DEVICE_MODEL := RouterBOARD 921GS-5HPacD-15s (mANTBox 15s)
+ DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
+ SUPPORTED_DEVICES += rb-921gs-5hpacd-r2
+endef
+TARGET_DEVICES += mikrotik_routerboard-921gs-5hpacd-15s
+
define Device/mikrotik_routerboard-922uags-5hpacd
$(Device/mikrotik_nand)
SOC := qca9558
diff --git a/target/linux/ath79/mikrotik/base-files/etc/board.d/02_network b/target/linux/ath79/mikrotik/base-files/etc/board.d/02_network
index c6384378ca..f0799a0b8c 100755
--- a/target/linux/ath79/mikrotik/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/mikrotik/base-files/etc/board.d/02_network
@@ -15,6 +15,7 @@ ath79_setup_interfaces()
ucidef_add_switch "switch1" \
"0@eth1" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
;;
+ mikrotik,routerboard-921gs-5hpacd-15s|\
mikrotik,routerboard-922uags-5hpacd|\
mikrotik,routerboard-lhg-2nd|\
mikrotik,routerboard-wap-g-5hact2hnd)
@@ -35,6 +36,7 @@ ath79_setup_macs()
local mac_base="$(cat /sys/firmware/mikrotik/hard_config/mac_base)"
case "$board" in
+ mikrotik,routerboard-921gs-5hpacd-15s|\
mikrotik,routerboard-lhg-2nd|\
mikrotik,routerboard-wap-g-5hact2hnd)
label_mac="$mac_base"
diff --git a/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index 531c21678f..31d4eeedbc 100644
--- a/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -11,6 +11,7 @@ board=$(board_name)
case "$FIRMWARE" in
"ath10k/cal-pci-0000:00:00.0.bin")
case $board in
+ mikrotik,routerboard-921gs-5hpacd-15s|\
mikrotik,routerboard-wap-g-5hact2hnd)
caldata_sysfsload_from_file $wlan_data 0x5000 0x844
;;
diff --git a/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh b/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh
index 8d11cfc0ce..3297b0abaf 100644
--- a/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh
@@ -32,6 +32,7 @@ platform_do_upgrade() {
case "$board" in
mikrotik,routerboard-493g|\
+ mikrotik,routerboard-921gs-5hpacd-15s|\
mikrotik,routerboard-922uags-5hpacd)
platform_do_upgrade_mikrotik_nand "$1"
;;