if ATHEROS_AR71XX

menu "Atheros AR71xx machine selection"
config AR71XX_MACH_ALFA_AP96
	bool "ALFA Network AP96 board support"
	select SOC_AR71XX
	select AR71XX_DEV_PB42_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_USB

config AR71XX_MACH_HORNET_UB
	bool "Alfa Networks Hornet-UB board support"
	select SOC_AR933X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB
	select AR71XX_DEV_AR9XXX_WMAC

config AR71XX_MACH_ALFA_NX
	bool "ALFA Network N2/N5 board support"
	select SOC_AR724X
	select AR71XX_DEV_AP91_PCI if PCI
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_ALL0258N
	bool "Allnet ALL0258N support"
	select SOC_AR724X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AP91_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_AP81
	bool "Atheros AP81 board support"
	select SOC_AR913X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AR9XXX_WMAC
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_AP83
	bool "Atheros AP83 board support"
	select SOC_AR913X
	select AR71XX_DEV_AR9XXX_WMAC
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_AP96
	bool "Atheros AP96 board support"
	select SOC_AR71XX
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AP94_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_AP113
	bool "Atheros AP113 board support"
	select SOC_AR724X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_PB9X_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_AP121
	bool "Atheros AP121 board support"
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB
	select AR71XX_DEV_AR9XXX_WMAC
	select SOC_AR933X

config AR71XX_MACH_DB120
	bool "Atheros DB120 board support"
	select SOC_AR934X
	select AR71XX_DEV_AR9XXX_WMAC
	select AR71XX_DEV_DB120_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_DIR_600_A1
	bool "D-Link DIR-600 rev. A1 support"
	select SOC_AR724X
	select AR71XX_DEV_AP91_PCI if PCI
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_NVRAM

config AR71XX_MACH_DIR_615_C1
	bool "D-Link DIR-615 rev. C1 support"
	select SOC_AR913X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AR9XXX_WMAC
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_NVRAM

config AR71XX_MACH_DIR_825_B1
	bool "D-Link DIR-825 rev. B1 board support"
	select SOC_AR71XX
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AP94_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_JA76PF
	bool "jjPlus JA76PF board support"
	select SOC_AR71XX
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_PB42_PCI if PCI
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_JWAP003
	bool "jjPlus JWAP003 board support"
	select SOC_AR71XX
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_PB42_PCI if PCI
	select AR71XX_DEV_USB

config AR71XX_MACH_PB42
	bool "Atheros PB42 board support"
	select SOC_AR71XX
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_PB42_PCI if PCI

config AR71XX_MACH_PB44
	bool "Atheros PB44 board support"
	select SOC_AR71XX
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_PB42_PCI if PCI
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_PB92
	bool "Atheros PB92 board support"
	select SOC_AR724X
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_PB9X_PCI if PCI
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_RW2458N
	bool "Redwave RW2458N board support"
	select SOC_AR724X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AP91_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_AW_NR580
	bool "AzureWave AW-NR580 board support"
	select SOC_AR71XX
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_PB42_PCI if PCI
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_WZR_HP_AG300H
	bool "Buffalo WZR-HP-AG300H board support"
	select SOC_AR71XX
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_WZR_HP_G450H
	bool "Buffalo WZR-HP-G450H board support"
	select SOC_AR724X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AP91_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_WZR_HP_G300NH
	bool "Buffalo WZR-HP-G300NH board support"
	select SOC_AR913X
	select AR71XX_DEV_AR9XXX_WMAC
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB
	select RTL8366_SMI

config AR71XX_MACH_WZR_HP_G300NH2
	bool "Buffalo WZR-HP-G300NH2 board support"
	select SOC_AR724X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_AP91_PCI if PCI
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_WHR_HP_G300N
	bool "Buffalo WHR-HP-G300N board support"
	select SOC_AR724X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AP91_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_WP543
	bool "Compex WP543/WPJ543 board support"
	select SOC_AR71XX
	select MYLOADER
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_PB42_PCI if PCI
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_WPE72
	bool "Compex WPE72 board support"
	select SOC_AR724X
	select MYLOADER
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_PB42_PCI if PCI
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_WRT160NL
	bool "Linksys WRT160NL board support"
	select SOC_AR913X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AR9XXX_WMAC
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB
	select AR71XX_NVRAM

config AR71XX_MACH_WRT400N
	bool "Linksys WRT400N board support"
	select SOC_AR71XX
	select AR71XX_DEV_AP94_PCI if PCI
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_RB4XX
	bool "MikroTik RouterBOARD 4xx series support"
	select SOC_AR71XX
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_RB750
	bool "MikroTik RouterBOARD 750 support"
	select SOC_AR724X

