# SPDX-License-Identifier: GPL-2.0-only
menuconfig ARCH_ORION5X
	bool "Marvell Orion"
	depends on ARCH_MULTI_V5
	select CPU_FEROCEON
	select GPIOLIB
	select MVEBU_MBUS
	select FORCE_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 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 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"
	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"
	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
