903-MIPS-ath79-ubnt-rocket-m-xw-support.patch 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. --- a/arch/mips/ath79/machtypes.h
  2. +++ b/arch/mips/ath79/machtypes.h
  3. @@ -185,6 +185,7 @@ enum ath79_mach_type {
  4. ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
  5. ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */
  6. ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
  7. + ATH79_MACH_UBNT_ROCKET_M_XW, /* Ubiquiti Rocket M XW*/
  8. ATH79_MACH_UBNT_RSPRO, /* Ubiquiti RouterStation Pro */
  9. ATH79_MACH_UBNT_RS, /* Ubiquiti RouterStation */
  10. ATH79_MACH_UBNT_UAP_PRO, /* Ubiquiti UniFi AP Pro */
  11. --- a/arch/mips/ath79/mach-ubnt-xm.c
  12. +++ b/arch/mips/ath79/mach-ubnt-xm.c
  13. @@ -449,12 +449,43 @@ static void __init ubnt_loco_m_xw_setup(
  14. ath79_register_eth(0);
  15. }
  16. +static void __init ubnt_rocket_m_xw_setup(void)
  17. +{
  18. + u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
  19. +
  20. + ath79_register_m25p80(NULL);
  21. +
  22. + ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_xw_leds_gpio),
  23. + ubnt_xw_leds_gpio);
  24. + ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
  25. + ARRAY_SIZE(ubnt_xm_gpio_keys),
  26. + ubnt_xm_gpio_keys);
  27. +
  28. + ath79_register_wmac(eeprom + UAP_PRO_WMAC_CALDATA_OFFSET, NULL);
  29. + ap91_pci_init(eeprom + UAP_PRO_PCI_CALDATA_OFFSET, NULL);
  30. +
  31. + ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
  32. + ath79_init_mac(ath79_eth0_data.mac_addr,
  33. + eeprom + UAP_PRO_MAC0_OFFSET, 0);
  34. +
  35. + ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
  36. + ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
  37. +
  38. + ath79_register_mdio(0, ~BIT(4));
  39. + ath79_eth0_data.phy_mask = BIT(4);
  40. + ath79_eth0_pll_data.pll_1000 = 0x06000000;
  41. + ath79_register_eth(0);
  42. +}
  43. +
  44. MIPS_MACHINE(ATH79_MACH_UBNT_NANO_M_XW, "UBNT-NM-XW", "Ubiquiti Nanostation M XW",
  45. ubnt_nano_m_xw_setup);
  46. MIPS_MACHINE(ATH79_MACH_UBNT_LOCO_M_XW, "UBNT-LOCO-XW", "Ubiquiti Loco M XW",
  47. ubnt_loco_m_xw_setup);
  48. +MIPS_MACHINE(ATH79_MACH_UBNT_ROCKET_M_XW, "UBNT-RM-XW", "Ubiquiti Rocket M XW",
  49. + ubnt_rocket_m_xw_setup);
  50. +
  51. static struct gpio_led ubnt_airgateway_gpio_leds[] __initdata = {
  52. {
  53. .name = "ubnt:blue:wlan",