[openwrt/openwrt] ath79: add support for MikroTik RouterBOARD hAP ac lite

LEDE Commits lede-commits at lists.infradead.org
Sat Aug 27 23:34:30 PDT 2022


ynezz pushed a commit to openwrt/openwrt.git, branch openwrt-21.02:
https://git.openwrt.org/1dd4b3f06a97d4c0efddec2b26872ddff1bf2e7a

commit 1dd4b3f06a97d4c0efddec2b26872ddff1bf2e7a
Author: Thibaut VARÈNE <hacks at slashdirt.org>
AuthorDate: Sat Jul 23 11:18:01 2022 +0200

    ath79: add support for MikroTik RouterBOARD hAP ac lite
    
    The MikroTik RB952Ui-5ac2nD (sold as hAP ac lite) is an indoor 2.4Ghz
    and 5GHz AP/router with a 2 dBi integrated antenna.
    
    See https://mikrotik.com/product/RB952Ui-5ac2nD for more details.
    
    Specifications:
     - SoC: QCA9533
     - RAM: 64MB
     - Storage: 16MB NOR
     - Wireless: QCA9533 802.11b/g/n 2x2 / QCA9887 802.11a/n/ac 2x2
     - Ethernet: AR934X switch, 5x 10/100 ports,
        10-28 V passive PoE in port 1, 500 mA PoE out on port 5
     - 6 user-controllable LEDs:
       - 1x user (green)
       - 5x port status (green)
    
    Flashing:
     TFTP boot initramfs image and then perform sysupgrade. The "Internet"
     port (port number 1) must be used to upload the TFTP image, then
     connect to any other port to access the OpenWRT system.
     Follow common MikroTik procedure as in
     https://openwrt.org/toh/mikrotik/common.
    
    Signed-off-by: Thibaut VARÈNE <hacks at slashdirt.org>
    (cherry picked from commit 2bd33e8626bd04fd7115ee1a42aaf03aae2fffb8)
---
 .../qca9533_mikrotik_routerboard-952ui-5ac2nd.dts  | 18 ++++
 .../dts/qca9533_mikrotik_routerboard-95x.dtsi      | 98 ++++++++++++++++++++++
 target/linux/ath79/image/mikrotik.mk               | 10 +++
 .../ath79/mikrotik/base-files/etc/board.d/01_leds  |  7 ++
 .../mikrotik/base-files/etc/board.d/02_network     |  5 ++
 .../etc/hotplug.d/firmware/10-ath9k-eeprom         |  3 +
 .../etc/hotplug.d/firmware/11-ath10k-caldata       |  1 +
 7 files changed, 142 insertions(+)

diff --git a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-952ui-5ac2nd.dts b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-952ui-5ac2nd.dts
new file mode 100644
index 0000000000..b32d38a697
--- /dev/null
+++ b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-952ui-5ac2nd.dts
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "qca9533_mikrotik_routerboard-95x.dtsi"
+
+/ {
+	compatible = "mikrotik,routerboard-952ui-5ac2nd", "qca,qca9533";
+	model = "MikroTik RouterBOARD 952Ui-5ac2nD (hAP ac lite)";
+};
+
+&pcie0 {
+	status = "okay";
+
+	wifi at 0,0 {
+		compatible = "qcom,ath10k";
+		reg = <0 0 0 0 0>;
+	};
+};
+
diff --git a/target/linux/ath79/dts/qca9533_mikrotik_routerboard-95x.dtsi b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-95x.dtsi
new file mode 100644
index 0000000000..79c9f44d32
--- /dev/null
+++ b/target/linux/ath79/dts/qca9533_mikrotik_routerboard-95x.dtsi
@@ -0,0 +1,98 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "qca9533_mikrotik_routerboard-16m.dtsi"
+
+/ {
+	aliases {
+		led-boot = &led_user;
+		led-failsafe = &led_user;
+		led-running = &led_user;
+		led-upgrade = &led_user;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_user: user {
+			label = "green:user";
+			gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
+		};
+
+		port1 {
+			label = "green:port1";
+			gpios = <&gpio_ext 0 GPIO_ACTIVE_LOW>;
+		};
+
+		port2 {
+			label = "green:port2";
+			gpios = <&gpio_ext 1 GPIO_ACTIVE_LOW>;
+		};
+
+		port3 {
+			label = "green:port3";
+			gpios = <&gpio_ext 2 GPIO_ACTIVE_LOW>;
+		};
+
+		port4 {
+			label = "green:port4";
+			gpios = <&gpio_ext 3 GPIO_ACTIVE_LOW>;
+		};
+
+		port5 {
+			label = "green:port5";
+			gpios = <&gpio_ext 4 GPIO_ACTIVE_LOW>;
+		};
+
+	};
+
+	gpio-export {
+		compatible = "gpio-export";
+
+		usb_power {
+			gpio-export,name = "usb-power";
+			gpio-export,output = <1>;
+			gpios = <&gpio_ext 5 GPIO_ACTIVE_LOW>;
+		};
+
+		enable_poe_port5 {
+			gpio-export,name = "enable-poe:port5";
+			gpio-export,output = <0>;
+			gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
+		};
+	};
+};
+
+&spi {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pin_spi_cs1>;
+
+	gpio_ext: gpio_ext at 1 {
+		compatible = "fairchild,74hc595";
+		reg = <1>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		registers-number = <1>;
+		spi-max-frequency = <25000000>;
+	};
+};
+
+
+&pinmux {
+	pin_spi_cs1: pinmux_spi_cs1 {
+		pinctrl-single,bits = <0x8 0x0a000000 0xff000000>;
+	};
+};
+
+&eth0 {
+	status = "okay";
+
+	phy-handle = <&swphy4>;
+};
+
+&usb0 {
+	status = "okay";
+};
+
+&usb_phy {
+	status = "okay";
+};
diff --git a/target/linux/ath79/image/mikrotik.mk b/target/linux/ath79/image/mikrotik.mk
index b2c7000419..30bfa0cd8e 100644
--- a/target/linux/ath79/image/mikrotik.mk
+++ b/target/linux/ath79/image/mikrotik.mk
@@ -37,6 +37,16 @@ define Device/mikrotik_routerboard-922uags-5hpacd
 endef
 TARGET_DEVICES += mikrotik_routerboard-922uags-5hpacd
 
