Add support for Ubiquiti UniFi AP
authorClaudio Mignanti <c.mignanti@gmail.com>
Sat, 6 Nov 2010 21:08:48 +0000 (21:08 +0000)
committerClaudio Mignanti <c.mignanti@gmail.com>
Sat, 6 Nov 2010 21:08:48 +0000 (21:08 +0000)
SVN-Revision: 23904

target/linux/ar71xx/files/arch/mips/ar71xx/mach-ubnt.c
target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h
target/linux/ar71xx/image/Makefile

index 5af18a7e05cac361227763963b6340c475d3ee3d..e99542f2b8a3929330ce0b307abfd79b6099e593 100644 (file)
@@ -281,3 +281,40 @@ static void __init ubnt_nano_m_setup(void)
 
 MIPS_MACHINE(AR71XX_MACH_UBNT_NANO_M, "UBNT-NM", "Ubiquiti Nanostation M",
             ubnt_nano_m_setup);
+
+static struct gpio_led ubnt_unifi_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_unifi_setup(void)
+{
+       u8 *mac = (u8 *) KSEG1ADDR(0x1fff0000);
+       u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
+
+       ar71xx_add_device_m25p80(NULL);
+
+       ar71xx_add_device_mdio(~0);
+
+       ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0);
+       ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
+       ar71xx_eth0_data.speed = SPEED_100;
+       ar71xx_eth0_data.duplex = DUPLEX_FULL;
+
+       ar71xx_add_device_eth(0);
+
+       ap91_pci_init(ee, NULL);
+
+       ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(ubnt_unifi_leds_gpio),
+                                       ubnt_unifi_leds_gpio);
+}
+
+MIPS_MACHINE(AR71XX_MACH_UBNT_UNIFI, "UBNT-XM", "Ubiquiti UniFi",
+            ubnt_unifi_setup);
index 4e2bc90231231d6481ee1595024357e49404c0c1..ec35677be2ebf69b27d73d02a0411796ee109e51 100644 (file)
@@ -61,6 +61,7 @@ enum ar71xx_mach_type {
        AR71XX_MACH_ZCN_1523H_2, /* Zcomax ZCN-1523H-2-xx */
        AR71XX_MACH_ZCN_1523H_5, /* Zcomax ZCN-1523H-5-xx */
        AR71XX_MACH_AP96,       /* Atheros AP96 */
+       AR71XX_MACH_UBNT_UNIFI, /* Unifi */
 };
 
 #endif /* _AR71XX_MACHTYPE_H */
index cb342a1962ec835b17fa3b695912a6d06deba999..cf733c9fc2e912d65d571c699d57c434e732af0f 100644 (file)
@@ -518,6 +518,10 @@ define Image/Build/Profile/UBNTNANOM
        $(call Image/Build/Template/$(fs_64k)/$(1),UBNTXM,ubnt-nano-m,board=UBNT-NM,XM,UBNTXM,ar7240)
 endef
 
+define Image/Build/Profile/UBNTUNIFI
+       $(call Image/Build/Template/$(fs_64k)/$(1),UBNTXM,ubnt-unifi,board=UBNT-XM,XM,UBNTXM,ar7240)
+endef
+
 define Image/Build/Profile/UBNT
        $(call Image/Build/Profile/UBNTRS,$(1))
        $(call Image/Build/Profile/UBNTRSPRO,$(1))
@@ -525,6 +529,7 @@ define Image/Build/Profile/UBNT
        $(call Image/Build/Profile/UBNTBULLETM,$(1))
        $(call Image/Build/Profile/UBNTROCKETM,$(1))
        $(call Image/Build/Profile/UBNTNANOM,$(1))
+       $(call Image/Build/Profile/UBNTUNIFI,$(1))
 endef
 
 define Image/Build/Profile/MZKW04NU