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

Reply via email to