diff options
Diffstat (limited to 'target/linux')
| -rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/mach-ubnt.c | 37 | ||||
| -rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h | 1 | ||||
| -rw-r--r-- | target/linux/ar71xx/image/Makefile | 5 | 
3 files changed, 43 insertions, 0 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ubnt.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ubnt.c index 5af18a7e0..e99542f2b 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ubnt.c +++ b/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); diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h b/target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h index 4e2bc9023..ec35677be 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h +++ b/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 */ diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile index cb342a196..cf733c9fc 100644 --- a/target/linux/ar71xx/image/Makefile +++ b/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  | 