config AR71XX_MACH_WNDR3700
	bool "NETGEAR WNDR3700 board support"
	select SOC_AR71XX
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AP94_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_WNR2000
	bool "NETGEAR WNR2000 board support"
	select SOC_AR913X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AR9XXX_WMAC
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_OM2P
	bool "OpenMesh OM2P board support"
	select SOC_AR724X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AP91_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_MZK_W04NU
	bool "Planex MZK-W04NU board support"
	select SOC_AR913X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AR9XXX_WMAC
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_MZK_W300NH
	bool "Planex MZK-W300NH board support"
	select SOC_AR913X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AR9XXX_WMAC
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_NBG460N
	bool "Zyxel NBG460N/550N/550NH board support"
	select SOC_AR913X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AR9XXX_WMAC
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_TL_MR3020
	bool "TP-LINK TL-MR3020 support"
	select SOC_AR933X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB
	select AR71XX_DEV_AR9XXX_WMAC

config AR71XX_MACH_TL_MR3X20
	bool "TP-LINK TL-MR3220/3420 support"
	select SOC_AR724X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AP91_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_TL_WA901ND
	bool "TP-LINK TL-WA901ND support"
	select SOC_AR724X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AP91_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_TL_WA901ND_V2
	bool "TP-LINK TL-WA901ND v2 support"
	select SOC_AR913X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AR9XXX_WMAC
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_TL_WR703N
	bool "TP-LINK TL-WR703N support"
	select SOC_AR933X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB
	select AR71XX_DEV_AR9XXX_WMAC

config AR71XX_MACH_TL_WR741ND
	bool "TP-LINK TL-WR741ND support"
	select SOC_AR724X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AP91_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_TL_WR741ND_V4
	bool "TP-LINK TL-WR741ND v4 support"
	select SOC_AR933X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_AR9XXX_WMAC

config AR71XX_MACH_TL_WR841N_V1
	bool "TP-LINK TL-WR841N v1 support"
	select SOC_AR71XX
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_PB42_PCI if PCI
	select AR71XX_DEV_DSA
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_TL_WR941ND
	bool "TP-LINK TL-WR941ND support"
	select SOC_AR913X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AR9XXX_WMAC
	select AR71XX_DEV_DSA
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_TL_WR1043ND
	bool "TP-LINK TL-WR1043ND support"
	select SOC_AR913X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AR9XXX_WMAC
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_TL_WR2543N
	bool "TP-LINK TL-WR2543N/ND support"
	select SOC_AR724X
	select AR71XX_DEV_AP91_PCI if PCI
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_USB

config AR71XX_MACH_TEW_632BRP
	bool "TRENDnet TEW-632BRP support"
	select SOC_AR913X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AR9XXX_WMAC
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_NVRAM

config AR71XX_MACH_UBNT
	bool "Ubiquiti AR71xx based boards support"
	select SOC_AR71XX
	select SOC_AR724X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AP91_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO
	select AR71XX_DEV_PB42_PCI if PCI
	select AR71XX_DEV_USB

config AR71XX_MACH_EAP7660D
	bool "Senao EAP7660D support"
	select SOC_AR71XX
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

config AR71XX_MACH_ZCN_1523H
	bool "Zcomax ZCN-1523H support"
	select SOC_AR724X
	select AR71XX_DEV_M25P80
	select AR71XX_DEV_AP91_PCI if PCI
	select AR71XX_DEV_GPIO_BUTTONS
	select AR71XX_DEV_LEDS_GPIO

endmenu

config SOC_AR71XX
	bool
	select USB_ARCH_HAS_EHCI
	select USB_ARCH_HAS_OHCI

config SOC_AR724X
	bool
	select USB_ARCH_HAS_EHCI
	select USB_ARCH_HAS_OHCI

config SOC_AR913X
	bool
	select USB_ARCH_HAS_EHCI

config SOC_AR934X
	bool
	select USB_ARCH_HAS_EHCI

config AR71XX_DEV_M25P80
	def_bool n

config AR71XX_DEV_AP91_PCI
	select AR71XX_PCI_ATH9K_FIXUP
	def_bool n

config AR71XX_DEV_AP94_PCI
	select AR71XX_PCI_ATH9K_FIXUP
	def_bool n

config AR71XX_DEV_AR9XXX_WMAC
	def_bool n

config AR71XX_DEV_DB120_PCI
	select AR71XX_PCI_ATH9K_FIXUP
	def_bool n

config AR71XX_DEV_DSA
	def_bool n

config AR71XX_DEV_GPIO_BUTTONS
	def_bool n

config AR71XX_DEV_LEDS_GPIO
	def_bool n

config AR71XX_DEV_PB42_PCI
	def_bool n

config AR71XX_DEV_PB9X_PCI
	def_bool n

config AR71XX_DEV_USB
	def_bool n

config AR71XX_NVRAM
	def_bool n

config AR71XX_PCI_ATH9K_FIXUP
	def_bool n

config SOC_AR933X
	bool
	select USB_ARCH_HAS_EHCI

endif
