From b2044a7f60e789edbe8d4e0f3fd74ef6aaa6be40 Mon Sep 17 00:00:00 2001 From: Thibaut VARENE Date: Thu, 9 Feb 2017 23:07:23 +0100 Subject: [PATCH] ar71xx: add support for RB750r2 This patch adds support for the MikroTik RouterBOARD hEX lite https://routerboard.com/RB750r2 Specifications: - SoC: Qualcomm QCA9531 (850MHz) - RAM: 64MB - Storage: 16MB NOR SPI flash - Ethernet: 5x100M (1 PoE in) This ethernet router is based on the same platform as the hEX PoE lite (it shares the same board identifier), but has no USB and no PoE out. Signed-off-by: Thibaut VARENE --- target/linux/ar71xx/base-files/etc/board.d/01_leds | 1 + .../linux/ar71xx/base-files/etc/board.d/02_network | 1 + target/linux/ar71xx/base-files/etc/diag.sh | 1 + target/linux/ar71xx/base-files/lib/ar71xx.sh | 3 +++ .../linux/ar71xx/base-files/lib/upgrade/platform.sh | 3 +++ .../ar71xx/files/arch/mips/ath79/Kconfig.openwrt | 1 + .../linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c | 13 +++++++++---- 7 files changed, 19 insertions(+), 4 deletions(-) diff --git a/target/linux/ar71xx/base-files/etc/board.d/01_leds b/target/linux/ar71xx/base-files/etc/board.d/01_leds index c2129ea5f6ee..af0287772189 100755 --- a/target/linux/ar71xx/base-files/etc/board.d/01_leds +++ b/target/linux/ar71xx/base-files/etc/board.d/01_leds @@ -222,6 +222,7 @@ rb-750) ucidef_set_led_switch "port4" "port4" "rb750:green:port4" "switch0" "0x04" ucidef_set_led_switch "port5" "port5" "rb750:green:port5" "switch0" "0x02" ;; +rb-750-r2|\ rb-750up-r2) ucidef_set_led_timer "user" "USER" "rb:green:user" "1000" "1000" ucidef_set_led_netdev "port1" "port1" "rb:green:port1" "eth0" diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network b/target/linux/ar71xx/base-files/etc/board.d/02_network index 4f7ddacaca4a..621a010671f8 100755 --- a/target/linux/ar71xx/base-files/etc/board.d/02_network +++ b/target/linux/ar71xx/base-files/etc/board.d/02_network @@ -136,6 +136,7 @@ ar71xx_setup_interfaces() om2p-hsv4|\ pb42|\ pb44|\ + rb-750-r2|\ rb-750up-r2|\ rb-951ui-2hnd|\ rb-951ui-2nd|\ diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh index 3a75e1080c89..ae6c693da8ac 100644 --- a/target/linux/ar71xx/base-files/etc/diag.sh +++ b/target/linux/ar71xx/base-files/etc/diag.sh @@ -293,6 +293,7 @@ get_status_led() { rb-750) status_led="rb750:green:act" ;; + rb-750-r2|\ rb-750up-r2|\ rb-911g-2hpnd|\ rb-911g-5hpacd|\ diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh index f4e54415ae70..fc3a5dda8b76 100755 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh @@ -838,6 +838,9 @@ ar71xx_board_detect() { *"RouterBOARD 750GL") name="rb-750gl" ;; + *"RouterBOARD 750 r2") + name="rb-750-r2" + ;; *"RouterBOARD 750UP r2") name="rb-750up-r2" ;; diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh index 110525448394..fa83db23b436 100755 --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh @@ -343,6 +343,7 @@ platform_check_image() { ls-sr71|\ pb42|\ pb44|\ + rb-750-r2|\ rb-750up-r2|\ rb-941-2nd|\ rb-951ui-2nd|\ @@ -618,6 +619,7 @@ platform_pre_upgrade() { local board=$(ar71xx_board_name) case "$board" in + rb-750-r2|\ rb-750up-r2|\ rb-941-2nd|\ rb-951ui-2nd|\ @@ -657,6 +659,7 @@ platform_do_upgrade() { local board=$(ar71xx_board_name) case "$board" in + rb-750-r2|\ rb-750up-r2|\ rb-941-2nd|\ rb-951ui-2nd|\ diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt index 3f4347106fac..bc06481e3963 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt +++ b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt @@ -930,6 +930,7 @@ config ATH79_MACH_RBSPI MikroTik RouterBOARD hAP lite MikroTik RouterBOARD hAP MikroTik RouterBOARD hEX PoE lite + MikroTik RouterBOARD hEX lite config ATH79_MACH_RBSXTLITE bool "MikroTik RouterBOARD SXT Lite" diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c index 81659ef50356..c0b27190fecc 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c @@ -5,6 +5,7 @@ * - MikroTik RouterBOARD 941L-2nD * - MikroTik RouterBOARD 951Ui-2nD * - MikroTik RouterBOARD 750UP r2 + * - MikroTik RouterBOARD 750 r2 * * Copyright (C) 2017 Thibaut VARENE * @@ -472,18 +473,22 @@ static void __init rb952_setup(void) } /* - * Init the hEX PoE lite hardware. + * Init the hEX (PoE) lite hardware. * The 750UP r2 (hEX PoE lite) is nearly identical to the hAP, only without - * WLAN. + * WLAN. The 750 r2 (hEX lite) is nearly identical to the 750UP r2, only + * without USB and POE. It shares the same bootloader board identifier. */ static void __init rb750upr2_setup(void) { - u32 flags = RBSPI_HAS_WAN4 | RBSPI_HAS_USB | - RBSPI_HAS_SSR | RBSPI_HAS_POE; + u32 flags = RBSPI_HAS_WAN4 | RBSPI_HAS_SSR; if (rbspi_platform_setup()) return; + /* differentiate the hEX lite from the hEX PoE lite */ + if (strstr(mips_get_machine_name(), "750UP r2")) + flags |= RBSPI_HAS_USB | RBSPI_HAS_POE; + rbspi_952_750r2_setup(flags); } -- 2.30.2