1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-27 17:11:53 +02:00

ar71xx: add kernel support for the UniFi AP Pro

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34727 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
juhosg 2012-12-17 12:28:02 +00:00
parent 640a498600
commit 6406886bc6
6 changed files with 230 additions and 30 deletions

View File

@ -1,12 +1,16 @@
--- 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
@@ -13,15 +13,17 @@ @@ -12,16 +12,22 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/pci.h> #include <linux/pci.h>
+#include <linux/platform_device.h>
#include <linux/ath9k_platform.h> #include <linux/ath9k_platform.h>
+#include <linux/etherdevice.h> +#include <linux/etherdevice.h>
+#include <linux/ar8216_platform.h>
#include <asm/mach-ath79/irq.h> #include <asm/mach-ath79/irq.h>
+#include <asm/mach-ath79/ar71xx_regs.h>
#include "dev-ap9x-pci.h" #include "dev-ap9x-pci.h"
+#include "dev-eth.h" +#include "dev-eth.h"
@ -14,12 +18,13 @@
#include "dev-leds-gpio.h" #include "dev-leds-gpio.h"
#include "dev-m25p80.h" #include "dev-m25p80.h"
+#include "dev-usb.h" +#include "dev-usb.h"
+#include "dev-wmac.h"
#include "machtypes.h" #include "machtypes.h"
-#include "pci.h" -#include "pci.h"
#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 +39,19 @@ @@ -37,19 +43,19 @@
static struct gpio_led ubnt_xm_leds_gpio[] __initdata = { static struct gpio_led ubnt_xm_leds_gpio[] __initdata = {
{ {
@ -43,7 +48,7 @@
.gpio = UBNT_XM_GPIO_LED_L4, .gpio = UBNT_XM_GPIO_LED_L4,
.active_low = 0, .active_low = 0,
}, },
@@ -66,9 +68,13 @@ static struct gpio_keys_button ubnt_xm_g @@ -66,9 +72,13 @@ static struct gpio_keys_button ubnt_xm_g
} }
}; };
@ -57,7 +62,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 +85,155 @@ static void __init ubnt_xm_init(void) @@ -79,9 +89,242 @@ 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);
@ -158,7 +163,6 @@
+ } + }
+}; +};
+ +
+
+static void __init ubnt_unifi_setup(void) +static void __init ubnt_unifi_setup(void)
+{ +{
+ u8 *mac = (u8 *) KSEG1ADDR(0x1fff0000); + u8 *mac = (u8 *) KSEG1ADDR(0x1fff0000);
@ -213,23 +217,117 @@
+MIPS_MACHINE(ATH79_MACH_UBNT_UNIFI_OUTDOOR, "UBNT-U20", +MIPS_MACHINE(ATH79_MACH_UBNT_UNIFI_OUTDOOR, "UBNT-U20",
+ "Ubiquiti UniFiAP Outdoor", + "Ubiquiti UniFiAP Outdoor",
+ ubnt_unifi_outdoor_setup); + ubnt_unifi_outdoor_setup);
+
+static struct gpio_led ubnt_uap_pro_gpio_leds[] __initdata = {
+ {
+ .name = "ubnt:white:dome",
+ .gpio = 12,
+ }, {
+ .name = "ubnt:blue:dome",
+ .gpio = 13,
+ }
+};
+
+static struct gpio_keys_button uap_pro_gpio_keys[] __initdata = {
+ {
+ .desc = "reset",
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .debounce_interval = UBNT_XM_KEYS_DEBOUNCE_INTERVAL,
+ .gpio = 17,
+ .active_low = 1,
+ }
+};
+
+static struct ar8327_pad_cfg uap_pro_ar8327_pad0_cfg = {
+ .mode = AR8327_PAD_MAC_RGMII,
+ .txclk_delay_en = true,
+ .rxclk_delay_en = true,
+ .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
+ .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
+};
+
+static struct ar8327_platform_data uap_pro_ar8327_data = {
+ .pad0_cfg = &uap_pro_ar8327_pad0_cfg,
+ .cpuport_cfg = {
+ .force_link = 1,
+ .speed = AR8327_PORT_SPEED_1000,
+ .duplex = 1,
+ .txpause = 1,
+ .rxpause = 1,
+ },
+};
+
+static struct mdio_board_info uap_pro_mdio0_info[] = {
+ {
+ .bus_id = "ag71xx-mdio.0",
+ .phy_addr = 0,
+ .platform_data = &uap_pro_ar8327_data,
+ },
+};
+
+#define UAP_PRO_MAC0_OFFSET 0x0000
+#define UAP_PRO_MAC1_OFFSET 0x0006
+#define UAP_PRO_WMAC_CALDATA_OFFSET 0x1000
+#define UAP_PRO_PCI_CALDATA_OFFSET 0x5000
+
+static void __init ubnt_uap_pro_setup(void)
+{
+ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
+
+ ath79_register_m25p80(NULL);
+
+ ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_uap_pro_gpio_leds),
+ ubnt_uap_pro_gpio_leds);
+ ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
+ ARRAY_SIZE(uap_pro_gpio_keys),
+ uap_pro_gpio_keys);
+
+ ath79_register_wmac(eeprom + UAP_PRO_WMAC_CALDATA_OFFSET, NULL);
+ ap91_pci_init(eeprom + UAP_PRO_PCI_CALDATA_OFFSET, NULL);
+
+ ath79_register_mdio(0, 0x0);
+ mdiobus_register_board_info(uap_pro_mdio0_info,
+ ARRAY_SIZE(uap_pro_mdio0_info));
+
+ ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
+ ath79_init_mac(ath79_eth0_data.mac_addr,
+ eeprom + UAP_PRO_MAC0_OFFSET, 0);
+
+ /* GMAC0 is connected to an AR8327 switch */
+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
+ ath79_eth0_data.phy_mask = BIT(0);
+ ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
+ ath79_eth0_pll_data.pll_1000 = 0x06000000;
+ ath79_register_eth(0);
+}
+
+MIPS_MACHINE(ATH79_MACH_UBNT_UAP_PRO, "UAP-PRO", "Ubiquiti UniFi AP Pro",
+ ubnt_uap_pro_setup);
+
--- a/arch/mips/ath79/Kconfig --- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig
@@ -71,9 +71,11 @@ config ATH79_MACH_UBNT_XM @@ -68,12 +68,16 @@ config ATH79_MACH_PB44
bool "Ubiquiti Networks XM (rev 1.0) board" Atheros PB44 reference board.
config ATH79_MACH_UBNT_XM
- bool "Ubiquiti Networks XM (rev 1.0) board"
+ bool "Ubiquiti Networks XM/UniFi boards"
select SOC_AR724X select SOC_AR724X
+ select SOC_AR934X
select ATH79_DEV_AP9X_PCI if PCI 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
select ATH79_DEV_M25P80 select ATH79_DEV_M25P80
+ select ATH79_DEV_USB + select ATH79_DEV_USB
+ select ATH79_DEV_WMAC
help help
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.
--- 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,12 @@ enum ath79_mach_type { @@ -22,6 +22,13 @@ 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 */
@ -237,6 +335,7 @@
+ 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_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 */
ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */ ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */

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,19 +16,103 @@ @@ -16,20 +16,104 @@
enum ath79_mach_type { enum ath79_mach_type {
ATH79_MACH_GENERIC = 0, ATH79_MACH_GENERIC = 0,
@ -82,6 +82,7 @@
ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */ ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
+ 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_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 */
ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */ ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */
@ -662,9 +663,9 @@
+ select ATH79_DEV_USB + select ATH79_DEV_USB
+ +
config ATH79_MACH_UBNT_XM config ATH79_MACH_UBNT_XM
bool "Ubiquiti Networks XM (rev 1.0) board" bool "Ubiquiti Networks XM/UniFi boards"
select SOC_AR724X select SOC_AR724X
@@ -80,6 +610,24 @@ config ATH79_MACH_UBNT_XM @@ -82,6 +612,24 @@ 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.
@ -689,7 +690,7 @@
endmenu endmenu
config SOC_AR71XX config SOC_AR71XX
@@ -115,10 +663,6 @@ config SOC_QCA955X @@ -117,10 +665,6 @@ config SOC_QCA955X
select PCI_AR724X if PCI select PCI_AR724X if PCI
def_bool n def_bool n
@ -700,7 +701,7 @@
config ATH79_DEV_AP9X_PCI config ATH79_DEV_AP9X_PCI
select ATH79_PCI_ATH9K_FIXUP select ATH79_PCI_ATH9K_FIXUP
def_bool n def_bool n
@@ -129,7 +673,14 @@ config ATH79_DEV_DSA @@ -131,7 +675,14 @@ config ATH79_DEV_DSA
config ATH79_DEV_ETH config ATH79_DEV_ETH
def_bool n def_bool n
@ -716,7 +717,7 @@
def_bool n def_bool n
config ATH79_DEV_GPIO_BUTTONS config ATH79_DEV_GPIO_BUTTONS
@@ -161,4 +712,7 @@ config ATH79_PCI_ATH9K_FIXUP @@ -163,4 +714,7 @@ config ATH79_PCI_ATH9K_FIXUP
config ATH79_ROUTERBOOT config ATH79_ROUTERBOOT
def_bool n def_bool n

View File

@ -20,7 +20,7 @@
select SOC_AR913X select SOC_AR913X
--- a/arch/mips/ath79/machtypes.h --- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h +++ b/arch/mips/ath79/machtypes.h
@@ -106,6 +106,7 @@ enum ath79_mach_type { @@ -107,6 +107,7 @@ enum ath79_mach_type {
ATH79_MACH_WHR_HP_GN, /* Buffalo WHR-HP-GN */ ATH79_MACH_WHR_HP_GN, /* Buffalo WHR-HP-GN */
ATH79_MACH_WLAE_AG300N, /* Buffalo WLAE-AG300N */ ATH79_MACH_WLAE_AG300N, /* Buffalo WLAE-AG300N */
ATH79_MACH_WNDR3700, /* NETGEAR WNDR3700/WNDR3800/WNDRMAC */ ATH79_MACH_WNDR3700, /* NETGEAR WNDR3700/WNDR3800/WNDRMAC */

View File

@ -1,12 +1,16 @@
--- 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
@@ -13,15 +13,17 @@ @@ -12,16 +12,22 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/pci.h> #include <linux/pci.h>
+#include <linux/platform_device.h>
#include <linux/ath9k_platform.h> #include <linux/ath9k_platform.h>
+#include <linux/etherdevice.h> +#include <linux/etherdevice.h>
+#include <linux/ar8216_platform.h>
#include <asm/mach-ath79/irq.h> #include <asm/mach-ath79/irq.h>
+#include <asm/mach-ath79/ar71xx_regs.h>
#include "dev-ap9x-pci.h" #include "dev-ap9x-pci.h"
+#include "dev-eth.h" +#include "dev-eth.h"
@ -14,12 +18,13 @@
#include "dev-leds-gpio.h" #include "dev-leds-gpio.h"
#include "dev-m25p80.h" #include "dev-m25p80.h"
+#include "dev-usb.h" +#include "dev-usb.h"
+#include "dev-wmac.h"
#include "machtypes.h" #include "machtypes.h"
-#include "pci.h" -#include "pci.h"
#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 +39,19 @@ @@ -37,19 +43,19 @@
static struct gpio_led ubnt_xm_leds_gpio[] __initdata = { static struct gpio_led ubnt_xm_leds_gpio[] __initdata = {
{ {
@ -43,7 +48,7 @@
.gpio = UBNT_XM_GPIO_LED_L4, .gpio = UBNT_XM_GPIO_LED_L4,
.active_low = 0, .active_low = 0,
}, },
@@ -66,9 +68,13 @@ static struct gpio_keys_button ubnt_xm_g @@ -66,9 +72,13 @@ static struct gpio_keys_button ubnt_xm_g
} }
}; };
@ -57,7 +62,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 +85,155 @@ static void __init ubnt_xm_init(void) @@ -79,9 +89,242 @@ 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);
@ -158,7 +163,6 @@
+ } + }
+}; +};
+ +
+
+static void __init ubnt_unifi_setup(void) +static void __init ubnt_unifi_setup(void)
+{ +{
+ u8 *mac = (u8 *) KSEG1ADDR(0x1fff0000); + u8 *mac = (u8 *) KSEG1ADDR(0x1fff0000);
@ -213,23 +217,117 @@
+MIPS_MACHINE(ATH79_MACH_UBNT_UNIFI_OUTDOOR, "UBNT-U20", +MIPS_MACHINE(ATH79_MACH_UBNT_UNIFI_OUTDOOR, "UBNT-U20",
+ "Ubiquiti UniFiAP Outdoor", + "Ubiquiti UniFiAP Outdoor",
+ ubnt_unifi_outdoor_setup); + ubnt_unifi_outdoor_setup);
+
+static struct gpio_led ubnt_uap_pro_gpio_leds[] __initdata = {
+ {
+ .name = "ubnt:white:dome",
+ .gpio = 12,
+ }, {
+ .name = "ubnt:blue:dome",
+ .gpio = 13,
+ }
+};
+
+static struct gpio_keys_button uap_pro_gpio_keys[] __initdata = {
+ {
+ .desc = "reset",
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .debounce_interval = UBNT_XM_KEYS_DEBOUNCE_INTERVAL,
+ .gpio = 17,
+ .active_low = 1,
+ }
+};
+
+static struct ar8327_pad_cfg uap_pro_ar8327_pad0_cfg = {
+ .mode = AR8327_PAD_MAC_RGMII,
+ .txclk_delay_en = true,
+ .rxclk_delay_en = true,
+ .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
+ .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
+};
+
+static struct ar8327_platform_data uap_pro_ar8327_data = {
+ .pad0_cfg = &uap_pro_ar8327_pad0_cfg,
+ .cpuport_cfg = {
+ .force_link = 1,
+ .speed = AR8327_PORT_SPEED_1000,
+ .duplex = 1,
+ .txpause = 1,
+ .rxpause = 1,
+ },
+};
+
+static struct mdio_board_info uap_pro_mdio0_info[] = {
+ {
+ .bus_id = "ag71xx-mdio.0",
+ .phy_addr = 0,
+ .platform_data = &uap_pro_ar8327_data,
+ },
+};
+
+#define UAP_PRO_MAC0_OFFSET 0x0000
+#define UAP_PRO_MAC1_OFFSET 0x0006
+#define UAP_PRO_WMAC_CALDATA_OFFSET 0x1000
+#define UAP_PRO_PCI_CALDATA_OFFSET 0x5000
+
+static void __init ubnt_uap_pro_setup(void)
+{
+ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
+
+ ath79_register_m25p80(NULL);
+
+ ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_uap_pro_gpio_leds),
+ ubnt_uap_pro_gpio_leds);
+ ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
+ ARRAY_SIZE(uap_pro_gpio_keys),
+ uap_pro_gpio_keys);
+
+ ath79_register_wmac(eeprom + UAP_PRO_WMAC_CALDATA_OFFSET, NULL);
+ ap91_pci_init(eeprom + UAP_PRO_PCI_CALDATA_OFFSET, NULL);
+
+ ath79_register_mdio(0, 0x0);
+ mdiobus_register_board_info(uap_pro_mdio0_info,
+ ARRAY_SIZE(uap_pro_mdio0_info));
+
+ ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
+ ath79_init_mac(ath79_eth0_data.mac_addr,
+ eeprom + UAP_PRO_MAC0_OFFSET, 0);
+
+ /* GMAC0 is connected to an AR8327 switch */
+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
+ ath79_eth0_data.phy_mask = BIT(0);
+ ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
+ ath79_eth0_pll_data.pll_1000 = 0x06000000;
+ ath79_register_eth(0);
+}
+
+MIPS_MACHINE(ATH79_MACH_UBNT_UAP_PRO, "UAP-PRO", "Ubiquiti UniFi AP Pro",
+ ubnt_uap_pro_setup);
+
--- a/arch/mips/ath79/Kconfig --- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig
@@ -71,9 +71,11 @@ config ATH79_MACH_UBNT_XM @@ -68,12 +68,16 @@ config ATH79_MACH_PB44
bool "Ubiquiti Networks XM (rev 1.0) board" Atheros PB44 reference board.
config ATH79_MACH_UBNT_XM
- bool "Ubiquiti Networks XM (rev 1.0) board"
+ bool "Ubiquiti Networks XM/UniFi boards"
select SOC_AR724X select SOC_AR724X
+ select SOC_AR934X
select ATH79_DEV_AP9X_PCI if PCI 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
select ATH79_DEV_M25P80 select ATH79_DEV_M25P80
+ select ATH79_DEV_USB + select ATH79_DEV_USB
+ select ATH79_DEV_WMAC
help help
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.
--- 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,12 @@ enum ath79_mach_type { @@ -22,6 +22,13 @@ 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 */
@ -237,6 +335,7 @@
+ 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_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 */
ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */ ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */

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,19 +16,103 @@ @@ -16,20 +16,104 @@
enum ath79_mach_type { enum ath79_mach_type {
ATH79_MACH_GENERIC = 0, ATH79_MACH_GENERIC = 0,
@ -82,6 +82,7 @@
ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */ ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
+ 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_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 */
ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */ ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */
@ -662,9 +663,9 @@
+ select ATH79_DEV_USB + select ATH79_DEV_USB
+ +
config ATH79_MACH_UBNT_XM config ATH79_MACH_UBNT_XM
bool "Ubiquiti Networks XM (rev 1.0) board" bool "Ubiquiti Networks XM/UniFi boards"
select SOC_AR724X select SOC_AR724X
@@ -80,6 +610,24 @@ config ATH79_MACH_UBNT_XM @@ -82,6 +612,24 @@ 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.
@ -689,7 +690,7 @@
endmenu endmenu
config SOC_AR71XX config SOC_AR71XX
@@ -115,10 +663,6 @@ config SOC_QCA955X @@ -117,10 +665,6 @@ config SOC_QCA955X
select PCI_AR724X if PCI select PCI_AR724X if PCI
def_bool n def_bool n
@ -700,7 +701,7 @@
config ATH79_DEV_AP9X_PCI config ATH79_DEV_AP9X_PCI
select ATH79_PCI_ATH9K_FIXUP select ATH79_PCI_ATH9K_FIXUP
def_bool n def_bool n
@@ -129,7 +673,14 @@ config ATH79_DEV_DSA @@ -131,7 +675,14 @@ config ATH79_DEV_DSA
config ATH79_DEV_ETH config ATH79_DEV_ETH
def_bool n def_bool n
@ -716,7 +717,7 @@
def_bool n def_bool n
config ATH79_DEV_GPIO_BUTTONS config ATH79_DEV_GPIO_BUTTONS
@@ -161,4 +712,7 @@ config ATH79_PCI_ATH9K_FIXUP @@ -163,4 +714,7 @@ config ATH79_PCI_ATH9K_FIXUP
config ATH79_ROUTERBOOT config ATH79_ROUTERBOOT
def_bool n def_bool n

View File

@ -20,7 +20,7 @@
select SOC_AR913X select SOC_AR913X
--- a/arch/mips/ath79/machtypes.h --- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h +++ b/arch/mips/ath79/machtypes.h
@@ -106,6 +106,7 @@ enum ath79_mach_type { @@ -107,6 +107,7 @@ enum ath79_mach_type {
ATH79_MACH_WHR_HP_GN, /* Buffalo WHR-HP-GN */ ATH79_MACH_WHR_HP_GN, /* Buffalo WHR-HP-GN */
ATH79_MACH_WLAE_AG300N, /* Buffalo WLAE-AG300N */ ATH79_MACH_WLAE_AG300N, /* Buffalo WLAE-AG300N */
ATH79_MACH_WNDR3700, /* NETGEAR WNDR3700/WNDR3800/WNDRMAC */ ATH79_MACH_WNDR3700, /* NETGEAR WNDR3700/WNDR3800/WNDRMAC */