ar71xx: refactor ubnt xw board setup
authorJohn Crispin <john@openwrt.org>
Mon, 15 Sep 2014 10:19:01 +0000 (10:19 +0000)
committerJohn Crispin <john@openwrt.org>
Mon, 15 Sep 2014 10:19:01 +0000 (10:19 +0000)
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
SVN-Revision: 42548

target/linux/ar71xx/patches-3.10/616-MIPS-ath79-ubnt-xw.patch

index ed2fd24..9413bd8 100644 (file)
@@ -1,6 +1,8 @@
---- a/arch/mips/ath79/mach-ubnt-xm.c
-+++ b/arch/mips/ath79/mach-ubnt-xm.c
-@@ -332,3 +332,60 @@ static void __init ubnt_uap_pro_setup(vo
+Index: linux-3.10.49/arch/mips/ath79/mach-ubnt-xm.c
+===================================================================
+--- linux-3.10.49.orig/arch/mips/ath79/mach-ubnt-xm.c  2014-08-15 22:55:37.890080659 +0200
++++ linux-3.10.49/arch/mips/ath79/mach-ubnt-xm.c       2014-08-15 22:58:31.061570912 +0200
+@@ -332,3 +332,67 @@
  MIPS_MACHINE(ATH79_MACH_UBNT_UAP_PRO, "UAP-PRO", "Ubiquiti UniFi AP Pro",
             ubnt_uap_pro_setup);
  
@@ -29,7 +31,7 @@
 +      },
 +};
 +
-+static void __init ubnt_nano_m_xw_setup(void)
++static void __init ubnt_xw_init(void)
 +{
 +      u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
 +
 +      ath79_register_wmac(eeprom + UAP_PRO_WMAC_CALDATA_OFFSET, NULL);
 +      ap91_pci_init(eeprom + UAP_PRO_PCI_CALDATA_OFFSET, NULL);
 +
-+      ath79_register_mdio(0, ~(BIT(0) | BIT(1) | BIT(5)));
 +
 +      ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_MII_GMAC0 | AR934X_ETH_CFG_MII_GMAC0_SLAVE);
 +      ath79_init_mac(ath79_eth0_data.mac_addr,
 +                     eeprom + UAP_PRO_MAC0_OFFSET, 0);
 +
-+      /* GMAC0 is connected to an AR8326 switch */
 +      ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
++      ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
++}
++
++static void __init ubnt_nano_m_xw_setup(void)
++{
++      ubnt_xw_init();
++
++      /* GMAC0 is connected to an AR8326 switch */
++      ath79_register_mdio(0, ~(BIT(0) | BIT(1) | BIT(5)));
 +      ath79_eth0_data.phy_mask = (BIT(0) | BIT(1) | BIT(5));
 +      ath79_eth0_data.speed = SPEED_100;
 +      ath79_eth0_data.duplex = DUPLEX_FULL;
-+      ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
 +      ath79_register_eth(0);
 +}
 +
 +MIPS_MACHINE(ATH79_MACH_UBNT_NANO_M_XW, "UBNT-NM-XW", "Ubiquiti Nanostation M XW",
 +           ubnt_nano_m_xw_setup);
++
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -124,6 +124,7 @@ enum ath79_mach_type {
+@@ -121,9 +121,10 @@ enum ath79_mach_type {
+       ATH79_MACH_TL_WR941ND,          /* TP-LINK TL-WR941ND */
+       ATH79_MACH_UBNT_AIRROUTER,      /* Ubiquiti AirRouter */
+       ATH79_MACH_UBNT_BULLET_M,       /* Ubiquiti Bullet M */
        ATH79_MACH_UBNT_LSSR71,         /* Ubiquiti LS-SR71 */
        ATH79_MACH_UBNT_LSX,            /* Ubiquiti LSX */
        ATH79_MACH_UBNT_NANO_M,         /* Ubiquiti NanoStation M */