aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ar71xx')
-rwxr-xr-xtarget/linux/ar71xx/base-files/etc/board.d/01_leds4
-rwxr-xr-xtarget/linux/ar71xx/base-files/etc/board.d/02_network2
-rw-r--r--target/linux/ar71xx/base-files/etc/diag.sh2
-rwxr-xr-xtarget/linux/ar71xx/base-files/lib/ar71xx.sh6
-rwxr-xr-xtarget/linux/ar71xx/base-files/lib/upgrade/platform.sh4
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt2
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c97
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/machtypes.h1
-rw-r--r--target/linux/ar71xx/image/mikrotik.mk2
-rw-r--r--target/linux/ar71xx/patches-4.4/701-MIPS-ath79-add-routerboard-detection.patch3
-rw-r--r--target/linux/ar71xx/patches-4.9/701-MIPS-ath79-add-routerboard-detection.patch3
11 files changed, 123 insertions, 3 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 fb1f29dcfa..ecd3723c6a 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/01_leds
+++ b/target/linux/ar71xx/base-files/etc/board.d/01_leds
@@ -292,6 +292,10 @@ rb-750up-r2)
ucidef_set_led_switch "port4" "port3" "rb:green:port4" "switch0" "0x04"
ucidef_set_led_switch "port5" "port5" "rb:green:port5" "switch0" "0x02"
;;
+rb-911-2hn|\
+rb-911-5hn)
+ ucidef_set_led_netdev "eth" "ETH" "rb:green:eth" "eth0"
+ ;;
rb-941-2nd)
ucidef_set_led_timer "user" "USR/ACT" "rb:green:user" "1000" "1000"
;;
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 5a10a9f486..b0755c44dd 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/02_network
+++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
@@ -93,6 +93,8 @@ ar71xx_setup_interfaces()
pqi-air-pen|\
rb-411|\
rb-411u|\
+ rb-911-2hn|\
+ rb-911-5hn|\
rb-911g-2hpnd|\
rb-911g-5hpacd|\
rb-911g-5hpnd|\
diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
index 2720288e3d..4f4a73ce06 100644
--- a/target/linux/ar71xx/base-files/etc/diag.sh
+++ b/target/linux/ar71xx/base-files/etc/diag.sh
@@ -319,6 +319,8 @@ get_status_led() {
rb-750-r2|\
rb-750p-pbr2|\
rb-750up-r2|\
+ rb-911-2hn|\
+ rb-911-5hn|\
rb-911g-2hpnd|\
rb-911g-5hpacd|\
rb-911g-5hpnd|\
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index b6642495de..73bdce5853 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -941,6 +941,12 @@ ar71xx_board_detect() {
*"RouterBOARD 751G")
name="rb-751g"
;;
+ *"RouterBOARD 911-2Hn")
+ name="rb-911-2hn"
+ ;;
+ *"RouterBOARD 911-5Hn")
+ name="rb-911-5hn"
+ ;;
*"RouterBOARD 911G-2HPnD")
name="rb-911g-2hpnd"
;;
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 3d7b1593e1..1f9ed76fc3 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -660,6 +660,8 @@ platform_check_image() {
rb-750-r2|\
rb-750p-pbr2|\
rb-750up-r2|\
+ rb-911-2hn|\
+ rb-911-5hn|\
rb-941-2nd|\
rb-951ui-2nd|\
rb-952ui-5ac2nd|\
@@ -723,6 +725,8 @@ platform_pre_upgrade() {
rb-750-r2|\
rb-750p-pbr2|\
rb-750up-r2|\
+ rb-911-2hn|\
+ rb-911-5hn|\
rb-941-2nd|\
rb-951ui-2nd|\
rb-952ui-5ac2nd|\
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
index 3ca77550bc..caaaf97792 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
+++ b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
@@ -1054,6 +1054,8 @@ config ATH79_MACH_RBSPI
select ATH79_ROUTERBOOT
help
Say 'Y' here if you want your kernel to support the
+ MikroTik ROuterBOARD 911-2Hn (911 Lite2)
+ MikroTik ROuterBOARD 911-5Hn (911 Lite5)
MikroTik RouterBOARD mAP
MikroTik RouterBOARD mAP lite
MikroTik RouterBOARD hAP 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 25e920f593..f7f3b028f4 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c
@@ -3,6 +3,8 @@
*
* - MikroTik RouterBOARD mAP 2nD
* - MikroTik RouterBOARD mAP L-2nD
+ * - MikroTik RouterBOARD 911-2Hn (911 Lite2)
+ * - MikroTik RouterBOARD 911-5Hn (911 Lite5)
* - MikroTik RouterBOARD 941L-2nD
* - MikroTik RouterBOARD 951Ui-2nD
* - MikroTik RouterBOARD 952Ui-5ac2nD
@@ -509,6 +511,56 @@ static struct platform_device rbwapgsc_phy_device = {
},
};
+/* RB911L GPIOs */
+#define RB911L_GPIO_BTN_RESET 15
+#define RB911L_GPIO_LED_1 13
+#define RB911L_GPIO_LED_2 12
+#define RB911L_GPIO_LED_3 4
+#define RB911L_GPIO_LED_4 21
+#define RB911L_GPIO_LED_5 18
+#define RB911L_GPIO_LED_ETH 20
+#define RB911L_GPIO_LED_POWER 11
+#define RB911L_GPIO_LED_USER 3
+#define RB911L_GPIO_PIN_HOLE 14 /* for reference */
+
+static struct gpio_led rb911l_leds[] __initdata = {
+ {
+ .name = "rb:green:eth",
+ .gpio = RB911L_GPIO_LED_ETH,
+ .active_low = 1,
+ }, {
+ .name = "rb:green:led1",
+ .gpio = RB911L_GPIO_LED_1,
+ .active_low = 1,
+ }, {
+ .name = "rb:green:led2",
+ .gpio = RB911L_GPIO_LED_2,
+ .active_low = 1,
+ }, {
+ .name = "rb:green:led3",
+ .gpio = RB911L_GPIO_LED_3,
+ .active_low = 1,
+ }, {
+ .name = "rb:green:led4",
+ .gpio = RB911L_GPIO_LED_4,
+ .active_low = 1,
+ }, {
+ .name = "rb:green:led5",
+ .gpio = RB911L_GPIO_LED_5,
+ .active_low = 1,
+ }, {
+ .name = "rb:green:power",
+ .gpio = RB911L_GPIO_LED_POWER,
+ .default_state = LEDS_GPIO_DEFSTATE_ON,
+ .open_drain = 1,
+ }, {
+ .name = "rb:green:user",
+ .gpio = RB911L_GPIO_LED_USER,
+ .active_low = 1,
+ .open_drain = 1,
+ },
+};
+
static struct gen_74x164_chip_platform_data rbspi_ssr_data = {
.base = RBSPI_SSR_GPIO_BASE,
.num_registers = 1,
@@ -1015,8 +1067,53 @@ static void __init rbwapgsc_setup(void)
rbwapgsc_leds);
}
+/*
+ * Setup the 911L hardware (AR9344).
+ */
+static void __init rb911l_setup(void)
+{
+ const struct rb_info *info;
+
+ info = rbspi_platform_setup();
+ if (!info)
+ return;
+
+ if (!rb_has_hw_option(info, RB_HW_OPT_NO_NAND)) {
+ /*
+ * Old hardware revisions might be equipped with a NAND flash
+ * chip instead of the 16MiB SPI NOR device. Those boards are
+ * not supported at the moment, so throw a warning and skip
+ * the peripheral setup to avoid messing up the data in the
+ * flash chip.
+ */
+ WARN(1, "The NAND flash on this board is not supported.\n");
+ } else {
+ rbspi_peripherals_setup(0);
+ }
+
+ ath79_register_mdio(1, 0x0);
+
+ ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 0);
+
+ ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
+ ath79_eth1_data.speed = SPEED_1000;
+ ath79_eth1_data.duplex = DUPLEX_FULL;
+
+ ath79_register_eth(1);
+
+ rbspi_wlan_init(0, 1);
+
+ rbspi_register_reset_button(RB911L_GPIO_BTN_RESET);
+
+ /* Make the eth LED controllable by software. */
+ ath79_gpio_output_select(RB911L_GPIO_LED_ETH, AR934X_GPIO_OUT_GPIO);
+
+ ath79_register_leds_gpio(-1, ARRAY_SIZE(rb911l_leds), rb911l_leds);
+}
+
MIPS_MACHINE_NONAME(ATH79_MACH_RB_MAPL, "map-hb", rbmapl_setup);
MIPS_MACHINE_NONAME(ATH79_MACH_RB_941, "H951L", rbhapl_setup);
+MIPS_MACHINE_NONAME(ATH79_MACH_RB_911L, "911L", rb911l_setup);
MIPS_MACHINE_NONAME(ATH79_MACH_RB_952, "952-hb", rb952_setup);
MIPS_MACHINE_NONAME(ATH79_MACH_RB_962, "962", rb962_setup);
MIPS_MACHINE_NONAME(ATH79_MACH_RB_750UPR2, "750-hb", rb750upr2_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
index a621fe2c90..394be00c99 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
+++ b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
@@ -190,6 +190,7 @@ enum ath79_mach_type {
ATH79_MACH_RB_750UPR2, /* MikroTik RouterBOARD 750UP r2 */
ATH79_MACH_RB_751, /* MikroTik RouterBOARD 751 */
ATH79_MACH_RB_751G, /* Mikrotik RouterBOARD 751G */
+ ATH79_MACH_RB_911L, /* Mikrotik RouterBOARD 911-2Hn/911-5Hn boards */
ATH79_MACH_RB_922GS, /* Mikrotik RouterBOARD 911/922GS boards */
ATH79_MACH_RB_941, /* MikroTik RouterBOARD 941-2nD */
ATH79_MACH_RB_951G, /* Mikrotik RouterBOARD 951G */
diff --git a/target/linux/ar71xx/image/mikrotik.mk b/target/linux/ar71xx/image/mikrotik.mk
index 403bcb08b5..f381f85ae2 100644
--- a/target/linux/ar71xx/image/mikrotik.mk
+++ b/target/linux/ar71xx/image/mikrotik.mk
@@ -40,7 +40,7 @@ define Device/rb-nor-flash-16M
LOADER_TYPE := elf
KERNEL_INSTALL := 1
KERNEL := kernel-bin | lzma | loader-kernel
- SUPPORTED_DEVICES := rb-750-r2 rb-750up-r2 rb-750p-pbr2 rb-941-2nd rb-951ui-2nd rb-952ui-5ac2nd rb-962uigs-5hact2hnt rb-lhg-5nd rb-map-2nd rb-mapl-2nd rb-wap-2nd
+ SUPPORTED_DEVICES := rb-750-r2 rb-750up-r2 rb-750p-pbr2 rb-911-2hn rb-911-5hn rb-941-2nd rb-951ui-2nd rb-952ui-5ac2nd rb-962uigs-5hact2hnt rb-lhg-5nd rb-map-2nd rb-mapl-2nd rb-wap-2nd
IMAGE/sysupgrade.bin := append-kernel | kernel2minor -s 1024 -e | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
endef
diff --git a/target/linux/ar71xx/patches-4.4/701-MIPS-ath79-add-routerboard-detection.patch b/target/linux/ar71xx/patches-4.4/701-MIPS-ath79-add-routerboard-detection.patch
index 625bb19ba5..64c7e881a7 100644
--- a/target/linux/ar71xx/patches-4.4/701-MIPS-ath79-add-routerboard-detection.patch
+++ b/target/linux/ar71xx/patches-4.4/701-MIPS-ath79-add-routerboard-detection.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/ath79/prom.c
+++ b/arch/mips/ath79/prom.c
-@@ -136,6 +136,30 @@ void __init prom_init(void)
+@@ -136,6 +136,31 @@ void __init prom_init(void)
initrd_end = initrd_start + fw_getenvl("initrd_size");
}
#endif
@@ -26,6 +26,7 @@
+ strstr(arcs_cmdline, "board=2011L") ||
+ strstr(arcs_cmdline, "board=2011r") ||
+ strstr(arcs_cmdline, "board=711Gr100") ||
++ strstr(arcs_cmdline, "board=911L") ||
+ strstr(arcs_cmdline, "board=922gs"))
+ ath79_prom_append_cmdline("console", "ttyS0,115200");
}
diff --git a/target/linux/ar71xx/patches-4.9/701-MIPS-ath79-add-routerboard-detection.patch b/target/linux/ar71xx/patches-4.9/701-MIPS-ath79-add-routerboard-detection.patch
index 625bb19ba5..64c7e881a7 100644
--- a/target/linux/ar71xx/patches-4.9/701-MIPS-ath79-add-routerboard-detection.patch
+++ b/target/linux/ar71xx/patches-4.9/701-MIPS-ath79-add-routerboard-detection.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/ath79/prom.c
+++ b/arch/mips/ath79/prom.c
-@@ -136,6 +136,30 @@ void __init prom_init(void)
+@@ -136,6 +136,31 @@ void __init prom_init(void)
initrd_end = initrd_start + fw_getenvl("initrd_size");
}
#endif
@@ -26,6 +26,7 @@
+ strstr(arcs_cmdline, "board=2011L") ||
+ strstr(arcs_cmdline, "board=2011r") ||
+ strstr(arcs_cmdline, "board=711Gr100") ||
++ strstr(arcs_cmdline, "board=911L") ||
+ strstr(arcs_cmdline, "board=922gs"))
+ ath79_prom_append_cmdline("console", "ttyS0,115200");
}