Added Hardware Support for Ubuquity AirRouter Known Issues: - WAN and LAN Port inverted - LEDs not correct
Signed-off-by: Christian Simon <[email protected]> Index: target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h =================================================================== --- target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h (Revision 27887) +++ target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h (Arbeitskopie) @@ -49,6 +49,7 @@ AR71XX_MACH_TL_WR841N_V1, /* TP-LINK TL-WR841N v1 */ AR71XX_MACH_TL_WR941ND, /* TP-LINK TL-WR941ND */ AR71XX_MACH_TL_WR1043ND, /* TP-LINK TL-WR1041ND */ + AR71XX_MACH_UBNT_AIRROUTER, /* Ubiquiti AirRouter */ AR71XX_MACH_UBNT_LSSR71, /* Ubiquiti LS-SR71 */ AR71XX_MACH_UBNT_LSX, /* Ubiquiti LSX */ AR71XX_MACH_UBNT_RS, /* Ubiquiti RouterStation */ Index: target/linux/ar71xx/files/arch/mips/ar71xx/mach-ubnt.c =================================================================== --- target/linux/ar71xx/files/arch/mips/ar71xx/mach-ubnt.c (Revision 27887) +++ target/linux/ar71xx/files/arch/mips/ar71xx/mach-ubnt.c (Arbeitskopie) @@ -294,6 +294,58 @@ MIPS_MACHINE(AR71XX_MACH_UBNT_NANO_M, "UBNT-NM", "Ubiquiti Nanostation M", ubnt_nano_m_setup); + +/* Ubiquity AirRouter */ +static struct gpio_led ubnt_airrouter_leds_gpio[] __initdata = { + { + .name = "ubnt:orange:dome", + .gpio = 1, + .active_low = 0, + }, { + .name = "ubnt:green:dome", + .gpio = 0, + .active_low = 0, + } +}; + +static void __init ubnt_airrouter_setup(void) +{ + u8 *mac1 = (u8 *) KSEG1ADDR(0x1fff0000); + u8 *mac2 = (u8 *) KSEG1ADDR(0x1fff0000 + ETH_ALEN); + u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); + + ar71xx_add_device_m25p80(NULL); + + ar71xx_add_device_mdio(~UBNT_M_WAN_PHYMASK); + + ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac1, 0); + ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; + ar71xx_eth0_data.speed = SPEED_100; + ar71xx_eth0_data.duplex = DUPLEX_FULL; + ar71xx_eth0_data.phy_mask = UBNT_M_WAN_PHYMASK; + + + ar71xx_add_device_eth(0); + + ar71xx_init_mac(ar71xx_eth1_data.mac_addr, mac1, 0); + ar71xx_eth1_data.has_ar7240_switch = 1; + ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; + ar71xx_eth1_data.speed = SPEED_1000; + ar71xx_eth1_data.duplex = DUPLEX_FULL; + + ar71xx_add_device_eth(1); + + ar71xx_add_device_usb(); + + ap91_pci_init(ee, NULL); + + ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(ubnt_airrouter_leds_gpio), + ubnt_airrouter_leds_gpio); +} + +MIPS_MACHINE(AR71XX_MACH_UBNT_AIRROUTER, "UBNT-AR", "Ubiquiti AirRouter", + ubnt_airrouter_setup); + static struct gpio_led ubnt_unifi_leds_gpio[] __initdata = { { .name = "ubnt:orange:dome", Index: target/linux/ar71xx/image/Makefile =================================================================== --- target/linux/ar71xx/image/Makefile (Revision 27887) +++ target/linux/ar71xx/image/Makefile (Arbeitskopie) @@ -647,6 +647,11 @@ $(call Image/Build/Template/$(fs_64k)/$(1),UBNTXM,ubnt-nano-m,$(ubntnanom_cmdline),XM,UBNTXM,ar7240) endef +ubntairrouter_cmdline=board=UBNT-AR console=ttyS0,115200 +define Image/Build/Profile/UBNTAIRROUTER + $(call Image/Build/Template/$(fs_64k)/$(1),UBNTXM,ubnt-airrouter,$(ubntairrouter_cmdline),XM,UBNTXM,ar7240) +endef + ubntunifi_cmdline=board=UBNT-XM console=ttyS0,115200 define Image/Build/Profile/UBNTUNIFI $(call Image/Build/Template/$(fs_64k)/$(1),UBNTXM,ubnt-unifi,$(ubntunifi_cmdline),XM,UBNTXM,ar7240) @@ -659,6 +664,7 @@ $(call Image/Build/Profile/UBNTBULLETM,$(1)) $(call Image/Build/Profile/UBNTROCKETM,$(1)) $(call Image/Build/Profile/UBNTNANOM,$(1)) + $(call Image/Build/Profile/UBNTAIRROUTER,$(1)) $(call Image/Build/Profile/UBNTUNIFI,$(1)) endef _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
