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 ARM_GIC
	select CPU_V7
	select GPIO_MSM_V2
	select HAVE_SMP
	select MSM_SCM if SMP
	select USE_OF

config ARCH_MSM8960
	bool "MSM8960"
	select ARM_GIC
	select CPU_V7
	select HAVE_SMP
	select GPIO_MSM_V2
	select MSM_SCM if SMP
	select USE_OF

config MSM_HAS_DEBUG_UART_HS
	bool

config MSM_SOC_REV_A
	bool

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
	depends on !(ARCH_MSM8X60 || ARCH_MSM8960)
	bool "MSM V1 TLMM GPIOMUX architecture"
	help
	  Support for MSM V1 TLMM GPIOMUX architecture.

config MSM_SCM
	bool
endif
