Browse Source

Add support for Ubiquiti UniFi AP

SVN-Revision: 23904
Claudio Mignanti 15 years ago
parent
commit
20b2a4417a

+ 37 - 0
target/linux/ar71xx/files/arch/mips/ar71xx/mach-ubnt.c

@@ -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);

+ 1 - 0
target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h

@@ -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 */

+ 5 - 0
target/linux/ar71xx/image/Makefile

@@ -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