ath79: add support for MikroTik RouterBOARD 911 Lite2/Lite5
authorTomasz Maciej Nowak <tmn505@gmail.com>
Wed, 24 Aug 2022 16:05:58 +0000 (18:05 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 26 Feb 2023 21:22:48 +0000 (22:22 +0100)
Forward-port from ar71xx target the board introduced in commit
eb9e3651dd1a (" ar71xx: add support for the MikroTik RB911-2Hn/5Hn
boards"). Citing:

The patch adds support for the MikroTik RB911-2Hn (911 Lite2)
and the RB911-5Hn (911 Lite5) boards:

  https://mikrotik.com/product/RB911-2Hn
  https://mikrotik.com/product/RB911-5Hn

The two boards are using the same hardware design, the only difference
between the two is the supported wireless band.

Specifications:
  * SoC: Atheros AR9344 (600MHz)
  * RAM: 64MiB
  * Storage: 16 MiB SPI NOR flash
  * Ethernet: 1x100M (Passive PoE in)
  * Wireless: AR9344 built-in wireless MAC, single chain
              802.11b/g/n (911-2Hn) or 802.11a/g/n (911-5Hn)

Notes:
  * Older versions of these boards might be equipped with a NAND
    flash chip instead of the SPI NOR device. Those boards are not
    supported (yet).[1]
  * The MikroTik RB911-5HnD (911 Lite5 Dual) board also uses the
    same hardware. Support for that can be added later with little
    effort probably.[2]

End of citation.

Follow intallation instruction from that commit message, using
openwrt-ath79-mikrotik-mikrotik_routerboard-911-lite-initramfs-kernel.bin
and
openwrt-ath79-mikrotik-mikrotik_routerboard-911-lite-squashfs-sysupgrade.bin
images found in ath79/mikrotik directory. Be advised that the board
accepts 10-30 V on PoE input.

Known issues
Compared to ar71xx target image, there is still small leak of current to
user LED, which makes it lit, although weaker, even if brightness is set
to 0. The cause of that is still unknown.

1. https://github.com/openwrt/openwrt/pull/3652
2. RB911-5HnD should work with this commit or with [1], depending on
   what flash topology was used.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
target/linux/ath79/dts/ar9344_mikrotik_routerboard-911-lite.dts [new file with mode: 0644]
target/linux/ath79/image/mikrotik.mk
target/linux/ath79/mikrotik/base-files/etc/board.d/01_leds
target/linux/ath79/mikrotik/base-files/etc/board.d/02_network
target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom

diff --git a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-911-lite.dts b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-911-lite.dts
new file mode 100644 (file)
index 0000000..d77078c
--- /dev/null
@@ -0,0 +1,36 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "ar9344_mikrotik_routerboard.dtsi"
+#include "ar9344_mikrotik_routerboard-16m-nor.dtsi"
+
+/ {
+       model = "MikroTik RouterBOARD 911-2Hn/5Hn (Lite2/Lite5)";
+       compatible = "mikrotik,routerboard-911-lite", "qca,ar9344";
+};
+
+&leds {
+       pinctrl-names = "default";
+       pinctrl-0 = <&enable_gpio_20>;
+
+       lan {
+               label = "green:lan";
+               gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+       };
+
+       power {
+               label = "green:power";
+               gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
+               default-state = "on";
+       };
+
+       led_user: user {
+               label = "green:user";
+               gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+       };
+};
+
+&pinmux {
+       enable_gpio_20: pinmux_gpio_out_function5 {
+               pinctrl-single,bits = <0x14 0x0 0xff>;
+       };
+};
index c90579fbb58d65129cdb3c368f1efbb8b029fcfc..fb0035fb6537dc7a88b6b9c653c9515eeb921972 100644 (file)
@@ -9,6 +9,16 @@ define Device/mikrotik_routerboard-493g
 endef
 TARGET_DEVICES += mikrotik_routerboard-493g
 
+define Device/mikrotik_routerboard-911-lite
+  $(Device/mikrotik_nor)
+  SOC := ar9344
+  DEVICE_MODEL := RouterBOARD 911 Lite2/Lite5 (2Hn/5Hn)
+  DEVICE_PACKAGES += rssileds
+  IMAGE_SIZE := 16256k
+  SUPPORTED_DEVICES += rb-911-2hn rb-911-5hn
+endef
+TARGET_DEVICES += mikrotik_routerboard-911-lite
+
 define Device/mikrotik_routerboard-912uag-2hpnd
   $(Device/mikrotik_nand)
   SOC := ar9342
index 76b91a54a5f28eb3bdb036aa49ef1bc4266db89c..4c1b98fff223225e9c440ad96d4bfa4ed4446aeb 100644 (file)
@@ -6,6 +6,16 @@ board_config_update
 board=$(board_name)
 
 case "$board" in
+mikrotik,routerboard-911-lite|\
+mikrotik,routerboard-lhg-5nd)
+       ucidef_set_led_netdev "lan" "lan" "green:lan" "eth0"
+       ucidef_set_rssimon "wlan0" "200000" "1"
+       ucidef_set_led_rssi "rssilow" "rssilow" "green:rssilow" "wlan0" "1" "100"
+       ucidef_set_led_rssi "rssimediumlow" "rssimediumlow" "green:rssimediumlow" "wlan0" "20" "100"
+       ucidef_set_led_rssi "rssimedium" "rssimedium" "green:rssimedium" "wlan0" "40" "100"
+       ucidef_set_led_rssi "rssimediumhigh" "rssimediumhigh" "green:rssimediumhigh" "wlan0" "60" "100"
+       ucidef_set_led_rssi "rssihigh" "rssihigh" "green:rssihigh" "wlan0" "80" "100"
+       ;;
 mikrotik,routerboard-951ui-2nd|\
 mikrotik,routerboard-952ui-5ac2nd)
        ucidef_set_led_netdev "port1" "port1" "green:port1" "eth1"
