Skip to content

Commit

Permalink
ath79: add support for MikroTik RouterBOARD 750 r2 (hEX lite)
Browse files Browse the repository at this point in the history
This patch adds support for the MikroTik RouterBOARD 750 r2, marketed as
hEX lite, a small indoor router with 5x 10/100 Mbps Ethernet ports, one
with PoE in. The device was already supported by the ar71xx target.

Specifications:
 - SoC: Qualcomm Atheros QCA9533
 - Flash: 16 MB SPI NOR
 - RAM: 64 MB
 - Ethernet: 4x 10/100 Mbps LAN, 1x 10/100 Mbps WAN (PoE in)
 - LEDs: 5x Ethernet port activity (green), 1x user (green)
 - Buttons: 1x reset

 See https://mikrotik.com/product/RB750r2 for more details.

Not working:
 - Serial port (already not working in ar71xx)

Flashing:
 TFTP boot initramfs image and then perform sysupgrade. Only the
 "Internet" port will ask for an initramfs image. Follow common
 MikroTik procedure as in https://openwrt.org/toh/mikrotik/common.

(cherry picked from commit 8486c67)
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Link: openwrt#13477
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
  • Loading branch information
rogerpueyo authored and hauke committed Oct 29, 2024
1 parent 088bb1e commit c46b689
Show file tree
Hide file tree
Showing 11 changed files with 129 additions and 6 deletions.
6 changes: 0 additions & 6 deletions target/linux/ath79/dts/qca9533_mikrotik_routerboard-16m.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,3 @@
};
};
};

&wmac {
status = "okay";

qca,no-eeprom;
};
78 changes: 78 additions & 0 deletions target/linux/ath79/dts/qca9533_mikrotik_routerboard-750-r2.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT

#include "qca9533_mikrotik_routerboard-16m.dtsi"

/ {
compatible = "mikrotik,routerboard-750-r2", "qca,qca9533";
model = "MikroTik RouterBOARD 750 r2 (hEX lite)";

aliases {
led-boot = &led_usr;
led-failsafe = &led_usr;
led-upgrade = &led_usr;
led-running = &led_usr;
};

leds {
compatible = "gpio-leds";
pinctrl-names = "default";

led_usr: usr {
label = "green:usr";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};

led1 {
label = "green:port1";
gpios = <&ssr 0 GPIO_ACTIVE_LOW>;
};

led2 {
label = "green:port2";
gpios = <&ssr 1 GPIO_ACTIVE_LOW>;
};

led3 {
label = "green:port3";
gpios = <&ssr 2 GPIO_ACTIVE_LOW>;
};

led4 {
label = "green:port4";
gpios = <&ssr 3 GPIO_ACTIVE_LOW>;
};

led5 {
label = "green:port5";
gpios = <&ssr 4 GPIO_ACTIVE_LOW>;
};
};
};

&pinmux {
pmx_spi_cs1: pinmux_spi_cs1 {
pinctrl-single,bits = <0x8 0x0a000000 0xff000000>;
};
};

&spi {
pinctrl-names = "default";
pinctrl-0 = <&pmx_spi_cs1>;

cs-gpios = <0>, <&gpio 11 GPIO_ACTIVE_LOW>;

ssr: ssr@1 {
compatible = "fairchild,74hc595";
gpio-controller;
#gpio-cells = <2>;
registers-number = <1>;
reg = <1>;
spi-max-frequency = <10000000>;
};
};

&eth0 {
status = "okay";

phy-handle = <&swphy4>;
};
6 changes: 6 additions & 0 deletions target/linux/ath79/dts/qca9533_mikrotik_routerboard-95x.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,12 @@
};
};

&wmac {
status = "okay";

qca,no-eeprom;
};

&eth0 {
status = "okay";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,12 @@
};
};

&wmac {
status = "okay";

qca,no-eeprom;
};

&eth0 {
status = "okay";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,12 @@
};
};

&wmac {
status = "okay";

qca,no-eeprom;
};

&eth0 {
status = "okay";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@
};
};

&wmac {
status = "okay";

qca,no-eeprom;
};

&eth0 {
status = "okay";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,12 @@
};
};

&wmac {
status = "okay";

qca,no-eeprom;
};

&eth0 {
status = "okay";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,12 @@
};
};

&wmac {
status = "okay";

qca,no-eeprom;
};

&eth0 {
status = "okay";

Expand Down
9 changes: 9 additions & 0 deletions target/linux/ath79/image/mikrotik.mk
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ define Device/mikrotik_routerboard-493g
endef
TARGET_DEVICES += mikrotik_routerboard-493g

define Device/mikrotik_routerboard-750-r2
$(Device/mikrotik_nor)
SOC := qca9533
DEVICE_MODEL := RouterBOARD 750 r2 (hEX lite)
IMAGE_SIZE := 16256k
SUPPORTED_DEVICES += rb-750-r2
endef
TARGET_DEVICES += mikrotik_routerboard-750-r2

define Device/mikrotik_routerboard-911-lite
$(Device/mikrotik_nor)
SOC := ar9344
Expand Down
1 change: 1 addition & 0 deletions target/linux/ath79/mikrotik/base-files/etc/board.d/01_leds
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ mikrotik,routerboard-lhg-5nd)
ucidef_set_led_rssi "rssimediumhigh" "rssimediumhigh" "green:rssimediumhigh" "wlan0" "60" "100"
ucidef_set_led_rssi "rssihigh" "rssihigh" "green:rssihigh" "wlan0" "80" "100"
;;
mikrotik,routerboard-750-r2|\
mikrotik,routerboard-951ui-2hnd|\
mikrotik,routerboard-951ui-2nd|\
mikrotik,routerboard-952ui-5ac2nd)
Expand Down
5 changes: 5 additions & 0 deletions target/linux/ath79/mikrotik/base-files/etc/board.d/02_network
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ ath79_setup_interfaces()
ucidef_add_switch "switch1" \
"0@eth1" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
;;
mikrotik,routerboard-750-r2)
ucidef_set_interface_wan "eth1"
ucidef_add_switch "switch0" \
"0@eth0" "1:lan:4" "2:lan:1" "3:lan:3" "4:lan:2"
;;
mikrotik,routerboard-911-lite|\
mikrotik,routerboard-912uag-2hpnd|\
mikrotik,routerboard-lhg-2nd|\
Expand Down

0 comments on commit c46b689

Please sign in to comment.