if ARCH_PXA

menu "Intel PXA2xx Implementations"

choice
	prompt "Select target board"

config ARCH_LUBBOCK
	bool "Intel DBPXA250 Development Platform"
	select PXA25x
	select SA1111

config MACH_LOGICPD_PXA270
	bool "LogicPD PXA270 Card Engine Development Platform"
	select PXA27x
	select IWMMXT

config MACH_MAINSTONE
	bool "Intel HCDDBBVA0 Development Platform"
	select PXA27x
	select IWMMXT

config ARCH_PXA_IDP
	bool "Accelent Xscale IDP"
	select PXA25x

config PXA_SHARPSL
	bool "SHARP Zaurus SL-5600, SL-C7xx and SL-Cxx00 Models"
	select SHARP_SCOOP
	select SHARP_PARAM
	help
	  Say Y here if you intend to run this kernel on a
	  Sharp Zaurus SL-5600 (Poodle), SL-C700 (Corgi),
	  SL-C750 (Shepherd), SL-C760 (Husky), SL-C1000 (Akita),
	  SL-C3000 (Spitz), SL-C3100 (Borzoi) or SL-C6000x (Tosa)
	  handheld computer.

endchoice

if PXA_SHARPSL

choice
	prompt "Select target Sharp Zaurus device range"

config PXA_SHARPSL_25x
	bool "Sharp PXA25x models (SL-5600, SL-C7xx and SL-C6000x)"
	select PXA25x

config PXA_SHARPSL_27x
	bool "Sharp PXA270 models (SL-Cxx00)"
	select PXA27x
	select IWMMXT

endchoice

endif

endmenu

config MACH_POODLE
	bool "Enable Sharp SL-5600 (Poodle) Support"
	depends PXA_SHARPSL_25x
	select SHARP_LOCOMO
	select PXA_SSP

config MACH_CORGI
	bool "Enable Sharp SL-C700 (Corgi) Support"
	depends PXA_SHARPSL_25x
	select PXA_SHARP_C7xx

config MACH_SHEPHERD
	bool "Enable Sharp SL-C750 (Shepherd) Support"
	depends PXA_SHARPSL_25x
	select PXA_SHARP_C7xx

config MACH_HUSKY
	bool "Enable Sharp SL-C760 (Husky) Support"
	depends PXA_SHARPSL_25x
	select PXA_SHARP_C7xx

config MACH_AKITA
	bool "Enable Sharp SL-1000 (Akita) Support"
	depends PXA_SHARPSL_27x
	select PXA_SHARP_Cxx00
	select MACH_SPITZ
	select I2C
	select I2C_PXA

config MACH_SPITZ
	bool "Enable Sharp Zaurus SL-3000 (Spitz) Support"
	depends PXA_SHARPSL_27x
	select PXA_SHARP_Cxx00

config MACH_BORZOI
	bool "Enable Sharp Zaurus SL-3100 (Borzoi) Support"
	depends PXA_SHARPSL_27x
	select PXA_SHARP_Cxx00

config MACH_TOSA
	bool "Enable Sharp SL-6000x (Tosa) Support"
	depends PXA_SHARPSL_25x

config PXA25x
	bool
	help
	  Select code specific to PXA21x/25x/26x variants

config PXA27x
	bool
	help
	  Select code specific to PXA27x variants

config IWMMXT
	bool
	help
	  Enable support for iWMMXt

config PXA_SHARP_C7xx
	bool
	select PXA_SSP
	select SHARPSL_PM
	help
	  Enable support for all Sharp C7xx models

config PXA_SHARP_Cxx00
	bool
	select PXA_SSP
	select SHARPSL_PM
	help
	  Enable common support for Sharp Cxx00 models

config PXA_SSP
	tristate
	help
	  Enable support for PXA2xx SSP ports
endif