@@ -19,15 +29,6 @@ mikrotik,routerboard-mapl-2nd|\
 mikrotik,routerboard-wap-2nd)
        ucidef_set_led_netdev "lan" "lan" "green:lan" "eth0"
        ;;
-mikrotik,routerboard-lhg-5nd)
-       ucidef_set_led_netdev "lan" "lan" "green:lan" "eth0"
-       ucidef_set_rssimon "wlan0" "200000" "1"
-       ucidef_set_led_rssi "rssilow" "rssilow" "green:rssilow" "wlan0" "1" "100"
-       ucidef_set_led_rssi "rssimediumlow" "rssimediumlow" "green:rssimediumlow" "wlan0" "20" "100"
-       ucidef_set_led_rssi "rssimedium" "rssimedium" "green:rssimedium" "wlan0" "40" "100"
-       ucidef_set_led_rssi "rssimediumhigh" "rssimediumhigh" "green:rssimediumhigh" "wlan0" "60" "100"
-       ucidef_set_led_rssi "rssihigh" "rssihigh" "green:rssihigh" "wlan0" "80" "100"
-       ;;
 mikrotik,routerboard-map-2nd)
        ucidef_set_led_netdev "eth_1" "eth_1" "green:eth_1" "eth1"
        ucidef_set_led_switch "eth_2" "eth_2" "green:eth_2" "switch0" "0x4"
index 5646d8cf68a7f9f81c305ea58253f416e637f9e3..da63347c3c04bd0ebc8c87073601694e77dffb50 100644 (file)
@@ -14,6 +14,7 @@ ath79_setup_interfaces()
                ucidef_add_switch "switch1" \
                        "0@eth1" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
                ;;
+       mikrotik,routerboard-911-lite|\
        mikrotik,routerboard-912uag-2hpnd|\
        mikrotik,routerboard-lhg-2nd|\
        mikrotik,routerboard-lhg-5nd|\
@@ -52,6 +53,7 @@ ath79_setup_macs()
        local mac_base="$(cat /sys/firmware/mikrotik/hard_config/mac_base)"
 
        case "$board" in
+       mikrotik,routerboard-911-lite|\
        mikrotik,routerboard-912uag-2hpnd|\
        mikrotik,routerboard-lhg-2nd|\
        mikrotik,routerboard-lhg-5nd|\
index aa5354bfdb37de95fd7ece2076b2f6de0b6147fb..e0bf1e47efb492f9dcf66a51ec9c64c954a5d9fd 100644 (file)
@@ -23,6 +23,7 @@ board=$(board_name)
 case "$FIRMWARE" in
 "ath9k-eeprom-ahb-18100000.wmac.bin")
        case $board in
+       mikrotik,routerboard-911-lite|\
        mikrotik,routerboard-912uag-2hpnd|\
        mikrotik,routerboard-lhg-2nd|\
        mikrotik,routerboard-lhg-5nd|\