menuconfig ARCH_ORION5X
	bool "Marvell Orion"
	depends on MMU && ARCH_MULTI_V5
	select CPU_FEROCEON
	select GENERIC_CLOCKEVENTS
	select GPIOLIB
	select MVEBU_MBUS
	select PCI
	select PHYLIB if NETDEVICES
	select PLAT_ORION_LEGACY
	help
	  Support for the following Marvell Orion 5x series SoCs:
	  Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
	  Orion-2 (5281), Orion-1-90 (6183).

if ARCH_ORION5X

config ARCH_ORION5X_DT
	bool "Marvell Orion5x Flattened Device Tree"
	select USE_OF
	select ORION_CLK
	select ORION_IRQCHIP
	select ORION_TIMER
	select PINCTRL
	select PINCTRL_ORION
	help
	  Say 'Y' here if you want your kernel to support the
	  Marvell Orion5x using flattened device tree.

config MACH_DB88F5281
	bool "Marvell Orion-2 Development Board"
	select I2C_BOARDINFO if I2C
	help
	  Say 'Y' here if you want your kernel to support the
	  Marvell Orion-2 (88F5281) Development Board

config MACH_RD88F5182
	bool "Marvell Orion-NAS Reference Design"
	select I2C_BOARDINFO if I2C
	help
	  Say 'Y' here if you want your kernel to support the
	  Marvell Orion-NAS (88F5182) RD2

config MACH_RD88F5182_DT
	bool "Marvell Orion-NAS Reference Design (Flattened Device Tree)"
	select ARCH_ORION5X_DT
	select I2C_BOARDINFO if I2C
	help
	  Say 'Y' here if you want your kernel to support the Marvell
	  Orion-NAS (88F5182) RD2, Flattened Device Tree.

config MACH_KUROBOX_PRO
	bool "KuroBox Pro"
	select I2C_BOARDINFO if I2C
	help
	  Say 'Y' here if you want your kernel to support the
	  KuroBox Pro platform.

config MACH_DNS323
	bool "D-Link DNS-323"
	select GENERIC_NET_UTILS
	select I2C_BOARDINFO if I2C
	help
	  Say 'Y' here if you want your kernel to support the
	  D-Link DNS-323 platform.

config MACH_TS209
	bool "QNAP TS-109/TS-209"
	select GENERIC_NET_UTILS
	help
	  Say 'Y' here if you want your kernel to support the
	  QNAP TS-109/TS-209 platform.

config MACH_TERASTATION_PRO2
	bool "Buffalo Terastation Pro II/Live"
	help
	  Say 'Y' here if you want your kernel to support the
	  Buffalo Terastation Pro II/Live platform.

config MACH_LINKSTATION_PRO
	bool "Buffalo Linkstation Pro/Live"
	select I2C_BOARDINFO if I2C
	help
	  Say 'Y' here if you want your kernel to support the
	  Buffalo Linkstation Pro/Live platform. Both v1 and
	  v2 devices are supported.

config MACH_LINKSTATION_MINI
	bool "Buffalo Linkstation Mini (Flattened Device Tree)"
	select ARCH_ORION5X_DT
	help
	  Say 'Y' here if you want your kernel to support the
	  Buffalo Linkstation Mini (LS-WSGL) platform.

config MACH_LINKSTATION_LS_HGL
	bool "Buffalo Linkstation LS-HGL"
	select I2C_BOARDINFO if I2C
	help
	  Say 'Y' here if you want your kernel to support the
	  Buffalo Linkstation LS-HGL platform.

config MACH_TS409
	bool "QNAP TS-409"
	select GENERIC_NET_UTILS
	help
	  Say 'Y' here if you want your kernel to support the
	  QNAP TS-409 platform.

config MACH_WRT350N_V2
	bool "Linksys WRT350N v2"
	help
	  Say 'Y' here if you want your kernel to support the
	  Linksys WRT350N v2 platform.

config MACH_TS78XX
	bool "Technologic Systems TS-78xx"
	help
	  Say 'Y' here if you want your kernel to support the
	  Technologic Systems TS-78xx platform.

config MACH_MV2120
	bool "HP Media Vault mv2120"
	help
	  Say 'Y' here if you want your kernel to support the
	  HP Media Vault mv2120 or mv5100.

config MACH_D2NET_DT
	bool "LaCie d2 Network / Big Disk Network (Flattened Device Tree)"
	select ARCH_ORION5X_DT
	help
	  Say 'Y' here if you want your kernel to support the
	  LaCie d2 Network NAS.

config MACH_NET2BIG
	bool "LaCie 2Big Network"
	select I2C_BOARDINFO if I2C
	help
	  Say 'Y' here if you want your kernel to support the
	  LaCie 2Big Network NAS.

config MACH_MSS2_DT
	bool "Maxtor Shared Storage II (Flattened Device Tree)"
	select ARCH_ORION5X_DT
	help
	  Say 'Y' here if you want your kernel to support the
	  Maxtor Shared Storage II platform.

config MACH_WNR854T
	bool "Netgear WNR854T"
	help
	  Say 'Y' here if you want your kernel to support the
	  Netgear WNR854T platform.

config MACH_RD88F5181L_GE
	bool "Marvell Orion-VoIP GE Reference Design"
	help
	  Say 'Y' here if you want your kernel to support the
	  Marvell Orion-VoIP GE (88F5181L) RD.

config MACH_RD88F5181L_FXO
	bool "Marvell Orion-VoIP FXO Reference Design"
	help
	  Say 'Y' here if you want your kernel to support the
	  Marvell Orion-VoIP FXO (88F5181L) RD.

config MACH_RD88F6183AP_GE
	bool "Marvell Orion-1-90 AP GE Reference Design"
	help
	  Say 'Y' here if you want your kernel to support the
	  Marvell Orion-1-90 (88F6183) AP GE RD.

endif
