summaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-07-19 17:59:08 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-07-19 17:59:08 +0000
commitb704d3c96e0b609e9fbf9f9b1999e74a88763e4f (patch)
treeec0d2fcad3ed414ffdb74688cf619fed89f21165 /target/linux
parent573d23dda35b66202a1cce94e49b6b4691d18882 (diff)
downloadmaster-31e0f0ae-b704d3c96e0b609e9fbf9f9b1999e74a88763e4f.tar.gz
master-31e0f0ae-b704d3c96e0b609e9fbf9f9b1999e74a88763e4f.tar.bz2
master-31e0f0ae-b704d3c96e0b609e9fbf9f9b1999e74a88763e4f.zip
ar71xx: reorganize 4.1 patch directory layout
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 46430
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ar71xx/patches-4.1/100-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch (renamed from target/linux/ar71xx/patches-4.1/102-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch)0
-rw-r--r--target/linux/ar71xx/patches-4.1/200-MIPS-ath79-fix-ar933x-wmac-reset.patch (renamed from target/linux/ar71xx/patches-4.1/213-MIPS-ath79-fix-ar933x-wmac-reset.patch)0
-rw-r--r--target/linux/ar71xx/patches-4.1/201-ar913x_wmac_external_reset.patch (renamed from target/linux/ar71xx/patches-4.1/480-ar913x_wmac_external_reset.patch)0
-rw-r--r--target/linux/ar71xx/patches-4.1/202-MIPS-ath79-ar934x-wmac-revision.patch (renamed from target/linux/ar71xx/patches-4.1/727-MIPS-ath79-ar934x-wmac-revision.patch)4
-rw-r--r--target/linux/ar71xx/patches-4.1/203-MIPS-ath79-fix-restart.patch (renamed from target/linux/ar71xx/patches-4.1/728-MIPS-ath79-fix-restart.patch)2
-rw-r--r--target/linux/ar71xx/patches-4.1/501-MIPS-ath79-add-mac-argument-to-ath79_register_wmac.patch4
-rw-r--r--target/linux/ar71xx/patches-4.1/503-MIPS-ath79-add-flash-acquire-release.patch2
-rw-r--r--target/linux/ar71xx/patches-4.1/504-MIPS-ath79-add-ath79_device_reset_get.patch2
-rw-r--r--target/linux/ar71xx/patches-4.1/509-MIPS-ath79-process-board-kernel-option.patch2
-rw-r--r--target/linux/ar71xx/patches-4.1/522-MIPS-ath79-add-ath79_wmac_register_simple-helper.patch2
-rw-r--r--target/linux/ar71xx/patches-4.1/523-MIPS-ath79-OTP-support.patch2
-rw-r--r--target/linux/ar71xx/patches-4.1/524-MIPS-ath79-add-ath79_wmac_disable_25ghz-helpers.patch2
-rw-r--r--target/linux/ar71xx/patches-4.1/608-MIPS-ath79-ubnt-xm-add-more-boards.patch138
-rw-r--r--target/linux/ar71xx/patches-4.1/612-MIPS-ath79-set-buffalo-txgain.patch2
-rw-r--r--target/linux/ar71xx/patches-4.1/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch2
-rw-r--r--target/linux/ar71xx/patches-4.1/620-MIPS-ath79-add-support-for-QCA953x-SoC.patch (renamed from target/linux/ar71xx/patches-4.1/707-MIPS-ath79-add-support-for-QCA953x-SoC.patch)16
-rw-r--r--target/linux/ar71xx/patches-4.1/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch (renamed from target/linux/ar71xx/patches-4.1/735-MIPS-ath79-add-support-for-QCA956x-SoC.patch)4
-rw-r--r--target/linux/ar71xx/patches-4.1/630-MIPS-ath79-fix-chained-irq-disable.patch (renamed from target/linux/ar71xx/patches-4.1/736-MIPS-ath79-fix-chained-irq-disable.patch)0
-rw-r--r--target/linux/ar71xx/patches-4.1/631-MIPS-ath79-wmac-enable-set-led-pin.patch (renamed from target/linux/ar71xx/patches-4.1/810-MIPS-ath79-wmac-enable-set-led-pin.patch)0
-rw-r--r--target/linux/ar71xx/patches-4.1/632-MIPS-ath79-gpio-enable-set-direction.patch (renamed from target/linux/ar71xx/patches-4.1/811-MIPS-ath79-gpio-enable-set-direction.patch)2
-rw-r--r--target/linux/ar71xx/patches-4.1/633-MIPS-ath79-add-gpio-irq-support.patch (renamed from target/linux/ar71xx/patches-4.1/739-MIPS-ath79-add-gpio-irq-support.patch)6
-rw-r--r--target/linux/ar71xx/patches-4.1/700-MIPS-ath79-openwrt-machines.patch (renamed from target/linux/ar71xx/patches-4.1/610-MIPS-ath79-openwrt-machines.patch)124
-rw-r--r--target/linux/ar71xx/patches-4.1/718-MIPS-ath79-add-EPG5000-support.patch40
-rw-r--r--target/linux/ar71xx/patches-4.1/736-MIPS-ath79-add-MC-MAC1200R-support.patch39
-rw-r--r--target/linux/ar71xx/patches-4.1/737-MIPS-ath79-add-om5p-an-support.patch20
-rw-r--r--target/linux/ar71xx/patches-4.1/738-MIPS-ath79-add-meraki-mr12-mr16-support.patch51
-rw-r--r--target/linux/ar71xx/patches-4.1/800-MIPS-ath79-add-RB922GS-support.patch51
-rw-r--r--target/linux/ar71xx/patches-4.1/812-MIPS-ath79-add-ap143-support.patch43
-rw-r--r--target/linux/ar71xx/patches-4.1/900-mdio_bitbang_ignore_ta_value.patch (renamed from target/linux/ar71xx/patches-4.1/901-mdio_bitbang_ignore_ta_value.patch)0
-rw-r--r--target/linux/ar71xx/patches-4.1/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch (renamed from target/linux/ar71xx/patches-4.1/904-phy-mdio-bitbang-prevent-rescheduling-during-command.patch)0
-rw-r--r--target/linux/ar71xx/patches-4.1/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch56
-rw-r--r--target/linux/ar71xx/patches-4.1/904-MIPS-ath79-bitmain-antminer-s1-support.patch39
-rw-r--r--target/linux/ar71xx/patches-4.1/904-MIPS-ath79-ubnt-rocket-m-ti-supprt.patch135
-rw-r--r--target/linux/ar71xx/patches-4.1/905-MIPS-ath79-bitmain-antminer-s3-support.patch39
-rw-r--r--target/linux/ar71xx/patches-4.1/910-unaligned_access_hacks.patch (renamed from target/linux/ar71xx/patches-4.1/902-unaligned_access_hacks.patch)0
35 files changed, 275 insertions, 554 deletions
diff --git a/target/linux/ar71xx/patches-4.1/102-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch b/target/linux/ar71xx/patches-4.1/100-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch
index 79c7ab01ab..79c7ab01ab 100644
--- a/target/linux/ar71xx/patches-4.1/102-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch
+++ b/target/linux/ar71xx/patches-4.1/100-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch
diff --git a/target/linux/ar71xx/patches-4.1/213-MIPS-ath79-fix-ar933x-wmac-reset.patch b/target/linux/ar71xx/patches-4.1/200-MIPS-ath79-fix-ar933x-wmac-reset.patch
index e0821a7776..e0821a7776 100644
--- a/target/linux/ar71xx/patches-4.1/213-MIPS-ath79-fix-ar933x-wmac-reset.patch
+++ b/target/linux/ar71xx/patches-4.1/200-MIPS-ath79-fix-ar933x-wmac-reset.patch
diff --git a/target/linux/ar71xx/patches-4.1/480-ar913x_wmac_external_reset.patch b/target/linux/ar71xx/patches-4.1/201-ar913x_wmac_external_reset.patch
index 9b704a3c47..9b704a3c47 100644
--- a/target/linux/ar71xx/patches-4.1/480-ar913x_wmac_external_reset.patch
+++ b/target/linux/ar71xx/patches-4.1/201-ar913x_wmac_external_reset.patch
diff --git a/target/linux/ar71xx/patches-4.1/727-MIPS-ath79-ar934x-wmac-revision.patch b/target/linux/ar71xx/patches-4.1/202-MIPS-ath79-ar934x-wmac-revision.patch
index b1b4946e03..c91ecdf439 100644
--- a/target/linux/ar71xx/patches-4.1/727-MIPS-ath79-ar934x-wmac-revision.patch
+++ b/target/linux/ar71xx/patches-4.1/202-MIPS-ath79-ar934x-wmac-revision.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/ath79/dev-wmac.c
+++ b/arch/mips/ath79/dev-wmac.c
-@@ -147,6 +147,8 @@ static void ar934x_wmac_setup(void)
+@@ -140,6 +140,8 @@ static void ar934x_wmac_setup(void)
ath79_wmac_data.is_clk_25mhz = false;
else
ath79_wmac_data.is_clk_25mhz = true;
@@ -8,4 +8,4 @@
+ ath79_wmac_data.get_mac_revision = ar93xx_get_soc_revision;
}
- static void qca953x_wmac_setup(void)
+ static void qca955x_wmac_setup(void)
diff --git a/target/linux/ar71xx/patches-4.1/728-MIPS-ath79-fix-restart.patch b/target/linux/ar71xx/patches-4.1/203-MIPS-ath79-fix-restart.patch
index 612078c796..713a191bc0 100644
--- a/target/linux/ar71xx/patches-4.1/728-MIPS-ath79-fix-restart.patch
+++ b/target/linux/ar71xx/patches-4.1/203-MIPS-ath79-fix-restart.patch
@@ -10,7 +10,7 @@
if (cpu_wait)
--- a/arch/mips/include/asm/mach-ath79/ath79.h
+++ b/arch/mips/include/asm/mach-ath79/ath79.h
-@@ -144,6 +144,7 @@ static inline u32 ath79_pll_rr(unsigned
+@@ -132,6 +132,7 @@ static inline u32 ath79_pll_rr(unsigned
static inline void ath79_reset_wr(unsigned reg, u32 val)
{
__raw_writel(val, ath79_reset_base + reg);
diff --git a/target/linux/ar71xx/patches-4.1/501-MIPS-ath79-add-mac-argument-to-ath79_register_wmac.patch b/target/linux/ar71xx/patches-4.1/501-MIPS-ath79-add-mac-argument-to-ath79_register_wmac.patch
index b41c733c5e..fdf353c2e6 100644
--- a/target/linux/ar71xx/patches-4.1/501-MIPS-ath79-add-mac-argument-to-ath79_register_wmac.patch
+++ b/target/linux/ar71xx/patches-4.1/501-MIPS-ath79-add-mac-argument-to-ath79_register_wmac.patch
@@ -16,7 +16,7 @@
static struct ath9k_platform_data ath79_wmac_data;
static struct resource ath79_wmac_resources[] = {
-@@ -160,7 +162,7 @@ static void qca955x_wmac_setup(void)
+@@ -162,7 +164,7 @@ static void qca955x_wmac_setup(void)
ath79_wmac_data.is_clk_25mhz = true;
}
@@ -25,7 +25,7 @@
{
if (soc_is_ar913x())
ar913x_wmac_setup();
-@@ -177,5 +179,10 @@ void __init ath79_register_wmac(u8 *cal_
+@@ -179,5 +181,10 @@ void __init ath79_register_wmac(u8 *cal_
memcpy(ath79_wmac_data.eeprom_data, cal_data,
sizeof(ath79_wmac_data.eeprom_data));
diff --git a/target/linux/ar71xx/patches-4.1/503-MIPS-ath79-add-flash-acquire-release.patch b/target/linux/ar71xx/patches-4.1/503-MIPS-ath79-add-flash-acquire-release.patch
index 06f790299d..108f6590c2 100644
--- a/target/linux/ar71xx/patches-4.1/503-MIPS-ath79-add-flash-acquire-release.patch
+++ b/target/linux/ar71xx/patches-4.1/503-MIPS-ath79-add-flash-acquire-release.patch
@@ -27,7 +27,7 @@
+
--- a/arch/mips/include/asm/mach-ath79/ath79.h
+++ b/arch/mips/include/asm/mach-ath79/ath79.h
-@@ -143,4 +143,7 @@ static inline u32 ath79_reset_rr(unsigne
+@@ -144,4 +144,7 @@ static inline u32 ath79_reset_rr(unsigne
void ath79_device_reset_set(u32 mask);
void ath79_device_reset_clear(u32 mask);
diff --git a/target/linux/ar71xx/patches-4.1/504-MIPS-ath79-add-ath79_device_reset_get.patch b/target/linux/ar71xx/patches-4.1/504-MIPS-ath79-add-ath79_device_reset_get.patch
index 024a85d06a..8748aa3151 100644
--- a/target/linux/ar71xx/patches-4.1/504-MIPS-ath79-add-ath79_device_reset_get.patch
+++ b/target/linux/ar71xx/patches-4.1/504-MIPS-ath79-add-ath79_device_reset_get.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/include/asm/mach-ath79/ath79.h
+++ b/arch/mips/include/asm/mach-ath79/ath79.h
-@@ -142,6 +142,7 @@ static inline u32 ath79_reset_rr(unsigne
+@@ -143,6 +143,7 @@ static inline u32 ath79_reset_rr(unsigne
void ath79_device_reset_set(u32 mask);
void ath79_device_reset_clear(u32 mask);
diff --git a/target/linux/ar71xx/patches-4.1/509-MIPS-ath79-process-board-kernel-option.patch b/target/linux/ar71xx/patches-4.1/509-MIPS-ath79-process-board-kernel-option.patch
index ca7a890375..98ef1e134a 100644
--- a/target/linux/ar71xx/patches-4.1/509-MIPS-ath79-process-board-kernel-option.patch
+++ b/target/linux/ar71xx/patches-4.1/509-MIPS-ath79-process-board-kernel-option.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/ath79/setup.c
+++ b/arch/mips/ath79/setup.c
-@@ -234,6 +234,8 @@ void __init plat_time_init(void)
+@@ -235,6 +235,8 @@ void __init plat_time_init(void)
mips_hpt_frequency = cpu_clk_rate / 2;
}
diff --git a/target/linux/ar71xx/patches-4.1/522-MIPS-ath79-add-ath79_wmac_register_simple-helper.patch b/target/linux/ar71xx/patches-4.1/522-MIPS-ath79-add-ath79_wmac_register_simple-helper.patch
index 74928e6835..a29c7be8ec 100644
--- a/target/linux/ar71xx/patches-4.1/522-MIPS-ath79-add-ath79_wmac_register_simple-helper.patch
+++ b/target/linux/ar71xx/patches-4.1/522-MIPS-ath79-add-ath79_wmac_register_simple-helper.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/ath79/dev-wmac.c
+++ b/arch/mips/ath79/dev-wmac.c
-@@ -189,3 +189,9 @@ void __init ath79_register_wmac(u8 *cal_
+@@ -191,3 +191,9 @@ void __init ath79_register_wmac(u8 *cal_
platform_device_register(&ath79_wmac_device);
}
diff --git a/target/linux/ar71xx/patches-4.1/523-MIPS-ath79-OTP-support.patch b/target/linux/ar71xx/patches-4.1/523-MIPS-ath79-OTP-support.patch
index 5ff1cb83fb..e030d7cec3 100644
--- a/target/linux/ar71xx/patches-4.1/523-MIPS-ath79-OTP-support.patch
+++ b/target/linux/ar71xx/patches-4.1/523-MIPS-ath79-OTP-support.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/ath79/dev-wmac.c
+++ b/arch/mips/ath79/dev-wmac.c
-@@ -165,6 +165,137 @@ static void qca955x_wmac_setup(void)
+@@ -167,6 +167,137 @@ static void qca955x_wmac_setup(void)
ath79_wmac_data.is_clk_25mhz = true;
}
diff --git a/target/linux/ar71xx/patches-4.1/524-MIPS-ath79-add-ath79_wmac_disable_25ghz-helpers.patch b/target/linux/ar71xx/patches-4.1/524-MIPS-ath79-add-ath79_wmac_disable_25ghz-helpers.patch
index 7b4b6ef284..31f885f2c8 100644
--- a/target/linux/ar71xx/patches-4.1/524-MIPS-ath79-add-ath79_wmac_disable_25ghz-helpers.patch
+++ b/target/linux/ar71xx/patches-4.1/524-MIPS-ath79-add-ath79_wmac_disable_25ghz-helpers.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/ath79/dev-wmac.c
+++ b/arch/mips/ath79/dev-wmac.c
-@@ -296,6 +296,16 @@ bool __init ar93xx_wmac_read_mac_address
+@@ -298,6 +298,16 @@ bool __init ar93xx_wmac_read_mac_address
return ret;
}
diff --git a/target/linux/ar71xx/patches-4.1/608-MIPS-ath79-ubnt-xm-add-more-boards.patch b/target/linux/ar71xx/patches-4.1/608-MIPS-ath79-ubnt-xm-add-more-boards.patch
index 78035131db..24b0f27493 100644
--- a/target/linux/ar71xx/patches-4.1/608-MIPS-ath79-ubnt-xm-add-more-boards.patch
+++ b/target/linux/ar71xx/patches-4.1/608-MIPS-ath79-ubnt-xm-add-more-boards.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/ath79/mach-ubnt-xm.c
+++ b/arch/mips/ath79/mach-ubnt-xm.c
-@@ -12,16 +12,24 @@
+@@ -12,16 +12,26 @@
#include <linux/init.h>
#include <linux/pci.h>
@@ -13,6 +13,8 @@
#include <asm/mach-ath79/irq.h>
+#include <asm/mach-ath79/ar71xx_regs.h>
++#include <linux/platform_data/phy-at803x.h>
++
+#include "common.h"
#include "dev-ap9x-pci.h"
+#include "dev-eth.h"
@@ -26,7 +28,7 @@
#define UBNT_XM_GPIO_LED_L1 0
#define UBNT_XM_GPIO_LED_L2 1
-@@ -37,19 +45,19 @@
+@@ -37,19 +47,19 @@
static struct gpio_led ubnt_xm_leds_gpio[] __initdata = {
{
@@ -50,7 +52,7 @@
.gpio = UBNT_XM_GPIO_LED_L4,
.active_low = 0,
},
-@@ -66,9 +74,13 @@ static struct gpio_keys_button ubnt_xm_g
+@@ -66,9 +76,13 @@ static struct gpio_keys_button ubnt_xm_g
}
};
@@ -64,7 +66,7 @@
ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_xm_leds_gpio),
ubnt_xm_leds_gpio);
-@@ -79,9 +91,428 @@ static void __init ubnt_xm_init(void)
+@@ -79,9 +93,552 @@ static void __init ubnt_xm_init(void)
ath79_register_m25p80(NULL);
ap91_pci_init(eeprom, NULL);
@@ -381,6 +383,40 @@
+ },
+};
+
++#define UBNT_ROCKET_TI_GPIO_LED_L1 16
++#define UBNT_ROCKET_TI_GPIO_LED_L2 17
++#define UBNT_ROCKET_TI_GPIO_LED_L3 18
++#define UBNT_ROCKET_TI_GPIO_LED_L4 19
++#define UBNT_ROCKET_TI_GPIO_LED_L5 20
++#define UBNT_ROCKET_TI_GPIO_LED_L6 21
++static struct gpio_led ubnt_rocket_ti_leds_gpio[] __initdata = {
++ {
++ .name = "ubnt:green:link1",
++ .gpio = UBNT_ROCKET_TI_GPIO_LED_L1,
++ .active_low = 1,
++ }, {
++ .name = "ubnt:green:link2",
++ .gpio = UBNT_ROCKET_TI_GPIO_LED_L2,
++ .active_low = 1,
++ }, {
++ .name = "ubnt:green:link3",
++ .gpio = UBNT_ROCKET_TI_GPIO_LED_L3,
++ .active_low = 1,
++ }, {
++ .name = "ubnt:green:link4",
++ .gpio = UBNT_ROCKET_TI_GPIO_LED_L4,
++ .active_low = 0,
++ }, {
++ .name = "ubnt:green:link5",
++ .gpio = UBNT_ROCKET_TI_GPIO_LED_L5,
++ .active_low = 0,
++ }, {
++ .name = "ubnt:green:link6",
++ .gpio = UBNT_ROCKET_TI_GPIO_LED_L6,
++ .active_low = 0,
++ },
++};
++
+static void __init ubnt_xw_init(void)
+{
+ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
@@ -426,12 +462,102 @@
+ ath79_register_eth(0);
+}
+
++static void __init ubnt_rocket_m_xw_setup(void)
++{
++ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
++
++ ath79_register_m25p80(NULL);
++
++ ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_xw_leds_gpio),
++ ubnt_xw_leds_gpio);
++ ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
++ ARRAY_SIZE(ubnt_xm_gpio_keys),
++ ubnt_xm_gpio_keys);
++
++ ath79_register_wmac(eeprom + UAP_PRO_WMAC_CALDATA_OFFSET, NULL);
++ ap91_pci_init(eeprom + UAP_PRO_PCI_CALDATA_OFFSET, NULL);
++
++ ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
++ ath79_init_mac(ath79_eth0_data.mac_addr,
++ eeprom + UAP_PRO_MAC0_OFFSET, 0);
++
++ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
++ ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
++
++ ath79_register_mdio(0, ~BIT(4));
++ ath79_eth0_data.phy_mask = BIT(4);
++ ath79_eth0_pll_data.pll_1000 = 0x06000000;
++ ath79_register_eth(0);
++}
++
++static struct at803x_platform_data ubnt_rocket_m_ti_at803_data = {
++ .disable_smarteee = 1,
++ .enable_rgmii_rx_delay = 1,
++ .enable_rgmii_tx_delay = 1,
++};
++static struct mdio_board_info ubnt_rocket_m_ti_mdio_info[] = {
++ {
++ .bus_id = "ag71xx-mdio.0",
++ .phy_addr = 4,
++ .platform_data = &ubnt_rocket_m_ti_at803_data,
++ },
++};
++
++static void __init ubnt_rocket_m_ti_setup(void)
++{
++ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
++
++ ath79_register_m25p80(NULL);
++
++ ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_rocket_ti_leds_gpio),
++ ubnt_rocket_ti_leds_gpio);
++ ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
++ ARRAY_SIZE(ubnt_xm_gpio_keys),
++ ubnt_xm_gpio_keys);
++
++ ap91_pci_init(eeprom + 0x1000, NULL);
++
++ ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
++ ath79_setup_ar934x_eth_rx_delay(3, 3);
++ ath79_init_mac(ath79_eth0_data.mac_addr,
++ eeprom + UAP_PRO_MAC0_OFFSET, 0);
++ ath79_init_mac(ath79_eth1_data.mac_addr,
++ eeprom + UAP_PRO_MAC1_OFFSET, 0);
++
++ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
++ ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
++ ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
++ ath79_eth1_data.mii_bus_dev = &ath79_mdio1_device.dev;
++
++ mdiobus_register_board_info(ubnt_rocket_m_ti_mdio_info,
++ ARRAY_SIZE(ubnt_rocket_m_ti_mdio_info));
++ ath79_register_mdio(0, 0x0);
++
++
++ ath79_eth0_data.phy_mask = BIT(4);
++ /* read out from vendor */
++ ath79_eth0_pll_data.pll_1000 = 0x2000000;
++ ath79_eth0_pll_data.pll_10 = 0x1313;
++ ath79_register_eth(0);
++
++ ath79_register_mdio(1, 0x0);
++ ath79_eth1_data.phy_mask = BIT(3);
++ ath79_register_eth(1);
++}
++
++
+MIPS_MACHINE(ATH79_MACH_UBNT_NANO_M_XW, "UBNT-NM-XW", "Ubiquiti Nanostation M XW",
+ ubnt_nano_m_xw_setup);
+
+MIPS_MACHINE(ATH79_MACH_UBNT_LOCO_M_XW, "UBNT-LOCO-XW", "Ubiquiti Loco M XW",
+ ubnt_loco_m_xw_setup);
+
++MIPS_MACHINE(ATH79_MACH_UBNT_ROCKET_M_XW, "UBNT-RM-XW", "Ubiquiti Rocket M XW",
++ ubnt_rocket_m_xw_setup);
++
++MIPS_MACHINE(ATH79_MACH_UBNT_ROCKET_M_TI, "UBNT-RM-TI", "Ubiquiti Rocket M TI",
++ ubnt_rocket_m_ti_setup);
++
+static struct gpio_led ubnt_airgateway_gpio_leds[] __initdata = {
+ {
+ .name = "ubnt:blue:wlan",
@@ -515,7 +641,7 @@
Ubiquiti Networks XM (rev 1.0) board.
--- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h
-@@ -22,6 +22,13 @@ enum ath79_mach_type {
+@@ -22,6 +22,15 @@ enum ath79_mach_type {
ATH79_MACH_AP81, /* Atheros AP81 reference board */
ATH79_MACH_DB120, /* Atheros DB120 reference board */
ATH79_MACH_PB44, /* Atheros PB44 reference board */
@@ -523,6 +649,8 @@
+ ATH79_MACH_UBNT_BULLET_M, /* Ubiquiti Bullet M */
+ ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
+ ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
++ ATH79_MACH_UBNT_ROCKET_M_XW, /* Ubiquiti Rocket M XW*/
++ ATH79_MACH_UBNT_ROCKET_M_TI, /* Ubiquiti Rocket M TI*/
+ ATH79_MACH_UBNT_UAP_PRO, /* Ubiquiti UniFi AP Pro */
+ ATH79_MACH_UBNT_UNIFI, /* Ubiquiti Unifi */
+ ATH79_MACH_UBNT_UNIFI_OUTDOOR, /* Ubiquiti UnifiAP Outdoor */
diff --git a/target/linux/ar71xx/patches-4.1/612-MIPS-ath79-set-buffalo-txgain.patch b/target/linux/ar71xx/patches-4.1/612-MIPS-ath79-set-buffalo-txgain.patch
index fdef854fce..4e3ac70f59 100644
--- a/target/linux/ar71xx/patches-4.1/612-MIPS-ath79-set-buffalo-txgain.patch
+++ b/target/linux/ar71xx/patches-4.1/612-MIPS-ath79-set-buffalo-txgain.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/ath79/dev-wmac.c
+++ b/arch/mips/ath79/dev-wmac.c
-@@ -306,6 +306,11 @@ void __init ath79_wmac_disable_5ghz(void
+@@ -308,6 +308,11 @@ void __init ath79_wmac_disable_5ghz(void
ath79_wmac_data.disable_5ghz = true;
}
diff --git a/target/linux/ar71xx/patches-4.1/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch b/target/linux/ar71xx/patches-4.1/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch
index 83de7b120a..a832bf84ce 100644
--- a/target/linux/ar71xx/patches-4.1/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch
+++ b/target/linux/ar71xx/patches-4.1/613-MIPS-ath79-add-ath79_wmac_setup_ext_lna_gpio-helper.patch
@@ -12,7 +12,7 @@
#include "dev-wmac.h"
static u8 ath79_wmac_mac[ETH_ALEN];
-@@ -311,6 +313,51 @@ void __init ath79_wmac_set_tx_gain_buffa
+@@ -313,6 +315,51 @@ void __init ath79_wmac_set_tx_gain_buffa
ath79_wmac_data.tx_gain_buffalo = true;
}
diff --git a/target/linux/ar71xx/patches-4.1/707-MIPS-ath79-add-support-for-QCA953x-SoC.patch b/target/linux/ar71xx/patches-4.1/620-MIPS-ath79-add-support-for-QCA953x-SoC.patch
index 2c624b3a2e..58ca1d5165 100644
--- a/target/linux/ar71xx/patches-4.1/707-MIPS-ath79-add-support-for-QCA953x-SoC.patch
+++ b/target/linux/ar71xx/patches-4.1/620-MIPS-ath79-add-support-for-QCA953x-SoC.patch
@@ -22,7 +22,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
--- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig
-@@ -1229,6 +1229,10 @@ config SOC_AR934X
+@@ -105,6 +105,10 @@ config SOC_AR934X
select PCI_AR724X if PCI
def_bool n
@@ -33,7 +33,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
config SOC_QCA955X
select HW_HAS_PCI
select PCI_AR724X if PCI
-@@ -1271,7 +1275,7 @@ config ATH79_DEV_USB
+@@ -144,7 +148,7 @@ config ATH79_DEV_USB
def_bool n
config ATH79_DEV_WMAC
@@ -237,8 +237,8 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
ath79_wmac_data.external_reset = ar933x_wmac_reset;
}
-@@ -149,6 +149,26 @@ static void ar934x_wmac_setup(void)
- ath79_wmac_data.is_clk_25mhz = true;
+@@ -151,6 +151,26 @@ static void ar934x_wmac_setup(void)
+ ath79_wmac_data.get_mac_revision = ar93xx_get_soc_revision;
}
+static void qca953x_wmac_setup(void)
@@ -264,7 +264,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
static void qca955x_wmac_setup(void)
{
u32 t;
-@@ -366,6 +386,8 @@ void __init ath79_register_wmac(u8 *cal_
+@@ -368,6 +388,8 @@ void __init ath79_register_wmac(u8 *cal_
ar933x_wmac_setup();
else if (soc_is_ar934x())
ar934x_wmac_setup();
@@ -405,7 +405,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
}
--- a/arch/mips/ath79/setup.c
+++ b/arch/mips/ath79/setup.c
-@@ -59,6 +59,7 @@ static void __init ath79_detect_sys_type
+@@ -60,6 +60,7 @@ static void __init ath79_detect_sys_type
u32 major;
u32 minor;
u32 rev = 0;
@@ -413,7 +413,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
id = ath79_reset_rr(AR71XX_RESET_REG_REV_ID);
major = id & REV_ID_MAJOR_MASK;
-@@ -151,6 +152,16 @@ static void __init ath79_detect_sys_type
+@@ -152,6 +153,16 @@ static void __init ath79_detect_sys_type
rev = id & AR934X_REV_ID_REVISION_MASK;
break;
@@ -430,7 +430,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
case REV_ID_MAJOR_QCA9556:
ath79_soc = ATH79_SOC_QCA9556;
chip = "9556";
-@@ -169,7 +180,7 @@ static void __init ath79_detect_sys_type
+@@ -170,7 +181,7 @@ static void __init ath79_detect_sys_type
ath79_soc_rev = rev;
diff --git a/target/linux/ar71xx/patches-4.1/735-MIPS-ath79-add-support-for-QCA956x-SoC.patch b/target/linux/ar71xx/patches-4.1/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch
index 47e8c793c1..b23c18eb14 100644
--- a/target/linux/ar71xx/patches-4.1/735-MIPS-ath79-add-support-for-QCA956x-SoC.patch
+++ b/target/linux/ar71xx/patches-4.1/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig
-@@ -1249,6 +1249,12 @@ config SOC_QCA955X
+@@ -114,6 +114,12 @@ config SOC_QCA955X
select PCI_AR724X if PCI
def_bool n
@@ -13,7 +13,7 @@
config ATH79_DEV_M25P80
select ATH79_DEV_SPI
def_bool n
-@@ -1286,7 +1292,7 @@ config ATH79_DEV_USB
+@@ -148,7 +154,7 @@ config ATH79_DEV_USB
def_bool n
config ATH79_DEV_WMAC
diff --git a/target/linux/ar71xx/patches-4.1/736-MIPS-ath79-fix-chained-irq-disable.patch b/target/linux/ar71xx/patches-4.1/630-MIPS-ath79-fix-chained-irq-disable.patch
index 8c0cc95384..8c0cc95384 100644
--- a/target/linux/ar71xx/patches-4.1/736-MIPS-ath79-fix-chained-irq-disable.patch
+++ b/target/linux/ar71xx/patches-4.1/630-MIPS-ath79-fix-chained-irq-disable.patch
diff --git a/target/linux/ar71xx/patches-4.1/810-MIPS-ath79-wmac-enable-set-led-pin.patch b/target/linux/ar71xx/patches-4.1/631-MIPS-ath79-wmac-enable-set-led-pin.patch
index 03b32b1461..03b32b1461 100644
--- a/target/linux/ar71xx/patches-4.1/810-MIPS-ath79-wmac-enable-set-led-pin.patch
+++ b/target/linux/ar71xx/patches-4.1/631-MIPS-ath79-wmac-enable-set-led-pin.patch
diff --git a/target/linux/ar71xx/patches-4.1/811-MIPS-ath79-gpio-enable-set-direction.patch b/target/linux/ar71xx/patches-4.1/632-MIPS-ath79-gpio-enable-set-direction.patch
index b5dbb74d79..c628f1df89 100644
--- a/target/linux/ar71xx/patches-4.1/811-MIPS-ath79-gpio-enable-set-direction.patch
+++ b/target/linux/ar71xx/patches-4.1/632-MIPS-ath79-gpio-enable-set-direction.patch
@@ -10,7 +10,7 @@
#endif /* __ATH79_COMMON_H */
--- a/arch/mips/ath79/gpio.c
+++ b/arch/mips/ath79/gpio.c
-@@ -142,6 +142,30 @@ static int ar934x_gpio_direction_output(
+@@ -130,6 +130,30 @@ static int ar934x_gpio_direction_output(
return 0;
}
diff --git a/target/linux/ar71xx/patches-4.1/739-MIPS-ath79-add-gpio-irq-support.patch b/target/linux/ar71xx/patches-4.1/633-MIPS-ath79-add-gpio-irq-support.patch
index 90bc963cf2..e8183e7d92 100644
--- a/target/linux/ar71xx/patches-4.1/739-MIPS-ath79-add-gpio-irq-support.patch
+++ b/target/linux/ar71xx/patches-4.1/633-MIPS-ath79-add-gpio-irq-support.patch
@@ -29,7 +29,7 @@
static void __ath79_gpio_set_value(unsigned gpio, int value)
{
void __iomem *base = ath79_gpio_base;
-@@ -209,6 +221,132 @@ void __init ath79_gpio_output_select(uns
+@@ -233,6 +245,132 @@ void __init ath79_gpio_output_select(uns
spin_unlock_irqrestore(&ath79_gpio_lock, flags);
}
@@ -162,7 +162,7 @@
void __init ath79_gpio_init(void)
{
int err;
-@@ -245,6 +383,10 @@ void __init ath79_gpio_init(void)
+@@ -269,6 +407,10 @@ void __init ath79_gpio_init(void)
err = gpiochip_add(&ath79_gpio_chip);
if (err)
panic("cannot add AR71xx GPIO chip, error=%d", err);
@@ -173,7 +173,7 @@
}
int gpio_get_value(unsigned gpio)
-@@ -267,14 +409,22 @@ EXPORT_SYMBOL(gpio_set_value);
+@@ -291,14 +433,22 @@ EXPORT_SYMBOL(gpio_set_value);
int gpio_to_irq(unsigned gpio)
{
diff --git a/target/linux/ar71xx/patches-4.1/610-MIPS-ath79-openwrt-machines.patch b/target/linux/ar71xx/patches-4.1/700-MIPS-ath79-openwrt-machines.patch
index 8e0d194a2f..02d996691e 100644
--- a/target/linux/ar71xx/patches-4.1/610-MIPS-ath79-openwrt-machines.patch
+++ b/target/linux/ar71xx/patches-4.1/700-MIPS-ath79-openwrt-machines.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h
-@@ -16,22 +16,195 @@
+@@ -16,24 +16,206 @@
enum ath79_mach_type {
ATH79_MACH_GENERIC = 0,
@@ -9,6 +9,8 @@
+ ATH79_MACH_ALL0258N, /* Allnet ALL0258N */
+ ATH79_MACH_ALL0305, /* Allnet ALL0305 */
+ ATH79_MACH_ALL0315N, /* Allnet ALL0315N */
++ ATH79_MACH_ANTMINER_S1, /* Bitmain Antminer S1 */
++ ATH79_MACH_ANTMINER_S3, /* Bitmain Antminer S3 */
+ ATH79_MACH_AP113, /* Atheros AP113 reference board */
ATH79_MACH_AP121, /* Atheros AP121 reference board */
ATH79_MACH_AP121_MINI, /* Atheros AP121-MINI reference board */
@@ -16,6 +18,7 @@
ATH79_MACH_AP135_020, /* Atheros AP135-020 reference board */
ATH79_MACH_AP136_010, /* Atheros AP136-010 reference board */
ATH79_MACH_AP136_020, /* Atheros AP136-020 reference board */
++ ATH79_MACH_AP143, /* Atheros AP143 reference board */
ATH79_MACH_AP81, /* Atheros AP81 reference board */
+ ATH79_MACH_AP83, /* Atheros AP83 */
+ ATH79_MACH_AP96, /* Atheros AP96 */
@@ -50,6 +53,7 @@
+ ATH79_MACH_EL_M150, /* EasyLink EL-M150 */
+ ATH79_MACH_EL_MINI, /* EasyLink EL-MINI */
+ ATH79_MACH_ESR1750, /* EnGenius ESR1750 */
++ ATH79_MACH_EPG5000, /* EnGenius EPG5000 */
+ ATH79_MACH_F9K1115V2, /* Belkin AC1750DB */
+ ATH79_MACH_GL_INET, /* GL-CONNECT GL-INET */
+ ATH79_MACH_GS_OOLITE, /* GS OOLITE V1.0 */
@@ -58,6 +62,8 @@
+ ATH79_MACH_JA76PF2, /* jjPlus JA76PF2 */
+ ATH79_MACH_JWAP003, /* jjPlus JWAP003 */
+ ATH79_MACH_HORNET_UB, /* ALFA Networks Hornet-UB */
++ ATH79_MACH_MR12, /* Cisco Meraki MR12 */
++ ATH79_MACH_MR16, /* Cisco Meraki MR16 */
+ ATH79_MACH_MR600V2, /* OpenMesh MR600v2 */
+ ATH79_MACH_MR600, /* OpenMesh MR600 */
+ ATH79_MACH_MR900, /* OpenMesh MR900 */
@@ -74,6 +80,7 @@
+ ATH79_MACH_OM2P_LC, /* OpenMesh OM2P-LC */
+ ATH79_MACH_OM2Pv2, /* OpenMesh OM2Pv2 */
+ ATH79_MACH_OM2P, /* OpenMesh OM2P */
++ ATH79_MACH_OM5P_AN, /* OpenMesh OM5P-AN */
+ ATH79_MACH_OM5P, /* OpenMesh OM5P */
+ ATH79_MACH_PB42, /* Atheros PB42 */
+ ATH79_MACH_PB92, /* Atheros PB92 */
@@ -93,6 +100,7 @@
+ ATH79_MACH_RB_750G_R3, /* MikroTik RouterBOARD 750GL */
+ ATH79_MACH_RB_751, /* MikroTik RouterBOARD 751 */
+ ATH79_MACH_RB_751G, /* Mikrotik RouterBOARD 751G */
++ ATH79_MACH_RB_922GS, /* Mikrotik RouterBOARD 911/922GS boards */
+ ATH79_MACH_RB_951G, /* Mikrotik RouterBOARD 951G */
+ ATH79_MACH_RB_951U, /* Mikrotik RouterBOARD 951Ui-2HnD */
+ ATH79_MACH_RB_2011G, /* Mikrotik RouterBOARD 2011UAS-2HnD */
@@ -107,6 +115,7 @@
+ ATH79_MACH_TEW_673GRU, /* TRENDnet TEW-673GRU */
+ ATH79_MACH_TEW_712BR, /* TRENDnet TEW-712BR */
+ ATH79_MACH_TEW_732BR, /* TRENDnet TEW-732BR */
++ ATH79_MACH_MC_MAC1200R, /* MERCURY MAC1200R*/
+ ATH79_MACH_TL_MR10U, /* TP-LINK TL-MR10U */
+ ATH79_MACH_TL_MR11U, /* TP-LINK TL-MR11U */
+ ATH79_MACH_TL_MR13U, /* TP-LINK TL-MR13U */
@@ -157,6 +166,8 @@
ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
+ ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */
ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
+ ATH79_MACH_UBNT_ROCKET_M_XW, /* Ubiquiti Rocket M XW*/
+ ATH79_MACH_UBNT_ROCKET_M_TI, /* Ubiquiti Rocket M TI*/
+ ATH79_MACH_UBNT_RSPRO, /* Ubiquiti RouterStation Pro */
+ ATH79_MACH_UBNT_RS, /* Ubiquiti RouterStation */
ATH79_MACH_UBNT_UAP_PRO, /* Ubiquiti UniFi AP Pro */
@@ -198,7 +209,7 @@
#endif /* _ATH79_MACHTYPE_H */
--- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig
-@@ -2,6 +2,70 @@ if ATH79
+@@ -2,6 +2,90 @@ if ATH79
menu "Atheros AR71XX/AR724X/AR913X machine selection"
@@ -256,6 +267,26 @@
+ select ATH79_DEV_LEDS_GPIO
+ select ATH79_DEV_M25P80
+
++config ATH79_MACH_ANTMINER_S1
++ bool "Bitmain Antminer S1 support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_ANTMINER_S3
++ bool "Bitmain Antminer S3 support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
+config ATH79_MACH_AP113
+ bool "Atheros AP113 board support"
+ select SOC_AR724X
@@ -269,7 +300,7 @@
config ATH79_MACH_AP121
bool "Atheros AP121 reference board"
select SOC_AR933X
-@@ -11,62 +75,1031 @@ config ATH79_MACH_AP121
+@@ -11,62 +95,1097 @@ config ATH79_MACH_AP121
select ATH79_DEV_M25P80
select ATH79_DEV_USB
select ATH79_DEV_WMAC
@@ -305,6 +336,20 @@
+ Say 'Y' here if you want your kernel to support the
+ Atheros AP136 or AP135 reference boards.
+
++config ATH79_MACH_AP143
++ bool "Atheros AP143 reference board"
++ select SOC_QCA953X
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_SPI
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ select ATH79_DEV_ETH
++ select ATH79_DEV_M25P80
++ help
++ Say 'Y' here if you want your kernel to support the
++ Atheros AP143 reference board.
++
+config ATH79_MACH_AP81
+ bool "Atheros AP81 reference board"
+ select SOC_AR913X
@@ -397,6 +442,17 @@
+ select ATH79_DEV_USB
+ select ATH79_DEV_WMAC
+
++config ATH79_MACH_EPG5000
++ bool "EnGenius EPG5000 board support"
++ select SOC_QCA955X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ select ATH79_NVRAM
++
+config ATH79_MACH_ESR1750
+ bool "EnGenius ESR1750 board support"
+ select SOC_QCA955X
@@ -780,6 +836,16 @@
+ select ATH79_DEV_USB
+ select ATH79_DEV_WMAC
+
++config ATH79_MACH_MC_MAC1200R
++ bool "MERCURY MAC1200R board support"
++ select SOC_AR934X
++ select ATH79_DEV_AP9X_PCI if PCI
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++
+config ATH79_MACH_RB4XX
+ bool "MikroTik RouterBOARD 4xx series support"
+ select SOC_AR71XX
@@ -805,6 +871,16 @@
+ select ATH79_DEV_USB
+ select ATH79_ROUTERBOOT
+
++config ATH79_MACH_RB922
++ bool "MikroTik RouterBOARD 922 support"
++ select SOC_QCA955X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_NFC
++ select ATH79_DEV_USB
++ select ATH79_ROUTERBOOT
++ select RLE_DECOMPRESS
++
+config ATH79_MACH_RB95X
+ bool "MikroTik RouterBOARD 95X support"
+ select SOC_AR934X
@@ -923,6 +999,27 @@
+config ATH79_MACH_OM5P
+ bool "OpenMesh OM5P board support"
+ select SOC_AR934X
++ select ATH79_DEV_AP9X_PCI if PCI
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_MR12
++ bool "Meraki MR12 board support"
++ select SOC_AR724X
++ select ATH79_DEV_AP9X_PCI if PCI
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_MR16
++ bool "Meraki MR16 board support"
++ select SOC_AR71XX
++ select ATH79_DEV_AP9X_PCI if PCI
+ select ATH79_DEV_ETH
+ select ATH79_DEV_GPIO_BUTTONS
+ select ATH79_DEV_LEDS_GPIO
@@ -1329,7 +1426,7 @@
config ATH79_MACH_UBNT_XM
bool "Ubiquiti Networks XM/UniFi boards"
-@@ -83,6 +1116,97 @@ config ATH79_MACH_UBNT_XM
+@@ -83,6 +1202,97 @@ config ATH79_MACH_UBNT_XM
Say 'Y' here if you want your kernel to support the
Ubiquiti Networks XM (rev 1.0) board.
@@ -1427,7 +1524,7 @@
endmenu
config SOC_AR71XX
-@@ -124,7 +1248,10 @@ config ATH79_DEV_DSA
+@@ -134,7 +1344,10 @@ config ATH79_DEV_DSA
config ATH79_DEV_ETH
def_bool n
@@ -1439,7 +1536,7 @@
def_bool n
config ATH79_DEV_GPIO_BUTTONS
-@@ -154,6 +1281,11 @@ config ATH79_PCI_ATH9K_FIXUP
+@@ -164,6 +1377,11 @@ config ATH79_PCI_ATH9K_FIXUP
def_bool n
config ATH79_ROUTERBOOT
@@ -1453,7 +1550,7 @@
endif
--- a/arch/mips/ath79/Makefile
+++ b/arch/mips/ath79/Makefile
-@@ -38,9 +38,124 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route
+@@ -38,9 +38,132 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route
#
# Machines
#
@@ -1461,10 +1558,13 @@
+obj-$(CONFIG_ATH79_MACH_ALFA_NX) += mach-alfa-nx.o
+obj-$(CONFIG_ATH79_MACH_ALL0258N) += mach-all0258n.o
+obj-$(CONFIG_ATH79_MACH_ALL0315N) += mach-all0315n.o
++obj-$(CONFIG_ATH79_MACH_ANTMINER_S1)+= mach-antminer-s1.o
++obj-$(CONFIG_ATH79_MACH_ANTMINER_S3)+= mach-antminer-s3.o
+obj-$(CONFIG_ATH79_MACH_AP113) += mach-ap113.o
obj-$(CONFIG_ATH79_MACH_AP121) += mach-ap121.o
+obj-$(CONFIG_ATH79_MACH_AP132) += mach-ap132.o
obj-$(CONFIG_ATH79_MACH_AP136) += mach-ap136.o
++obj-$(CONFIG_ATH79_MACH_AP143) += mach-ap143.o
obj-$(CONFIG_ATH79_MACH_AP81) += mach-ap81.o
+obj-$(CONFIG_ATH79_MACH_AP83) += mach-ap83.o
+obj-$(CONFIG_ATH79_MACH_AP96) += mach-ap96.o
@@ -1491,6 +1591,7 @@
+obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o
+obj-$(CONFIG_ATH79_MACH_EL_M150) += mach-el-m150.o
+obj-$(CONFIG_ATH79_MACH_EL_MINI) += mach-el-mini.o
++obj-$(CONFIG_ATH79_MACH_EPG5000) += mach-epg5000.o
+obj-$(CONFIG_ATH79_MACH_ESR1750) += mach-esr1750.o
+obj-$(CONFIG_ATH79_MACH_F9K1115V2) += mach-f9k1115v2.o
+obj-$(CONFIG_ATH79_MACH_GL_INET) += mach-gl-inet.o
@@ -1499,6 +1600,9 @@
+obj-$(CONFIG_ATH79_MACH_JA76PF) += mach-ja76pf.o
+obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o
+obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.o
++obj-$(CONFIG_ATH79_MACH_MC_MAC1200R) += mach-mc-mac1200r.o
++obj-$(CONFIG_ATH79_MACH_MR12) += mach-mr12.o
++obj-$(CONFIG_ATH79_MACH_MR16) += mach-mr16.o
+obj-$(CONFIG_ATH79_MACH_MR600) += mach-mr600.o
+obj-$(CONFIG_ATH79_MACH_MR900) += mach-mr900.o
+obj-$(CONFIG_ATH79_MACH_MYNET_N600) += mach-mynet-n600.o
@@ -1517,6 +1621,7 @@
+obj-$(CONFIG_ATH79_MACH_RB4XX) += mach-rb4xx.o
+obj-$(CONFIG_ATH79_MACH_RB750) += mach-rb750.o
+obj-$(CONFIG_ATH79_MACH_RB91X) += mach-rb91x.o
++obj-$(CONFIG_ATH79_MACH_RB922) += mach-rb922.o
+obj-$(CONFIG_ATH79_MACH_RB95X) += mach-rb95x.o
+obj-$(CONFIG_ATH79_MACH_RB2011) += mach-rb2011.o
+obj-$(CONFIG_ATH79_MACH_RBSXTLITE) += mach-rbsxtlite.o
@@ -1580,7 +1685,7 @@
+obj-$(CONFIG_ATH79_MACH_NBG6716) += mach-nbg6716.o
--- a/arch/mips/ath79/prom.c
+++ b/arch/mips/ath79/prom.c
-@@ -130,6 +130,12 @@ void __init prom_init(void)
+@@ -130,6 +130,13 @@ void __init prom_init(void)
initrd_end = initrd_start + fw_getenvl("initrd_size");
}
#endif
@@ -1588,7 +1693,8 @@
+ if (strstr(arcs_cmdline, "board=750Gr3") ||
+ strstr(arcs_cmdline, "board=951G") ||
+ strstr(arcs_cmdline, "board=2011L") ||
-+ strstr(arcs_cmdline, "board=711Gr100"))
++ strstr(arcs_cmdline, "board=711Gr100") ||
++ strstr(arcs_cmdline, "board=922gs"))
+ ath79_prom_append_cmdline("console", "ttyS0,115200");
}
diff --git a/target/linux/ar71xx/patches-4.1/718-MIPS-ath79-add-EPG5000-support.patch b/target/linux/ar71xx/patches-4.1/718-MIPS-ath79-add-EPG5000-support.patch
deleted file mode 100644
index a47e24d61b..0000000000
--- a/target/linux/ar71xx/patches-4.1/718-MIPS-ath79-add-EPG5000-support.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/arch/mips/ath79/Kconfig
-+++ b/arch/mips/ath79/Kconfig
-@@ -196,6 +196,17 @@ config ATH79_MACH_F9K1115V2
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
-
-+config ATH79_MACH_EPG5000
-+ bool "EnGenius EPG5000 board support"
-+ select SOC_QCA955X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ select ATH79_NVRAM
-+
- config ATH79_MACH_ESR1750
- bool "EnGenius ESR1750 board support"
- select SOC_QCA955X
---- a/arch/mips/ath79/Makefile
-+++ b/arch/mips/ath79/Makefile
-@@ -72,6 +72,7 @@ obj-$(CONFIG_ATH79_MACH_EAP300V2) += mac
- obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o
- obj-$(CONFIG_ATH79_MACH_EL_M150) += mach-el-m150.o
- obj-$(CONFIG_ATH79_MACH_EL_MINI) += mach-el-mini.o
-+obj-$(CONFIG_ATH79_MACH_EPG5000) += mach-epg5000.o
- obj-$(CONFIG_ATH79_MACH_ESR1750) += mach-esr1750.o
- obj-$(CONFIG_ATH79_MACH_F9K1115V2) += mach-f9k1115v2.o
- obj-$(CONFIG_ATH79_MACH_GL_INET) += mach-gl-inet.o
---- a/arch/mips/ath79/machtypes.h
-+++ b/arch/mips/ath79/machtypes.h
-@@ -62,6 +62,7 @@ enum ath79_mach_type {
- ATH79_MACH_EL_M150, /* EasyLink EL-M150 */
- ATH79_MACH_EL_MINI, /* EasyLink EL-MINI */
- ATH79_MACH_ESR1750, /* EnGenius ESR1750 */
-+ ATH79_MACH_EPG5000, /* EnGenius EPG5000 */
- ATH79_MACH_F9K1115V2, /* Belkin AC1750DB */
- ATH79_MACH_GL_INET, /* GL-CONNECT GL-INET */
- ATH79_MACH_GS_OOLITE, /* GS OOLITE V1.0 */
diff --git a/target/linux/ar71xx/patches-4.1/736-MIPS-ath79-add-MC-MAC1200R-support.patch b/target/linux/ar71xx/patches-4.1/736-MIPS-ath79-add-MC-MAC1200R-support.patch
deleted file mode 100644
index 4c041d0b53..0000000000
--- a/target/linux/ar71xx/patches-4.1/736-MIPS-ath79-add-MC-MAC1200R-support.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/arch/mips/ath79/Kconfig
-+++ b/arch/mips/ath79/Kconfig
-@@ -590,6 +590,16 @@ config ATH79_MACH_R6100
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
-
-+config ATH79_MACH_MC_MAC1200R
-+ bool "MERCURY MAC1200R board support"
-+ select SOC_AR934X
-+ select ATH79_DEV_AP9X_PCI if PCI
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+
- config ATH79_MACH_RB4XX
- bool "MikroTik RouterBOARD 4xx series support"
- select SOC_AR71XX
---- a/arch/mips/ath79/Makefile
-+++ b/arch/mips/ath79/Makefile
-@@ -81,6 +81,7 @@ obj-$(CONFIG_ATH79_MACH_HIWIFI_HC6361) +
- obj-$(CONFIG_ATH79_MACH_JA76PF) += mach-ja76pf.o
- obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o
- obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.o
-+obj-$(CONFIG_ATH79_MACH_MC_MAC1200R) += mach-mc-mac1200r.o
- obj-$(CONFIG_ATH79_MACH_MR600) += mach-mr600.o
- obj-$(CONFIG_ATH79_MACH_MR900) += mach-mr900.o
- obj-$(CONFIG_ATH79_MACH_MYNET_N600) += mach-mynet-n600.o
---- a/arch/mips/ath79/machtypes.h
-+++ b/arch/mips/ath79/machtypes.h
-@@ -120,6 +120,7 @@ enum ath79_mach_type {
- ATH79_MACH_TEW_673GRU, /* TRENDnet TEW-673GRU */
- ATH79_MACH_TEW_712BR, /* TRENDnet TEW-712BR */
- ATH79_MACH_TEW_732BR, /* TRENDnet TEW-732BR */
-+ ATH79_MACH_MC_MAC1200R, /* MERCURY MAC1200R*/
- ATH79_MACH_TL_MR10U, /* TP-LINK TL-MR10U */
- ATH79_MACH_TL_MR11U, /* TP-LINK TL-MR11U */
- ATH79_MACH_TL_MR13U, /* TP-LINK TL-MR13U */
diff --git a/target/linux/ar71xx/patches-4.1/737-MIPS-ath79-add-om5p-an-support.patch b/target/linux/ar71xx/patches-4.1/737-MIPS-ath79-add-om5p-an-support.patch
deleted file mode 100644
index 935a845ab4..0000000000
--- a/target/linux/ar71xx/patches-4.1/737-MIPS-ath79-add-om5p-an-support.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/arch/mips/ath79/machtypes.h
-+++ b/arch/mips/ath79/machtypes.h
-@@ -87,6 +87,7 @@ enum ath79_mach_type {
- ATH79_MACH_OM2P_LC, /* OpenMesh OM2P-LC */
- ATH79_MACH_OM2Pv2, /* OpenMesh OM2Pv2 */
- ATH79_MACH_OM2P, /* OpenMesh OM2P */
-+ ATH79_MACH_OM5P_AN, /* OpenMesh OM5P-AN */
- ATH79_MACH_OM5P, /* OpenMesh OM5P */
- ATH79_MACH_PB42, /* Atheros PB42 */
- ATH79_MACH_PB92, /* Atheros PB92 */
---- a/arch/mips/ath79/Kconfig
-+++ b/arch/mips/ath79/Kconfig
-@@ -743,6 +743,7 @@ config ATH79_MACH_OM2P
- config ATH79_MACH_OM5P
- bool "OpenMesh OM5P board support"
- select SOC_AR934X
-+ select ATH79_DEV_AP9X_PCI if PCI
- select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
diff --git a/target/linux/ar71xx/patches-4.1/738-MIPS-ath79-add-meraki-mr12-mr16-support.patch b/target/linux/ar71xx/patches-4.1/738-MIPS-ath79-add-meraki-mr12-mr16-support.patch
deleted file mode 100644
index 94d0aedc56..0000000000
--- a/target/linux/ar71xx/patches-4.1/738-MIPS-ath79-add-meraki-mr12-mr16-support.patch
+++ /dev/null
@@ -1,51 +0,0 @@
---- a/arch/mips/ath79/Kconfig
-+++ b/arch/mips/ath79/Kconfig
-@@ -750,6 +750,26 @@ config ATH79_MACH_OM5P
- select ATH79_DEV_M25P80
- select ATH79_DEV_WMAC
-
-+config ATH79_MACH_MR12
-+ bool "Meraki MR12 board support"
-+ select SOC_AR724X
-+ select ATH79_DEV_AP9X_PCI if PCI
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_MR16
-+ bool "Meraki MR16 board support"
-+ select SOC_AR71XX
-+ select ATH79_DEV_AP9X_PCI if PCI
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+
- config ATH79_MACH_MR600
- bool "OpenMesh MR600 board support"
- select SOC_AR934X
---- a/arch/mips/ath79/Makefile
-+++ b/arch/mips/ath79/Makefile
-@@ -82,6 +82,8 @@ obj-$(CONFIG_ATH79_MACH_JA76PF) += mach
- obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o
- obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.o
- obj-$(CONFIG_ATH79_MACH_MC_MAC1200R) += mach-mc-mac1200r.o
-+obj-$(CONFIG_ATH79_MACH_MR12) += mach-mr12.o
-+obj-$(CONFIG_ATH79_MACH_MR16) += mach-mr16.o
- obj-$(CONFIG_ATH79_MACH_MR600) += mach-mr600.o
- obj-$(CONFIG_ATH79_MACH_MR900) += mach-mr900.o
- obj-$(CONFIG_ATH79_MACH_MYNET_N600) += mach-mynet-n600.o
---- a/arch/mips/ath79/machtypes.h
-+++ b/arch/mips/ath79/machtypes.h
-@@ -71,6 +71,8 @@ enum ath79_mach_type {
- ATH79_MACH_JA76PF2, /* jjPlus JA76PF2 */
- ATH79_MACH_JWAP003, /* jjPlus JWAP003 */
- ATH79_MACH_HORNET_UB, /* ALFA Networks Hornet-UB */
-+ ATH79_MACH_MR12, /* Cisco Meraki MR12 */
-+ ATH79_MACH_MR16, /* Cisco Meraki MR16 */
- ATH79_MACH_MR600V2, /* OpenMesh MR600v2 */
- ATH79_MACH_MR600, /* OpenMesh MR600 */
- ATH79_MACH_MR900, /* OpenMesh MR900 */
diff --git a/target/linux/ar71xx/patches-4.1/800-MIPS-ath79-add-RB922GS-support.patch b/target/linux/ar71xx/patches-4.1/800-MIPS-ath79-add-RB922GS-support.patch
deleted file mode 100644
index ca28652da1..0000000000
--- a/target/linux/ar71xx/patches-4.1/800-MIPS-ath79-add-RB922GS-support.patch
+++ /dev/null
@@ -1,51 +0,0 @@
---- a/arch/mips/ath79/Kconfig
-+++ b/arch/mips/ath79/Kconfig
-@@ -625,6 +625,16 @@ config ATH79_MACH_RB91X
- select ATH79_DEV_USB
- select ATH79_ROUTERBOOT
-
-+config ATH79_MACH_RB922
-+ bool "MikroTik RouterBOARD 922 support"
-+ select SOC_QCA955X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_NFC
-+ select ATH79_DEV_USB
-+ select ATH79_ROUTERBOOT
-+ select RLE_DECOMPRESS
-+
- config ATH79_MACH_RB95X
- bool "MikroTik RouterBOARD 95X support"
- select SOC_AR934X
---- a/arch/mips/ath79/Makefile
-+++ b/arch/mips/ath79/Makefile
-@@ -102,6 +102,7 @@ obj-$(CONFIG_ATH79_MACH_R6100) += mach-
- obj-$(CONFIG_ATH79_MACH_RB4XX) += mach-rb4xx.o
- obj-$(CONFIG_ATH79_MACH_RB750) += mach-rb750.o
- obj-$(CONFIG_ATH79_MACH_RB91X) += mach-rb91x.o
-+obj-$(CONFIG_ATH79_MACH_RB922) += mach-rb922.o
- obj-$(CONFIG_ATH79_MACH_RB95X) += mach-rb95x.o
- obj-$(CONFIG_ATH79_MACH_RB2011) += mach-rb2011.o
- obj-$(CONFIG_ATH79_MACH_RBSXTLITE) += mach-rbsxtlite.o
---- a/arch/mips/ath79/machtypes.h
-+++ b/arch/mips/ath79/machtypes.h
-@@ -109,6 +109,7 @@ enum ath79_mach_type {
- ATH79_MACH_RB_750G_R3, /* MikroTik RouterBOARD 750GL */
- ATH79_MACH_RB_751, /* MikroTik RouterBOARD 751 */
- ATH79_MACH_RB_751G, /* Mikrotik RouterBOARD 751G */
-+ ATH79_MACH_RB_922GS, /* Mikrotik RouterBOARD 911/922GS boards */
- ATH79_MACH_RB_951G, /* Mikrotik RouterBOARD 951G */
- ATH79_MACH_RB_951U, /* Mikrotik RouterBOARD 951Ui-2HnD */
- ATH79_MACH_RB_2011G, /* Mikrotik RouterBOARD 2011UAS-2HnD */
---- a/arch/mips/ath79/prom.c
-+++ b/arch/mips/ath79/prom.c
-@@ -134,7 +134,8 @@ void __init prom_init(void)
- if (strstr(arcs_cmdline, "board=750Gr3") ||
- strstr(arcs_cmdline, "board=951G") ||
- strstr(arcs_cmdline, "board=2011L") ||
-- strstr(arcs_cmdline, "board=711Gr100"))
-+ strstr(arcs_cmdline, "board=711Gr100") ||
-+ strstr(arcs_cmdline, "board=922gs"))
- ath79_prom_append_cmdline("console", "ttyS0,115200");
- }
-
diff --git a/target/linux/ar71xx/patches-4.1/812-MIPS-ath79-add-ap143-support.patch b/target/linux/ar71xx/patches-4.1/812-MIPS-ath79-add-ap143-support.patch
deleted file mode 100644
index 29d91ef284..0000000000
--- a/target/linux/ar71xx/patches-4.1/812-MIPS-ath79-add-ap143-support.patch
+++ /dev/null
@@ -1,43 +0,0 @@
---- a/arch/mips/ath79/Kconfig
-+++ b/arch/mips/ath79/Kconfig
-@@ -104,6 +104,20 @@ config ATH79_MACH_AP136
- Say 'Y' here if you want your kernel to support the
- Atheros AP136 or AP135 reference boards.
-
-+config ATH79_MACH_AP143
-+ bool "Atheros AP143 reference board"
-+ select SOC_QCA953X
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_SPI
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_M25P80
-+ help
-+ Say 'Y' here if you want your kernel to support the
-+ Atheros AP143 reference board.
-+
- config ATH79_MACH_AP81
- bool "Atheros AP81 reference board"
- select SOC_AR913X
---- a/arch/mips/ath79/Makefile
-+++ b/arch/mips/ath79/Makefile
-@@ -46,6 +46,7 @@ obj-$(CONFIG_ATH79_MACH_AP113) += mach-
- obj-$(CONFIG_ATH79_MACH_AP121) += mach-ap121.o
- obj-$(CONFIG_ATH79_MACH_AP132) += mach-ap132.o
- obj-$(CONFIG_ATH79_MACH_AP136) += mach-ap136.o
-+obj-$(CONFIG_ATH79_MACH_AP143) += mach-ap143.o
- obj-$(CONFIG_ATH79_MACH_AP81) += mach-ap81.o
- obj-$(CONFIG_ATH79_MACH_AP83) += mach-ap83.o
- obj-$(CONFIG_ATH79_MACH_AP96) += mach-ap96.o
---- a/arch/mips/ath79/machtypes.h
-+++ b/arch/mips/ath79/machtypes.h
-@@ -28,6 +28,7 @@ enum ath79_mach_type {
- ATH79_MACH_AP135_020, /* Atheros AP135-020 reference board */
- ATH79_MACH_AP136_010, /* Atheros AP136-010 reference board */
- ATH79_MACH_AP136_020, /* Atheros AP136-020 reference board */
-+ ATH79_MACH_AP143, /* Atheros AP143 reference board */
- ATH79_MACH_AP81, /* Atheros AP81 reference board */
- ATH79_MACH_AP83, /* Atheros AP83 */
- ATH79_MACH_AP96, /* Atheros AP96 */
diff --git a/target/linux/ar71xx/patches-4.1/901-mdio_bitbang_ignore_ta_value.patch b/target/linux/ar71xx/patches-4.1/900-mdio_bitbang_ignore_ta_value.patch
index 39584aabfa..39584aabfa 100644
--- a/target/linux/ar71xx/patches-4.1/901-mdio_bitbang_ignore_ta_value.patch
+++ b/target/linux/ar71xx/patches-4.1/900-mdio_bitbang_ignore_ta_value.patch
diff --git a/target/linux/ar71xx/patches-4.1/904-phy-mdio-bitbang-prevent-rescheduling-during-command.patch b/target/linux/ar71xx/patches-4.1/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch
index 68f86e0e09..68f86e0e09 100644
--- a/target/linux/ar71xx/patches-4.1/904-phy-mdio-bitbang-prevent-rescheduling-during-command.patch
+++ b/target/linux/ar71xx/patches-4.1/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch
diff --git a/target/linux/ar71xx/patches-4.1/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch b/target/linux/ar71xx/patches-4.1/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch
deleted file mode 100644
index ad302636da..0000000000
--- a/target/linux/ar71xx/patches-4.1/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch
+++ /dev/null
@@ -1,56 +0,0 @@
---- a/arch/mips/ath79/machtypes.h
-+++ b/arch/mips/ath79/machtypes.h
-@@ -176,6 +176,7 @@ enum ath79_mach_type {
- ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
- ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */
- ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
-+ ATH79_MACH_UBNT_ROCKET_M_XW, /* Ubiquiti Rocket M XW*/
- ATH79_MACH_UBNT_RSPRO, /* Ubiquiti RouterStation Pro */
- ATH79_MACH_UBNT_RS, /* Ubiquiti RouterStation */
- ATH79_MACH_UBNT_UAP_PRO, /* Ubiquiti UniFi AP Pro */
---- a/arch/mips/ath79/mach-ubnt-xm.c
-+++ b/arch/mips/ath79/mach-ubnt-xm.c
-@@ -449,12 +449,43 @@ static void __init ubnt_loco_m_xw_setup(
- ath79_register_eth(0);
- }
-
-+static void __init ubnt_rocket_m_xw_setup(void)
-+{
-+ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
-+
-+ ath79_register_m25p80(NULL);
-+
-+ ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_xw_leds_gpio),
-+ ubnt_xw_leds_gpio);
-+ ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
-+ ARRAY_SIZE(ubnt_xm_gpio_keys),
-+ ubnt_xm_gpio_keys);
-+
-+ ath79_register_wmac(eeprom + UAP_PRO_WMAC_CALDATA_OFFSET, NULL);
-+ ap91_pci_init(eeprom + UAP_PRO_PCI_CALDATA_OFFSET, NULL);
-+
-+ ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
-+ ath79_init_mac(ath79_eth0_data.mac_addr,
-+ eeprom + UAP_PRO_MAC0_OFFSET, 0);
-+
-+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
-+ ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-+
-+ ath79_register_mdio(0, ~BIT(4));
-+ ath79_eth0_data.phy_mask = BIT(4);
-+ ath79_eth0_pll_data.pll_1000 = 0x06000000;
-+ ath79_register_eth(0);
-+}
-+
- MIPS_MACHINE(ATH79_MACH_UBNT_NANO_M_XW, "UBNT-NM-XW", "Ubiquiti Nanostation M XW",
- ubnt_nano_m_xw_setup);
-
- MIPS_MACHINE(ATH79_MACH_UBNT_LOCO_M_XW, "UBNT-LOCO-XW", "Ubiquiti Loco M XW",
- ubnt_loco_m_xw_setup);
-
-+MIPS_MACHINE(ATH79_MACH_UBNT_ROCKET_M_XW, "UBNT-RM-XW", "Ubiquiti Rocket M XW",
-+ ubnt_rocket_m_xw_setup);
-+
- static struct gpio_led ubnt_airgateway_gpio_leds[] __initdata = {
- {
- .name = "ubnt:blue:wlan",
diff --git a/target/linux/ar71xx/patches-4.1/904-MIPS-ath79-bitmain-antminer-s1-support.patch b/target/linux/ar71xx/patches-4.1/904-MIPS-ath79-bitmain-antminer-s1-support.patch
deleted file mode 100644
index 875061467c..0000000000
--- a/target/linux/ar71xx/patches-4.1/904-MIPS-ath79-bitmain-antminer-s1-support.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/arch/mips/ath79/machtypes.h
-+++ b/arch/mips/ath79/machtypes.h
-@@ -21,6 +21,7 @@ enum ath79_mach_type {
- ATH79_MACH_ALL0258N, /* Allnet ALL0258N */
- ATH79_MACH_ALL0305, /* Allnet ALL0305 */
- ATH79_MACH_ALL0315N, /* Allnet ALL0315N */
-+ ATH79_MACH_ANTMINER_S1, /* Bitmain Antminer S1 */
- ATH79_MACH_AP113, /* Atheros AP113 reference board */
- ATH79_MACH_AP121, /* Atheros AP121 reference board */
- ATH79_MACH_AP121_MINI, /* Atheros AP121-MINI reference board */
---- a/arch/mips/ath79/Kconfig
-+++ b/arch/mips/ath79/Kconfig
-@@ -56,6 +56,16 @@ config ATH79_MACH_ALL0315N
- select ATH79_DEV_LEDS_GPIO
- select ATH79_DEV_M25P80
-
-+config ATH79_MACH_ANTMINER_S1
-+ bool "Bitmain Antminer S1 support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
- config ATH79_MACH_AP113
- bool "Atheros AP113 board support"
- select SOC_AR724X
---- a/arch/mips/ath79/Makefile
-+++ b/arch/mips/ath79/Makefile
-@@ -42,6 +42,7 @@ obj-$(CONFIG_ATH79_MACH_ALFA_AP96) += ma
- obj-$(CONFIG_ATH79_MACH_ALFA_NX) += mach-alfa-nx.o
- obj-$(CONFIG_ATH79_MACH_ALL0258N) += mach-all0258n.o
- obj-$(CONFIG_ATH79_MACH_ALL0315N) += mach-all0315n.o
-+obj-$(CONFIG_ATH79_MACH_ANTMINER_S1)+= mach-antminer-s1.o
- obj-$(CONFIG_ATH79_MACH_AP113) += mach-ap113.o
- obj-$(CONFIG_ATH79_MACH_AP121) += mach-ap121.o
- obj-$(CONFIG_ATH79_MACH_AP132) += mach-ap132.o
diff --git a/target/linux/ar71xx/patches-4.1/904-MIPS-ath79-ubnt-rocket-m-ti-supprt.patch b/target/linux/ar71xx/patches-4.1/904-MIPS-ath79-ubnt-rocket-m-ti-supprt.patch
deleted file mode 100644
index 52d4a09bcc..0000000000
--- a/target/linux/ar71xx/patches-4.1/904-MIPS-ath79-ubnt-rocket-m-ti-supprt.patch
+++ /dev/null
@@ -1,135 +0,0 @@
---- a/arch/mips/ath79/mach-ubnt-xm.c
-+++ b/arch/mips/ath79/mach-ubnt-xm.c
-@@ -21,6 +21,8 @@
- #include <asm/mach-ath79/irq.h>
- #include <asm/mach-ath79/ar71xx_regs.h>
-
-+#include <linux/platform_data/phy-at803x.h>
-+
- #include "common.h"
- #include "dev-ap9x-pci.h"
- #include "dev-eth.h"
-@@ -404,6 +406,40 @@ static struct gpio_led ubnt_xw_leds_gpio
- },
- };
-
-+#define UBNT_ROCKET_TI_GPIO_LED_L1 16
-+#define UBNT_ROCKET_TI_GPIO_LED_L2 17
-+#define UBNT_ROCKET_TI_GPIO_LED_L3 18
-+#define UBNT_ROCKET_TI_GPIO_LED_L4 19
-+#define UBNT_ROCKET_TI_GPIO_LED_L5 20
-+#define UBNT_ROCKET_TI_GPIO_LED_L6 21
-+static struct gpio_led ubnt_rocket_ti_leds_gpio[] __initdata = {
-+ {
-+ .name = "ubnt:green:link1",
-+ .gpio = UBNT_ROCKET_TI_GPIO_LED_L1,
-+ .active_low = 1,
-+ }, {
-+ .name = "ubnt:green:link2",
-+ .gpio = UBNT_ROCKET_TI_GPIO_LED_L2,
-+ .active_low = 1,
-+ }, {
-+ .name = "ubnt:green:link3",
-+ .gpio = UBNT_ROCKET_TI_GPIO_LED_L3,
-+ .active_low = 1,
-+ }, {
-+ .name = "ubnt:green:link4",
-+ .gpio = UBNT_ROCKET_TI_GPIO_LED_L4,
-+ .active_low = 0,
-+ }, {
-+ .name = "ubnt:green:link5",
-+ .gpio = UBNT_ROCKET_TI_GPIO_LED_L5,
-+ .active_low = 0,
-+ }, {
-+ .name = "ubnt:green:link6",
-+ .gpio = UBNT_ROCKET_TI_GPIO_LED_L6,
-+ .active_low = 0,
-+ },
-+};
-+
- static void __init ubnt_xw_init(void)
- {
- u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
-@@ -477,6 +513,62 @@ static void __init ubnt_rocket_m_xw_setu
- ath79_register_eth(0);
- }
-
-+static struct at803x_platform_data ubnt_rocket_m_ti_at803_data = {
-+ .disable_smarteee = 1,
-+ .enable_rgmii_rx_delay = 1,
-+ .enable_rgmii_tx_delay = 1,
-+};
-+static struct mdio_board_info ubnt_rocket_m_ti_mdio_info[] = {
-+ {
-+ .bus_id = "ag71xx-mdio.0",
-+ .phy_addr = 4,
-+ .platform_data = &ubnt_rocket_m_ti_at803_data,
-+ },
-+};
-+
-+static void __init ubnt_rocket_m_ti_setup(void)
-+{
-+ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
-+
-+ ath79_register_m25p80(NULL);
-+
-+ ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_rocket_ti_leds_gpio),
-+ ubnt_rocket_ti_leds_gpio);
-+ ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
-+ ARRAY_SIZE(ubnt_xm_gpio_keys),
-+ ubnt_xm_gpio_keys);
-+
-+ ap91_pci_init(eeprom + 0x1000, NULL);
-+
-+ ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
-+ ath79_setup_ar934x_eth_rx_delay(3, 3);
-+ ath79_init_mac(ath79_eth0_data.mac_addr,
-+ eeprom + UAP_PRO_MAC0_OFFSET, 0);
-+ ath79_init_mac(ath79_eth1_data.mac_addr,
-+ eeprom + UAP_PRO_MAC1_OFFSET, 0);
-+
-+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
-+ ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-+ ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
-+ ath79_eth1_data.mii_bus_dev = &ath79_mdio1_device.dev;
-+
-+ mdiobus_register_board_info(ubnt_rocket_m_ti_mdio_info,
-+ ARRAY_SIZE(ubnt_rocket_m_ti_mdio_info));
-+ ath79_register_mdio(0, 0x0);
-+
-+
-+ ath79_eth0_data.phy_mask = BIT(4);
-+ /* read out from vendor */
-+ ath79_eth0_pll_data.pll_1000 = 0x2000000;
-+ ath79_eth0_pll_data.pll_10 = 0x1313;
-+ ath79_register_eth(0);
-+
-+ ath79_register_mdio(1, 0x0);
-+ ath79_eth1_data.phy_mask = BIT(3);
-+ ath79_register_eth(1);
-+}
-+
-+
- MIPS_MACHINE(ATH79_MACH_UBNT_NANO_M_XW, "UBNT-NM-XW", "Ubiquiti Nanostation M XW",
- ubnt_nano_m_xw_setup);
-
-@@ -486,6 +578,9 @@ MIPS_MACHINE(ATH79_MACH_UBNT_LOCO_M_XW,
- MIPS_MACHINE(ATH79_MACH_UBNT_ROCKET_M_XW, "UBNT-RM-XW", "Ubiquiti Rocket M XW",
- ubnt_rocket_m_xw_setup);
-
-+MIPS_MACHINE(ATH79_MACH_UBNT_ROCKET_M_TI, "UBNT-RM-TI", "Ubiquiti Rocket M TI",
-+ ubnt_rocket_m_ti_setup);
-+
- static struct gpio_led ubnt_airgateway_gpio_leds[] __initdata = {
- {
- .name = "ubnt:blue:wlan",
---- a/arch/mips/ath79/machtypes.h
-+++ b/arch/mips/ath79/machtypes.h
-@@ -178,6 +178,7 @@ enum ath79_mach_type {
- ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */
- ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
- ATH79_MACH_UBNT_ROCKET_M_XW, /* Ubiquiti Rocket M XW*/
-+ ATH79_MACH_UBNT_ROCKET_M_TI, /* Ubiquiti Rocket M TI*/
- ATH79_MACH_UBNT_RSPRO, /* Ubiquiti RouterStation Pro */
- ATH79_MACH_UBNT_RS, /* Ubiquiti RouterStation */
- ATH79_MACH_UBNT_UAP_PRO, /* Ubiquiti UniFi AP Pro */
diff --git a/target/linux/ar71xx/patches-4.1/905-MIPS-ath79-bitmain-antminer-s3-support.patch b/target/linux/ar71xx/patches-4.1/905-MIPS-ath79-bitmain-antminer-s3-support.patch
deleted file mode 100644
index 7fd77567e6..0000000000
--- a/target/linux/ar71xx/patches-4.1/905-MIPS-ath79-bitmain-antminer-s3-support.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/arch/mips/ath79/machtypes.h
-+++ b/arch/mips/ath79/machtypes.h
-@@ -22,6 +22,7 @@ enum ath79_mach_type {
- ATH79_MACH_ALL0305, /* Allnet ALL0305 */
- ATH79_MACH_ALL0315N, /* Allnet ALL0315N */
- ATH79_MACH_ANTMINER_S1, /* Bitmain Antminer S1 */
-+ ATH79_MACH_ANTMINER_S3, /* Bitmain Antminer S3 */
- ATH79_MACH_AP113, /* Atheros AP113 reference board */
- ATH79_MACH_AP121, /* Atheros AP121 reference board */
- ATH79_MACH_AP121_MINI, /* Atheros AP121-MINI reference board */
---- a/arch/mips/ath79/Kconfig
-+++ b/arch/mips/ath79/Kconfig
-@@ -66,6 +66,16 @@ config ATH79_MACH_ANTMINER_S1
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
-
-+config ATH79_MACH_ANTMINER_S3
-+ bool "Bitmain Antminer S3 support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
- config ATH79_MACH_AP113
- bool "Atheros AP113 board support"
- select SOC_AR724X
---- a/arch/mips/ath79/Makefile
-+++ b/arch/mips/ath79/Makefile
-@@ -43,6 +43,7 @@ obj-$(CONFIG_ATH79_MACH_ALFA_NX) += mach
- obj-$(CONFIG_ATH79_MACH_ALL0258N) += mach-all0258n.o
- obj-$(CONFIG_ATH79_MACH_ALL0315N) += mach-all0315n.o
- obj-$(CONFIG_ATH79_MACH_ANTMINER_S1)+= mach-antminer-s1.o
-+obj-$(CONFIG_ATH79_MACH_ANTMINER_S3)+= mach-antminer-s3.o
- obj-$(CONFIG_ATH79_MACH_AP113) += mach-ap113.o
- obj-$(CONFIG_ATH79_MACH_AP121) += mach-ap121.o
- obj-$(CONFIG_ATH79_MACH_AP132) += mach-ap132.o
diff --git a/target/linux/ar71xx/patches-4.1/902-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.1/910-unaligned_access_hacks.patch
index fbbe22e33b..fbbe22e33b 100644
--- a/target/linux/ar71xx/patches-4.1/902-unaligned_access_hacks.patch
+++ b/target/linux/ar71xx/patches-4.1/910-unaligned_access_hacks.patch