1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- --- a/arch/mips/ath79/mach-ubnt-xm.c
- +++ b/arch/mips/ath79/mach-ubnt-xm.c
- @@ -642,3 +642,59 @@ static void __init ubnt_airgateway_setup
- MIPS_MACHINE(ATH79_MACH_UBNT_AIRGW, "UBNT-AGW", "Ubiquiti AirGateway",
- ubnt_airgateway_setup);
-
- +static struct gpio_led ubnt_airgateway_pro_gpio_leds[] __initdata = {
- + {
- + .name = "ubnt:blue:wlan",
- + .gpio = 13,
- + }, {
- + .name = "ubnt:white:status",
- + .gpio = 17,
- + },
- +};
- +
- +
- +static struct gpio_keys_button airgateway_pro_gpio_keys[] __initdata = {
- + {
- + .desc = "reset",
- + .type = EV_KEY,
- + .code = KEY_RESTART,
- + .debounce_interval = UBNT_XM_KEYS_DEBOUNCE_INTERVAL,
- + .gpio = 12,
- + .active_low = 1,
- + }
- +};
- +
- +static void __init ubnt_airgateway_pro_setup(void)
- +{
- + u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
- + u8 *mac0 = (u8 *) KSEG1ADDR(0x1fff0000);
- +
- + ath79_register_m25p80(NULL);
- + ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_airgateway_pro_gpio_leds),
- + ubnt_airgateway_pro_gpio_leds);
- +
- + ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
- + ARRAY_SIZE(airgateway_pro_gpio_keys),
- + airgateway_pro_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_SW_ONLY_MODE);
- +
- + ath79_register_mdio(1, 0x0);
- +
- + /* GMAC0 is left unused in this configuration */
- +
- + /* GMAC1 is connected to MAC0 on the internal switch */
- + /* The PoE/WAN port connects to port 5 on the internal switch */
- + /* The LAN port connects to port 4 on the internal switch */
- + ath79_init_mac(ath79_eth1_data.mac_addr, mac0, 0);
- + ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII;
- + ath79_register_eth(1);
- +
- +}
- +
- +MIPS_MACHINE(ATH79_MACH_UBNT_AIRGWP, "UBNT-AGWP", "Ubiquiti AirGateway Pro",
- + ubnt_airgateway_pro_setup);
|