if ARCH_PXA

menu "Intel PXA2xx/PXA3xx Implementations"

if PXA3xx

menu "Supported PXA3xx Processor Variants"

config CPU_PXA300
	bool "PXA300 (codename Monahans-L)"

config CPU_PXA310
	bool "PXA310 (codename Monahans-LV)"
	select CPU_PXA300

config CPU_PXA320
	bool "PXA320 (codename Monahans-P)"

config CPU_PXA930
	bool "PXA930 (codename Tavor-P)"

endmenu

endif

config ARCH_GUMSTIX
	bool "Gumstix XScale boards"
	help
	  Say Y here if you intend to run this kernel on a
	  Gumstix Full Function Minature Computer.

config MACH_GUMSTIX_F
	bool "Basix, Connex, ws-200ax, ws-400ax systems"
	depends on ARCH_GUMSTIX
	select PXA25x

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 HAVE_PWM

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

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.

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

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

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

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

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

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

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

config MACH_TOSA
	bool "Enable Sharp SL-6000x (Tosa) Support"
	depends on PXA_SHARPSL
	select PXA25x

config ARCH_PXA_ESERIES
	bool "PXA based Toshiba e-series PDAs"
	select PXA25x

config MACH_E330
	bool "Toshiba e330"
	default y
	depends on ARCH_PXA_ESERIES
	help
	  Say Y here if you intend to run this kernel on a Toshiba
	  e330 family PDA.

config MACH_E350
	bool "Toshiba e350"
	default y
	depends on ARCH_PXA_ESERIES
	help
	  Say Y here if you intend to run this kernel on a Toshiba
	  e350 family PDA.

config MACH_E740
	bool "Toshiba e740"
	default y
	depends on ARCH_PXA_ESERIES
	select FB_W100
	help
	  Say Y here if you intend to run this kernel on a Toshiba
	  e740 family PDA.

config MACH_E750
	bool "Toshiba e750"
	default y
	depends on ARCH_PXA_ESERIES
	select FB_W100
	help
	  Say Y here if you intend to run this kernel on a Toshiba
	  e750 family PDA.

config MACH_E400
	bool "Toshiba e400"
	default y
	depends on ARCH_PXA_ESERIES
	help
	  Say Y here if you intend to run this kernel on a Toshiba
	  e400 family PDA.

config MACH_E800
	bool "Toshiba e800"
	default y
	depends on ARCH_PXA_ESERIES
	select FB_W100
	help
	  Say Y here if you intend to run this kernel on a Toshiba
	  e800 family PDA.

config MACH_TRIZEPS4
	bool "Keith und Koep Trizeps4 DIMM-Module"
	select PXA27x

config MACH_TRIZEPS4_CONXS
	bool "ConXS Eval Board"
	depends on MACH_TRIZEPS4

config MACH_EM_X270
	bool "CompuLab EM-x270 platform"
	select PXA27x

config MACH_COLIBRI
	bool "Toradex Colibri PX27x"
	select PXA27x

config MACH_ZYLONITE
	bool "PXA3xx Development Platform (aka Zylonite)"
	select PXA3xx
	select HAVE_PWM

config MACH_LITTLETON
	bool "PXA3xx Form Factor Platform (aka Littleton)"
	select PXA3xx
	select PXA_SSP

config MACH_TAVOREVB
	bool "PXA930 Evaluation Board (aka TavorEVB)"
	select PXA3xx
	select PXA930

config MACH_SAAR
	bool "PXA930 Handheld Platform (aka SAAR)"
	select PXA3xx
	select PXA930

config MACH_ARMCORE
	bool "CompuLab CM-X270 modules"
	select PXA27x
	select IWMMXT
	select ZONE_DMA if PCI

config MACH_MAGICIAN
	bool "Enable HTC Magician Support"
	select PXA27x
	select IWMMXT

config MACH_PCM027
	bool "Phytec phyCORE-PXA270 CPU module (PCM-027)"
	select PXA27x
	select IWMMXT
	select PXA_SSP

config ARCH_PXA_PALM
	bool "PXA based Palm PDAs"
	select HAVE_PWM

config MACH_PALMTX
	bool "Palm T|X"
	default y
	depends on ARCH_PXA_PALM
	select PXA27x
	select IWMMXT
	help
	  Say Y here if you intend to run this kernel on a Palm T|X
	  handheld computer.

config MACH_PCM990_BASEBOARD
	bool "PHYTEC PCM-990 development board"
	select HAVE_PWM
	depends on MACH_PCM027

choice
	prompt "display on pcm990"
	depends on MACH_PCM990_BASEBOARD

config PCM990_DISPLAY_SHARP
	bool "sharp lq084v1dg21 stn display"

config PCM990_DISPLAY_NEC
	bool "nec nl6448bc20_18d tft display"

config PCM990_DISPLAY_NONE
	bool "no display"

endchoice


config PXA_EZX
	bool "Motorola EZX Platform"
	select PXA27x
	select IWMMXT
	select HAVE_PWM

config MACH_EZX_A780
	bool "Motorola EZX A780"
	default y
	depends on PXA_EZX

config MACH_EZX_E680
	bool "Motorola EZX E680"
	default y
	depends on PXA_EZX

config MACH_EZX_A1200
	bool "Motorola EZX A1200"
	default y
	depends on PXA_EZX

config MACH_EZX_A910
	bool "Motorola EZX A910"
	default y
	depends on PXA_EZX

config MACH_EZX_E6
	bool "Motorola EZX E6"
	default y
	depends on PXA_EZX

config MACH_EZX_E2
	bool "Motorola EZX E2"
	default y
	depends on PXA_EZX

endmenu

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

config PXA27x
	bool
	help
	  Select code specific to PXA27x variants

config PXA3xx
	bool
	help
	  Select code specific to PXA3xx variants

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

config PXA_PWM
	tristate
	default BACKLIGHT_PWM
	help
	  Enable support for PXA2xx/PXA3xx PWM controllers

config TOSA_BT
	tristate "Control the state of built-in bluetooth chip on Sharp SL-6000"
	depends on MACH_TOSA
	select RFKILL
	help
	  This is a simple driver that is able to control
	  the state of built in bluetooth chip on tosa.

endif