+define Device/mikrotik_routerboard-952ui-5ac2nd
+  $(Device/mikrotik_nor)
+  SOC := qca9533
+  DEVICE_MODEL := RouterBOARD 952Ui-5ac2nD (hAP ac lite)
+  DEVICE_PACKAGES += kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct
+  IMAGE_SIZE := 16256k
+  SUPPORTED_DEVICES += rb-952ui-5ac2nd
+endef
+TARGET_DEVICES += mikrotik_routerboard-952ui-5ac2nd
+
 define Device/mikrotik_routerboard-lhg-2nd
   $(Device/mikrotik_nor)
   SOC := qca9533
diff --git a/target/linux/ath79/mikrotik/base-files/etc/board.d/01_leds b/target/linux/ath79/mikrotik/base-files/etc/board.d/01_leds
index e95c5830e2..f5df9ee1c3 100755
--- a/target/linux/ath79/mikrotik/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/mikrotik/base-files/etc/board.d/01_leds
@@ -7,6 +7,13 @@ board_config_update
 board=$(board_name)
 
 case "$board" in
+mikrotik,routerboard-952ui-5ac2nd)
+	ucidef_set_led_netdev "port1" "port1" "green:port1" "eth1"
+	ucidef_set_led_switch "port2" "port2" "green:port2" "switch0" "0x10"
+	ucidef_set_led_switch "port3" "port3" "green:port3" "switch0" "0x08"
+	ucidef_set_led_switch "port4" "port4" "green:port4" "switch0" "0x04"
+	ucidef_set_led_switch "port5" "port5" "green:port5" "switch0" "0x02"
+	;;
 mikrotik,routerboard-lhg-2nd|\
 mikrotik,routerboard-mapl-2nd)
 	ucidef_set_led_netdev "lan" "lan" "green:lan" "eth0"
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 bf8b9bdac2..8b78dd7e63 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
@@ -24,6 +24,11 @@ ath79_setup_interfaces()
 	mikrotik,routerboard-wapr-2nd)
 		ucidef_set_interface_lan "eth0"
 		;;
+	mikrotik,routerboard-952ui-5ac2nd)
+		ucidef_set_interface_wan "eth1"
+		ucidef_add_switch "switch0" \
+			"0 at eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
+		;;
 	*)
 		ucidef_set_interfaces_lan_wan "eth0" "eth1"
 		;;
diff --git a/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
index eca25b69de..58b5c2d3d9 100644
--- a/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
+++ b/target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
@@ -33,6 +33,9 @@ case "$FIRMWARE" in
 	mikrotik,routerboard-wap-g-5hact2hnd)
 		caldata_mikrotik_ath9k 0x1000 0x440 $(macaddr_add "$mac_base" +2)
 		;;
+	mikrotik,routerboard-952ui-5ac2nd)
+		caldata_mikrotik_ath9k 0x1000 0x440 $(macaddr_add "$mac_base" 6)
+		;;
 	*)
 		caldata_die "board $board is not supported yet"
 		;;
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 31d4eeedbc..0242f52644 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
@@ -12,6 +12,7 @@ case "$FIRMWARE" in
 "ath10k/cal-pci-0000:00:00.0.bin")
 	case $board in
 	mikrotik,routerboard-921gs-5hpacd-15s|\
+	mikrotik,routerboard-952ui-5ac2nd|\
 	mikrotik,routerboard-wap-g-5hact2hnd)
 		caldata_sysfsload_from_file $wlan_data 0x5000 0x844
 		;;




More information about the lede-commits mailing list