[openwrt/openwrt] ath79: add support for MikroTik RouterBOARD 921GS-5HPacD-15s
LEDE Commits
lede-commits at lists.infradead.org
Wed Aug 12 08:03:57 EDT 2020
adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/b2e1f7101d877ce09f8bcb1732b20168051116b6
commit b2e1f7101d877ce09f8bcb1732b20168051116b6
Author: Sven Roederer <devel-sven at geroedel.de>
AuthorDate: Mon Jun 22 23:05:51 2020 +0200
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 at geroedel.de>
[move ath10k-leds closer to ath10k definition in DTS files]
Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
...a9558_mikrotik_routerboard-921gs-5hpacd-15s.dts | 30 +++++
...qca9558_mikrotik_routerboard-922uags-5hpacd.dts | 126 +--------------------
...d.dts => qca9558_mikrotik_routerboard-92x.dtsi} | 43 -------
target/linux/ath79/image/mikrotik.mk | 9 ++
.../mikrotik/base-files/etc/board.d/02_network | 2 +
.../etc/hotplug.d/firmware/11-ath10k-caldata | 1 +
.../mikrotik/base-files/lib/upgrade/platform.sh | 1 +
7 files changed, 44 insertions(+), 168 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 at 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 at 4 {
- reg = <4>;
- };
-};
-
-ð0 {
- status = "okay";
-
- phy-handle = <&phy4>;
- pll-data = <0x8f000000 0xa0000101 0xa0001313>;
-
- gmac-config {
- device = <&gmac>;
- rgmii-enabled = <1>;
};
};
-&spi {
- status = "okay";
-
- flash at 0 {
- compatible = "jedec,spi-nor";
- reg = <0>;
- spi-max-frequency = <25000000>;
-
- partitions {
- compatible = "mikrotik,routerboot-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- partition at 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 at 0 {
- label = "booter";
- reg = <0x0000000 0x0040000>;
- read-only;
- };
-
- partition at 40000 {
- label = "kernel";
- reg = <0x0040000 0x03c0000>;
- };
-
- partition at 400000 {
- label = "ubi";
- reg = <0x0400000 0x7c00000>;
- };
- };
-};
-
-&uart {
- status = "okay";
-};
-
&pcie0 {
status = "okay";
diff --git a/target/linux/ath79/dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts b/target/linux/ath79/dts/qca9558_mikrotik_routerboard-92x.dtsi
similarity index 73%
copy from target/linux/ath79/dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts
copy to target/linux/ath79/dts/qca9558_mikrotik_routerboard-92x.dtsi
index a3f42f87bf..c48f997e89 100644
--- a/target/linux/ath79/dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts
+++ b/target/linux/ath79/dts/qca9558_mikrotik_routerboard-92x.dtsi
@@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
@@ -7,9 +6,6 @@
#include "qca955x.dtsi"
/ {
- compatible = "mikrotik,routerboard-922uags-5hpacd", "qca,qca9558";
- model = "MikroTik RouterBOARD 922UAGS-5HPacD";
-
aliases {
led-boot = &led_user;
led-failsafe = &led_user;
@@ -26,16 +22,6 @@
};
};
- ath10k-leds {
- compatible = "gpio-leds";
-
- wlan5g {
- label = "mikrotik:green:wlan5g";
- gpios = <&ath10k 0 GPIO_ACTIVE_LOW>;
- linux,default-trigger = "phy0tpt";
- };
- };
-
keys {
compatible = "gpio-keys";
@@ -50,12 +36,6 @@
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>;
@@ -149,26 +129,3 @@
&uart {
status = "okay";
};
-
-&pcie0 {
- status = "okay";
-
- ath10k: wifi at 0,0 {
- compatible = "qcom,ath10k";
- reg = <0 0 0 0 0>;
- #gpio-cells = <2>;
- gpio-controller;
- };
-};
-
-&pcie1 {
- status = "okay";
-};
-
-&usb0 {
- status = "okay";
-};
-
-&usb_phy0 {
- 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 at 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"
;;
More information about the lede-commits
mailing list