--- /dev/null
+--- a/arch/mips/ath79/mach-rb750.c
++++ b/arch/mips/ath79/mach-rb750.c
+@@ -325,6 +325,32 @@ static void __init rb751_wlan_setup(void
+ ap91_pci_init(NULL, mac);
+ }
+
++static void __init rb711_setup(void)
++{
++ ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
++ AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
++ AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
++ AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
++ AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
++
++ ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
++
++ ath79_register_mdio(0, 0x0);
++
++ ath79_register_eth(0);
++
++ rb750_nand_data.nce_line = RB750_NAND_NCE;
++ rb750_nand_data.enable_pins = rb750_nand_enable_pins;
++ rb750_nand_data.disable_pins = rb750_nand_disable_pins;
++ rb750_nand_data.latch_change = rb750_latch_change;
++ platform_device_register(&rb750_nand_device);
++
++ rb751_wlan_setup();
++}
++
++MIPS_MACHINE(ATH79_MACH_RB_711, "711", "MikroTik RouterBOARD 711",
++ rb711_setup);
++
+ static void __init rb751_setup(void)
+ {
+ rb750_setup();
+--- a/arch/mips/ath79/machtypes.h
++++ b/arch/mips/ath79/machtypes.h
+@@ -123,6 +123,7 @@ enum ath79_mach_type {
+ ATH79_MACH_RB_493, /* Mikrotik RouterBOARD 493/493AH */
+ ATH79_MACH_RB_493G, /* Mikrotik RouterBOARD 493G */
+ ATH79_MACH_RB_711GR100, /* Mikrotik RouterBOARD 911/912 boards */
++ ATH79_MACH_RB_711, /* MikroTik RouterBOARD 711 */
+ ATH79_MACH_RB_750, /* MikroTik RouterBOARD 750 */
+ ATH79_MACH_RB_750G_R3, /* MikroTik RouterBOARD 750GL */
+ ATH79_MACH_RB_751, /* MikroTik RouterBOARD 751 */
--- /dev/null
+--- a/arch/mips/ath79/mach-rb4xx.c
++++ b/arch/mips/ath79/mach-rb4xx.c
+@@ -11,7 +11,12 @@
+
+ #include <linux/platform_device.h>
+ #include <linux/irq.h>
++#include <linux/version.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
+ #include <linux/mdio-gpio.h>
++#else
++#include <linux/platform_data/mdio-gpio.h>
++#endif
+ #include <linux/mmc/host.h>
+ #include <linux/spi/spi.h>
+ #include <linux/spi/flash.h>