[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>;
-	};
-};
-
-&eth0 {
-	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