ar71xx: reorganize 4.1 patch directory layout

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46430
owl
Felix Fietkau 2015-07-19 17:59:08 +00:00
parent 573d23dda3
commit b704d3c96e
35 changed files with 275 additions and 554 deletions

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/dev-wmac.c --- a/arch/mips/ath79/dev-wmac.c
+++ b/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; ath79_wmac_data.is_clk_25mhz = false;
else else
ath79_wmac_data.is_clk_25mhz = true; ath79_wmac_data.is_clk_25mhz = true;
@ -8,4 +8,4 @@
+ ath79_wmac_data.get_mac_revision = ar93xx_get_soc_revision; + ath79_wmac_data.get_mac_revision = ar93xx_get_soc_revision;
} }
static void qca953x_wmac_setup(void) static void qca955x_wmac_setup(void)

View File

@ -10,7 +10,7 @@
if (cpu_wait) if (cpu_wait)
--- a/arch/mips/include/asm/mach-ath79/ath79.h --- a/arch/mips/include/asm/mach-ath79/ath79.h
+++ b/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) static inline void ath79_reset_wr(unsigned reg, u32 val)
{ {
__raw_writel(val, ath79_reset_base + reg); __raw_writel(val, ath79_reset_base + reg);

View File

@ -16,7 +16,7 @@
static struct ath9k_platform_data ath79_wmac_data; static struct ath9k_platform_data ath79_wmac_data;
static struct resource ath79_wmac_resources[] = { 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; ath79_wmac_data.is_clk_25mhz = true;
} }
@ -25,7 +25,7 @@
{ {
if (soc_is_ar913x()) if (soc_is_ar913x())
ar913x_wmac_setup(); 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, memcpy(ath79_wmac_data.eeprom_data, cal_data,
sizeof(ath79_wmac_data.eeprom_data)); sizeof(ath79_wmac_data.eeprom_data));

View File

@ -27,7 +27,7 @@
+ +
--- a/arch/mips/include/asm/mach-ath79/ath79.h --- a/arch/mips/include/asm/mach-ath79/ath79.h
+++ b/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_set(u32 mask);
void ath79_device_reset_clear(u32 mask); void ath79_device_reset_clear(u32 mask);

View File

@ -1,6 +1,6 @@
--- a/arch/mips/include/asm/mach-ath79/ath79.h --- a/arch/mips/include/asm/mach-ath79/ath79.h
+++ b/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_set(u32 mask);
void ath79_device_reset_clear(u32 mask); void ath79_device_reset_clear(u32 mask);

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/setup.c --- a/arch/mips/ath79/setup.c
+++ b/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; mips_hpt_frequency = cpu_clk_rate / 2;
} }

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/dev-wmac.c --- a/arch/mips/ath79/dev-wmac.c
+++ b/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); platform_device_register(&ath79_wmac_device);
} }

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/dev-wmac.c --- a/arch/mips/ath79/dev-wmac.c
+++ b/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; ath79_wmac_data.is_clk_25mhz = true;
} }

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/dev-wmac.c --- a/arch/mips/ath79/dev-wmac.c
+++ b/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; return ret;
} }

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/mach-ubnt-xm.c --- a/arch/mips/ath79/mach-ubnt-xm.c
+++ b/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/init.h>
#include <linux/pci.h> #include <linux/pci.h>
@ -13,6 +13,8 @@
#include <asm/mach-ath79/irq.h> #include <asm/mach-ath79/irq.h>
+#include <asm/mach-ath79/ar71xx_regs.h> +#include <asm/mach-ath79/ar71xx_regs.h>
+#include <linux/platform_data/phy-at803x.h>
+
+#include "common.h" +#include "common.h"
#include "dev-ap9x-pci.h" #include "dev-ap9x-pci.h"
+#include "dev-eth.h" +#include "dev-eth.h"
@ -26,7 +28,7 @@
#define UBNT_XM_GPIO_LED_L1 0 #define UBNT_XM_GPIO_LED_L1 0
#define UBNT_XM_GPIO_LED_L2 1 #define UBNT_XM_GPIO_LED_L2 1
@@ -37,19 +45,19 @@ @@ -37,19 +47,19 @@
static struct gpio_led ubnt_xm_leds_gpio[] __initdata = { static struct gpio_led ubnt_xm_leds_gpio[] __initdata = {
{ {
@ -50,7 +52,7 @@
.gpio = UBNT_XM_GPIO_LED_L4, .gpio = UBNT_XM_GPIO_LED_L4,
.active_low = 0, .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), ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_xm_leds_gpio),
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); ath79_register_m25p80(NULL);
ap91_pci_init(eeprom, 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) +static void __init ubnt_xw_init(void)
+{ +{
+ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000); + u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
@ -426,12 +462,102 @@
+ ath79_register_eth(0); + 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", +MIPS_MACHINE(ATH79_MACH_UBNT_NANO_M_XW, "UBNT-NM-XW", "Ubiquiti Nanostation M XW",
+ ubnt_nano_m_xw_setup); + ubnt_nano_m_xw_setup);
+ +
+MIPS_MACHINE(ATH79_MACH_UBNT_LOCO_M_XW, "UBNT-LOCO-XW", "Ubiquiti Loco M XW", +MIPS_MACHINE(ATH79_MACH_UBNT_LOCO_M_XW, "UBNT-LOCO-XW", "Ubiquiti Loco M XW",
+ ubnt_loco_m_xw_setup); + 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 = { +static struct gpio_led ubnt_airgateway_gpio_leds[] __initdata = {
+ { + {
+ .name = "ubnt:blue:wlan", + .name = "ubnt:blue:wlan",
@ -515,7 +641,7 @@
Ubiquiti Networks XM (rev 1.0) board. Ubiquiti Networks XM (rev 1.0) board.
--- a/arch/mips/ath79/machtypes.h --- a/arch/mips/ath79/machtypes.h
+++ b/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_AP81, /* Atheros AP81 reference board */
ATH79_MACH_DB120, /* Atheros DB120 reference board */ ATH79_MACH_DB120, /* Atheros DB120 reference board */
ATH79_MACH_PB44, /* Atheros PB44 reference board */ ATH79_MACH_PB44, /* Atheros PB44 reference board */
@ -523,6 +649,8 @@
+ ATH79_MACH_UBNT_BULLET_M, /* Ubiquiti Bullet M */ + ATH79_MACH_UBNT_BULLET_M, /* Ubiquiti Bullet M */
+ ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */ + ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
+ ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket 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_UAP_PRO, /* Ubiquiti UniFi AP Pro */
+ ATH79_MACH_UBNT_UNIFI, /* Ubiquiti Unifi */ + ATH79_MACH_UBNT_UNIFI, /* Ubiquiti Unifi */
+ ATH79_MACH_UBNT_UNIFI_OUTDOOR, /* Ubiquiti UnifiAP Outdoor */ + ATH79_MACH_UBNT_UNIFI_OUTDOOR, /* Ubiquiti UnifiAP Outdoor */

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/dev-wmac.c --- a/arch/mips/ath79/dev-wmac.c
+++ b/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; ath79_wmac_data.disable_5ghz = true;
} }

View File

@ -12,7 +12,7 @@
#include "dev-wmac.h" #include "dev-wmac.h"
static u8 ath79_wmac_mac[ETH_ALEN]; 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; ath79_wmac_data.tx_gain_buffalo = true;
} }

View File

@ -22,7 +22,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
--- a/arch/mips/ath79/Kconfig --- a/arch/mips/ath79/Kconfig
+++ b/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 select PCI_AR724X if PCI
def_bool n def_bool n
@ -33,7 +33,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
config SOC_QCA955X config SOC_QCA955X
select HW_HAS_PCI select HW_HAS_PCI
select PCI_AR724X if 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 def_bool n
config ATH79_DEV_WMAC 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; ath79_wmac_data.external_reset = ar933x_wmac_reset;
} }
@@ -149,6 +149,26 @@ static void ar934x_wmac_setup(void) @@ -151,6 +151,26 @@ static void ar934x_wmac_setup(void)
ath79_wmac_data.is_clk_25mhz = true; ath79_wmac_data.get_mac_revision = ar93xx_get_soc_revision;
} }
+static void qca953x_wmac_setup(void) +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) static void qca955x_wmac_setup(void)
{ {
u32 t; 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(); ar933x_wmac_setup();
else if (soc_is_ar934x()) else if (soc_is_ar934x())
ar934x_wmac_setup(); 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 --- a/arch/mips/ath79/setup.c
+++ b/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 major;
u32 minor; u32 minor;
u32 rev = 0; 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); id = ath79_reset_rr(AR71XX_RESET_REG_REV_ID);
major = id & REV_ID_MAJOR_MASK; 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; rev = id & AR934X_REV_ID_REVISION_MASK;
break; break;
@ -430,7 +430,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
case REV_ID_MAJOR_QCA9556: case REV_ID_MAJOR_QCA9556:
ath79_soc = ATH79_SOC_QCA9556; ath79_soc = ATH79_SOC_QCA9556;
chip = "9556"; 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; ath79_soc_rev = rev;

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/Kconfig --- a/arch/mips/ath79/Kconfig
+++ b/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 select PCI_AR724X if PCI
def_bool n def_bool n
@ -13,7 +13,7 @@
config ATH79_DEV_M25P80 config ATH79_DEV_M25P80
select ATH79_DEV_SPI select ATH79_DEV_SPI
def_bool n def_bool n
@@ -1286,7 +1292,7 @@ config ATH79_DEV_USB @@ -148,7 +154,7 @@ config ATH79_DEV_USB
def_bool n def_bool n
config ATH79_DEV_WMAC config ATH79_DEV_WMAC

View File

@ -10,7 +10,7 @@
#endif /* __ATH79_COMMON_H */ #endif /* __ATH79_COMMON_H */
--- a/arch/mips/ath79/gpio.c --- a/arch/mips/ath79/gpio.c
+++ b/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; return 0;
} }

