if ARCH_MMP

menu "Marvell PXA168/910/MMP2 Implmentations"

config MACH_ASPENITE
	bool "Marvell's PXA168 Aspenite Development Board"
	select CPU_PXA168
	help
	  Say 'Y' here if you want to support the Marvell PXA168-based
	  Aspenite Development Board.

config MACH_ZYLONITE2
	bool "Marvell's PXA168 Zylonite2 Development Board"
	select CPU_PXA168
	help
	  Say 'Y' here if you want to support the Marvell PXA168-based
	  Zylonite2 Development Board.

config MACH_AVENGERS_LITE
	bool "Marvell's PXA168 Avengers Lite Development Board"
	select CPU_PXA168
	help
	  Say 'Y' here if you want to support the Marvell PXA168-based
	  Avengers Lite Development Board.

config MACH_TAVOREVB
	bool "Marvell's PXA910 TavorEVB Development Board"
	select CPU_PXA910
	help
	  Say 'Y' here if you want to support the Marvell PXA910-based
	  TavorEVB Development Board.

config MACH_TTC_DKB
	bool "Marvell's PXA910 TavorEVB Development Board"
	select CPU_PXA910
	help
	  Say 'Y' here if you want to support the Marvell PXA910-based
	  TTC_DKB Development Board.

config MACH_FLINT
	bool "Marvell's Flint Development Platform"
	select CPU_MMP2
	help
	  Say 'Y' here if you want to support the Marvell MMP2-based
	  Flint Development Platform.
	  MMP2-based board can't be co-existed with PXA168-based &
	  PXA910-based development board. Since MMP2 is compatible to
	  ARMv6 architecture.

config MACH_MARVELL_JASPER
	bool "Marvell's Jasper Development Platform"
	select CPU_MMP2
	help
	  Say 'Y' here if you want to support the Marvell MMP2-base
	  Jasper Development Platform.
	  MMP2-based board can't be co-existed with PXA168-based &
	  PXA910-based development board. Since MMP2 is compatible to
	  ARMv6 architecture.

config MACH_TETON_BGA
	bool "Marvell's PXA168 Teton BGA Development Board"
	select CPU_PXA168
	help
	  Say 'Y' here if you want to support the Marvell PXA168-based
	  Teton BGA Development Board.

endmenu

config CPU_PXA168
	bool
	select CPU_MOHAWK
	help
	  Select code specific to PXA168

config CPU_PXA910
	bool
	select CPU_MOHAWK
	help
	  Select code specific to PXA910

config CPU_MMP2
	bool
	select CPU_V6
	select CPU_32v6K
	help
	  Select code specific to MMP2. MMP2 is ARMv6 compatible.
endif
