[openwrt/openwrt] ath79: add support for MikroTik RouterBOARD hAP ac lite
LEDE Commits
lede-commits at lists.infradead.org
Sat May 21 09:08:12 PDT 2022
blocktrron pushed a commit to openwrt/openwrt.git, branch openwrt-22.03:
https://git.openwrt.org/03cfdf72e297c3b9c029bea847f0ff6d7dd3aa21
commit 03cfdf72e297c3b9c029bea847f0ff6d7dd3aa21
Author: Thibaut VARÈNE <hacks at slashdirt.org>
AuthorDate: Mon May 2 17:07:45 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>;
+ };
+};
+
+ð0 {
+ 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 30c1761134..869c466278 100644
--- a/target/linux/ath79/image/mikrotik.mk
+++ b/target/linux/ath79/image/mikrotik.mk
@@ -38,6 +38,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-962uigs-5hact2hnt
$(Device/mikrotik_nor)
SOC := qca9558
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 f5b927ea96..baf6d00412 100644
--- a/target/linux/ath79/mikrotik/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/mikrotik/base-files/etc/board.d/01_leds
@@ -6,6 +6,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|\
mikrotik,routerboard-wap-2nd)
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 999ce0dd99..9417e839e4 100644
--- 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"
+ ;;
mikrotik,routerboard-962uigs-5hact2hnt)
ucidef_add_switch "switch0" \
"0 at eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
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 800ce11d51..b5651f15e8 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
@@ -35,6 +35,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)
+ ;;
mikrotik,routerboard-962uigs-5hact2hnt)
caldata_mikrotik_ath9k 0x1000 0x440 $(macaddr_add "$mac_base" 7)
;;
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 77cd47f6a0..32fc4a6f6d 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-962uigs-5hact2hnt|\
mikrotik,routerboard-wap-g-5hact2hnd)
caldata_sysfsload_from_file $wlan_data 0x5000 0x844
More information about the lede-commits
mailing list