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 c2129ea5f6..af02877721 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 4f7ddacaca..621a010671 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 3a75e1080c..ae6c693da8 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 f4e54415ae..fc3a5dda8b 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 1105254483..fa83db23b4 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 3f4347106f..bc06481e39 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 81659ef503..c0b27190fe 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); }