View File

@ -29,7 +29,7 @@
static void __ath79_gpio_set_value(unsigned gpio, int value) static void __ath79_gpio_set_value(unsigned gpio, int value)
{ {
void __iomem *base = ath79_gpio_base; 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); spin_unlock_irqrestore(&ath79_gpio_lock, flags);
} }
@ -162,7 +162,7 @@
void __init ath79_gpio_init(void) void __init ath79_gpio_init(void)
{ {
int err; 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); err = gpiochip_add(&ath79_gpio_chip);
if (err) if (err)
panic("cannot add AR71xx GPIO chip, error=%d", err); panic("cannot add AR71xx GPIO chip, error=%d", err);
@ -173,7 +173,7 @@
} }
int gpio_get_value(unsigned gpio) 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) int gpio_to_irq(unsigned gpio)
{ {

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/machtypes.h --- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h +++ b/arch/mips/ath79/machtypes.h
@@ -16,22 +16,195 @@ @@ -16,24 +16,206 @@
enum ath79_mach_type { enum ath79_mach_type {
ATH79_MACH_GENERIC = 0, ATH79_MACH_GENERIC = 0,
@ -9,6 +9,8 @@
+ ATH79_MACH_ALL0258N, /* Allnet ALL0258N */ + ATH79_MACH_ALL0258N, /* Allnet ALL0258N */
+ ATH79_MACH_ALL0305, /* Allnet ALL0305 */ + ATH79_MACH_ALL0305, /* Allnet ALL0305 */
+ ATH79_MACH_ALL0315N, /* Allnet ALL0315N */ + 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_AP113, /* Atheros AP113 reference board */
ATH79_MACH_AP121, /* Atheros AP121 reference board */ ATH79_MACH_AP121, /* Atheros AP121 reference board */
ATH79_MACH_AP121_MINI, /* Atheros AP121-MINI 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_AP135_020, /* Atheros AP135-020 reference board */
ATH79_MACH_AP136_010, /* Atheros AP136-010 reference board */ ATH79_MACH_AP136_010, /* Atheros AP136-010 reference board */
ATH79_MACH_AP136_020, /* Atheros AP136-020 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_AP81, /* Atheros AP81 reference board */
+ ATH79_MACH_AP83, /* Atheros AP83 */ + ATH79_MACH_AP83, /* Atheros AP83 */
+ ATH79_MACH_AP96, /* Atheros AP96 */ + ATH79_MACH_AP96, /* Atheros AP96 */
@ -50,6 +53,7 @@
+ ATH79_MACH_EL_M150, /* EasyLink EL-M150 */ + ATH79_MACH_EL_M150, /* EasyLink EL-M150 */
+ ATH79_MACH_EL_MINI, /* EasyLink EL-MINI */ + ATH79_MACH_EL_MINI, /* EasyLink EL-MINI */
+ ATH79_MACH_ESR1750, /* EnGenius ESR1750 */ + ATH79_MACH_ESR1750, /* EnGenius ESR1750 */
+ ATH79_MACH_EPG5000, /* EnGenius EPG5000 */
+ ATH79_MACH_F9K1115V2, /* Belkin AC1750DB */ + ATH79_MACH_F9K1115V2, /* Belkin AC1750DB */
+ ATH79_MACH_GL_INET, /* GL-CONNECT GL-INET */ + ATH79_MACH_GL_INET, /* GL-CONNECT GL-INET */
+ ATH79_MACH_GS_OOLITE, /* GS OOLITE V1.0 */ + ATH79_MACH_GS_OOLITE, /* GS OOLITE V1.0 */
@ -58,6 +62,8 @@
+ ATH79_MACH_JA76PF2, /* jjPlus JA76PF2 */ + ATH79_MACH_JA76PF2, /* jjPlus JA76PF2 */
+ ATH79_MACH_JWAP003, /* jjPlus JWAP003 */ + ATH79_MACH_JWAP003, /* jjPlus JWAP003 */
+ ATH79_MACH_HORNET_UB, /* ALFA Networks Hornet-UB */ + 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_MR600V2, /* OpenMesh MR600v2 */
+ ATH79_MACH_MR600, /* OpenMesh MR600 */ + ATH79_MACH_MR600, /* OpenMesh MR600 */
+ ATH79_MACH_MR900, /* OpenMesh MR900 */ + ATH79_MACH_MR900, /* OpenMesh MR900 */
@ -74,6 +80,7 @@
+ ATH79_MACH_OM2P_LC, /* OpenMesh OM2P-LC */ + ATH79_MACH_OM2P_LC, /* OpenMesh OM2P-LC */
+ ATH79_MACH_OM2Pv2, /* OpenMesh OM2Pv2 */ + ATH79_MACH_OM2Pv2, /* OpenMesh OM2Pv2 */
+ ATH79_MACH_OM2P, /* OpenMesh OM2P */ + ATH79_MACH_OM2P, /* OpenMesh OM2P */
+ ATH79_MACH_OM5P_AN, /* OpenMesh OM5P-AN */
+ ATH79_MACH_OM5P, /* OpenMesh OM5P */ + ATH79_MACH_OM5P, /* OpenMesh OM5P */
+ ATH79_MACH_PB42, /* Atheros PB42 */ + ATH79_MACH_PB42, /* Atheros PB42 */
+ ATH79_MACH_PB92, /* Atheros PB92 */ + ATH79_MACH_PB92, /* Atheros PB92 */
@ -93,6 +100,7 @@
+ ATH79_MACH_RB_750G_R3, /* MikroTik RouterBOARD 750GL */ + ATH79_MACH_RB_750G_R3, /* MikroTik RouterBOARD 750GL */
+ ATH79_MACH_RB_751, /* MikroTik RouterBOARD 751 */ + ATH79_MACH_RB_751, /* MikroTik RouterBOARD 751 */
+ ATH79_MACH_RB_751G, /* Mikrotik RouterBOARD 751G */ + 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_951G, /* Mikrotik RouterBOARD 951G */
+ ATH79_MACH_RB_951U, /* Mikrotik RouterBOARD 951Ui-2HnD */ + ATH79_MACH_RB_951U, /* Mikrotik RouterBOARD 951Ui-2HnD */
+ ATH79_MACH_RB_2011G, /* Mikrotik RouterBOARD 2011UAS-2HnD */ + ATH79_MACH_RB_2011G, /* Mikrotik RouterBOARD 2011UAS-2HnD */
@ -107,6 +115,7 @@
+ ATH79_MACH_TEW_673GRU, /* TRENDnet TEW-673GRU */ + ATH79_MACH_TEW_673GRU, /* TRENDnet TEW-673GRU */
+ ATH79_MACH_TEW_712BR, /* TRENDnet TEW-712BR */ + ATH79_MACH_TEW_712BR, /* TRENDnet TEW-712BR */
+ ATH79_MACH_TEW_732BR, /* TRENDnet TEW-732BR */ + ATH79_MACH_TEW_732BR, /* TRENDnet TEW-732BR */
+ ATH79_MACH_MC_MAC1200R, /* MERCURY MAC1200R*/
+ ATH79_MACH_TL_MR10U, /* TP-LINK TL-MR10U */ + ATH79_MACH_TL_MR10U, /* TP-LINK TL-MR10U */
+ ATH79_MACH_TL_MR11U, /* TP-LINK TL-MR11U */ + ATH79_MACH_TL_MR11U, /* TP-LINK TL-MR11U */
+ ATH79_MACH_TL_MR13U, /* TP-LINK TL-MR13U */ + 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, /* Ubiquiti NanoStation M */
+ ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */ + ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */
ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket 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_RSPRO, /* Ubiquiti RouterStation Pro */ + ATH79_MACH_UBNT_RSPRO, /* Ubiquiti RouterStation Pro */
+ ATH79_MACH_UBNT_RS, /* Ubiquiti RouterStation */ + ATH79_MACH_UBNT_RS, /* Ubiquiti RouterStation */
ATH79_MACH_UBNT_UAP_PRO, /* Ubiquiti UniFi AP Pro */ ATH79_MACH_UBNT_UAP_PRO, /* Ubiquiti UniFi AP Pro */
@ -198,7 +209,7 @@
#endif /* _ATH79_MACHTYPE_H */ #endif /* _ATH79_MACHTYPE_H */
--- a/arch/mips/ath79/Kconfig --- a/arch/mips/ath79/Kconfig
+++ b/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" menu "Atheros AR71XX/AR724X/AR913X machine selection"
@ -256,6 +267,26 @@
+ select ATH79_DEV_LEDS_GPIO + select ATH79_DEV_LEDS_GPIO
+ select ATH79_DEV_M25P80 + 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 +config ATH79_MACH_AP113
+ bool "Atheros AP113 board support" + bool "Atheros AP113 board support"
+ select SOC_AR724X + select SOC_AR724X
@ -269,7 +300,7 @@
config ATH79_MACH_AP121 config ATH79_MACH_AP121
bool "Atheros AP121 reference board" bool "Atheros AP121 reference board"
select SOC_AR933X 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_M25P80
select ATH79_DEV_USB select ATH79_DEV_USB
select ATH79_DEV_WMAC select ATH79_DEV_WMAC
@ -305,6 +336,20 @@
+ Say 'Y' here if you want your kernel to support the + Say 'Y' here if you want your kernel to support the
+ Atheros AP136 or AP135 reference boards. + 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 +config ATH79_MACH_AP81
+ bool "Atheros AP81 reference board" + bool "Atheros AP81 reference board"
+ select SOC_AR913X + select SOC_AR913X
@ -397,6 +442,17 @@
+ select ATH79_DEV_USB + select ATH79_DEV_USB
+ select ATH79_DEV_WMAC + 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 +config ATH79_MACH_ESR1750
+ bool "EnGenius ESR1750 board support" + bool "EnGenius ESR1750 board support"
+ select SOC_QCA955X + select SOC_QCA955X
@ -780,6 +836,16 @@
+ select ATH79_DEV_USB + select ATH79_DEV_USB
+ select ATH79_DEV_WMAC + 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 +config ATH79_MACH_RB4XX
+ bool "MikroTik RouterBOARD 4xx series support" + bool "MikroTik RouterBOARD 4xx series support"
+ select SOC_AR71XX + select SOC_AR71XX
@ -805,6 +871,16 @@
+ select ATH79_DEV_USB + select ATH79_DEV_USB
+ select ATH79_ROUTERBOOT + 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 +config ATH79_MACH_RB95X
+ bool "MikroTik RouterBOARD 95X support" + bool "MikroTik RouterBOARD 95X support"
+ select SOC_AR934X + select SOC_AR934X
@ -923,6 +999,27 @@
+config ATH79_MACH_OM5P +config ATH79_MACH_OM5P
+ bool "OpenMesh OM5P board support" + bool "OpenMesh OM5P board support"
+ select SOC_AR934X + 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_ETH
+ select ATH79_DEV_GPIO_BUTTONS + select ATH79_DEV_GPIO_BUTTONS
+ select ATH79_DEV_LEDS_GPIO + select ATH79_DEV_LEDS_GPIO
@ -1329,7 +1426,7 @@
config ATH79_MACH_UBNT_XM config ATH79_MACH_UBNT_XM
bool "Ubiquiti Networks XM/UniFi boards" 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 Say 'Y' here if you want your kernel to support the
Ubiquiti Networks XM (rev 1.0) board. Ubiquiti Networks XM (rev 1.0) board.
@ -1427,7 +1524,7 @@
endmenu endmenu
config SOC_AR71XX config SOC_AR71XX
@@ -124,7 +1248,10 @@ config ATH79_DEV_DSA @@ -134,7 +1344,10 @@ config ATH79_DEV_DSA
config ATH79_DEV_ETH config ATH79_DEV_ETH
def_bool n def_bool n
@ -1439,7 +1536,7 @@
def_bool n def_bool n
config ATH79_DEV_GPIO_BUTTONS 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 def_bool n
config ATH79_ROUTERBOOT config ATH79_ROUTERBOOT
@ -1453,7 +1550,7 @@
endif endif
--- a/arch/mips/ath79/Makefile --- a/arch/mips/ath79/Makefile
+++ b/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 # Machines
# #
@ -1461,10 +1558,13 @@
+obj-$(CONFIG_ATH79_MACH_ALFA_NX) += mach-alfa-nx.o +obj-$(CONFIG_ATH79_MACH_ALFA_NX) += mach-alfa-nx.o
+obj-$(CONFIG_ATH79_MACH_ALL0258N) += mach-all0258n.o +obj-$(CONFIG_ATH79_MACH_ALL0258N) += mach-all0258n.o
+obj-$(CONFIG_ATH79_MACH_ALL0315N) += mach-all0315n.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_AP113) += mach-ap113.o
obj-$(CONFIG_ATH79_MACH_AP121) += mach-ap121.o obj-$(CONFIG_ATH79_MACH_AP121) += mach-ap121.o
+obj-$(CONFIG_ATH79_MACH_AP132) += mach-ap132.o +obj-$(CONFIG_ATH79_MACH_AP132) += mach-ap132.o
obj-$(CONFIG_ATH79_MACH_AP136) += mach-ap136.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_AP81) += mach-ap81.o
+obj-$(CONFIG_ATH79_MACH_AP83) += mach-ap83.o +obj-$(CONFIG_ATH79_MACH_AP83) += mach-ap83.o
+obj-$(CONFIG_ATH79_MACH_AP96) += mach-ap96.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_EAP7660D) += mach-eap7660d.o
+obj-$(CONFIG_ATH79_MACH_EL_M150) += mach-el-m150.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_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_ESR1750) += mach-esr1750.o
+obj-$(CONFIG_ATH79_MACH_F9K1115V2) += mach-f9k1115v2.o +obj-$(CONFIG_ATH79_MACH_F9K1115V2) += mach-f9k1115v2.o
+obj-$(CONFIG_ATH79_MACH_GL_INET) += mach-gl-inet.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_JA76PF) += mach-ja76pf.o
+obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o +obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o
+obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.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_MR600) += mach-mr600.o
+obj-$(CONFIG_ATH79_MACH_MR900) += mach-mr900.o +obj-$(CONFIG_ATH79_MACH_MR900) += mach-mr900.o
+obj-$(CONFIG_ATH79_MACH_MYNET_N600) += mach-mynet-n600.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_RB4XX) += mach-rb4xx.o
+obj-$(CONFIG_ATH79_MACH_RB750) += mach-rb750.o +obj-$(CONFIG_ATH79_MACH_RB750) += mach-rb750.o
+obj-$(CONFIG_ATH79_MACH_RB91X) += mach-rb91x.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_RB95X) += mach-rb95x.o
+obj-$(CONFIG_ATH79_MACH_RB2011) += mach-rb2011.o +obj-$(CONFIG_ATH79_MACH_RB2011) += mach-rb2011.o
+obj-$(CONFIG_ATH79_MACH_RBSXTLITE) += mach-rbsxtlite.o +obj-$(CONFIG_ATH79_MACH_RBSXTLITE) += mach-rbsxtlite.o
@ -1580,7 +1685,7 @@
+obj-$(CONFIG_ATH79_MACH_NBG6716) += mach-nbg6716.o +obj-$(CONFIG_ATH79_MACH_NBG6716) += mach-nbg6716.o
--- a/arch/mips/ath79/prom.c --- a/arch/mips/ath79/prom.c
+++ b/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"); initrd_end = initrd_start + fw_getenvl("initrd_size");
} }
#endif #endif
@ -1588,7 +1693,8 @@
+ if (strstr(arcs_cmdline, "board=750Gr3") || + if (strstr(arcs_cmdline, "board=750Gr3") ||
+ strstr(arcs_cmdline, "board=951G") || + strstr(arcs_cmdline, "board=951G") ||
+ strstr(arcs_cmdline, "board=2011L") || + 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"); + ath79_prom_append_cmdline("console", "ttyS0,115200");
} }

View File

@ -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 */

View File

@ -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 */

View File

@ -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

View File

@ -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 */

View File

@ -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");
}

View File

@ -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 */

View File

@ -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",

View File

@ -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

View File

@ -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 */

View File

@ -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