if ARCH_MSM

comment "Qualcomm MSM SoC Type"
	depends on (ARCH_MSM8X60 || ARCH_MSM8960)

choice
	prompt "Qualcomm MSM SoC Type"
	default ARCH_MSM7X00A
	depends on !(ARCH_MSM8X60 || ARCH_MSM8960)

config ARCH_MSM7X00A
	bool "MSM7x00A / MSM7x01A"
	select ARCH_MSM_ARM11
	select CPU_V6
	select GPIO_MSM_V1
	select MACH_TROUT if !MACH_HALIBUT
	select MSM_PROC_COMM
	select MSM_SMD
	select MSM_SMD_PKG3

config ARCH_MSM7X30
	bool "MSM7x30"
	select ARCH_MSM_SCORPION
	select CPU_V7
	select GPIO_MSM_V1
	select MACH_MSM7X30_SURF # if !
	select MSM_GPIOMUX
	select MSM_PROC_COMM
	select MSM_SMD
	select MSM_VIC

config ARCH_QSD8X50
	bool "QSD8X50"
	select ARCH_MSM_SCORPION
	select CPU_V7
	select GPIO_MSM_V1
	select MACH_QSD8X50_SURF if !MACH_QSD8X50A_ST1_5
	select MSM_GPIOMUX
	select MSM_PROC_COMM
	select MSM_SMD
	select MSM_VIC

endchoice

config ARCH_MSM8X60
	bool "MSM8X60"
	select ARCH_MSM_SCORPIONMP
	select ARM_GIC
	select CPU_V7
	select GPIO_MSM_V2
	select MSM_GPIOMUX
	select MSM_SCM if SMP
	select MSM_V2_TLMM
	select USE_OF

config ARCH_MSM8960
	bool "MSM8960"
	select ARCH_MSM_SCORPIONMP
	select ARM_GIC
	select CPU_V7
	select MSM_GPIOMUX
	select MSM_SCM if SMP
	select MSM_V2_TLMM
	select USE_OF

config MSM_HAS_DEBUG_UART_HS
	bool

config MSM_SOC_REV_A
	bool
config  ARCH_MSM_SCORPIONMP
	bool
	select HAVE_SMP

config  ARCH_MSM_ARM11
	bool
config  ARCH_MSM_SCORPION
	bool

config  MSM_VIC
	bool

menu "Qualcomm MSM Board Type"

config MACH_HALIBUT
	depends on ARCH_MSM
	depends on ARCH_MSM7X00A
	bool "Halibut Board (QCT SURF7201A)"
	help
	  Support for the Qualcomm SURF7201A eval board.

config MACH_TROUT
	depends on ARCH_MSM
	depends on ARCH_MSM7X00A
	bool "HTC Dream (aka trout)"
	help
	  Support for the HTC Dream, T-Mobile G1, Android ADP1 devices.

config MACH_MSM7X30_SURF
	depends on ARCH_MSM7X30
	bool "MSM7x30 SURF"
	help
	  Support for the Qualcomm MSM7x30 SURF eval board.

config MACH_QSD8X50_SURF
	depends on ARCH_QSD8X50
	bool "QSD8x50 SURF"
	help
	  Support for the Qualcomm QSD8x50 SURF eval board.

config MACH_QSD8X50A_ST1_5
	depends on ARCH_QSD8X50
	bool "QSD8x50A ST1.5"
	select MSM_SOC_REV_A
	help
	  Support for the Qualcomm ST1.5.

endmenu

config MSM_SMD_PKG3
	bool

config MSM_PROC_COMM
	bool

config MSM_SMD
	bool

config MSM_GPIOMUX
	bool

config MSM_V2_TLMM
	bool

config MSM_SCM
	bool
endif
