if ARCH_MSM

choice
	prompt "Qualcomm MSM SoC Type"
	default ARCH_MSM7X00A

config ARCH_MSM7X00A
	bool "MSM7x00A / MSM7x01A"
	select ARCH_MSM_ARM11
	select MSM_SMD
	select MSM_SMD_PKG3
	select CPU_V6
	select MSM_PROC_COMM
	select HAS_MSM_DEBUG_UART_PHYS

config ARCH_MSM7X30
	bool "MSM7x30"
	select ARCH_MSM_SCORPION
	select MSM_SMD
	select MSM_VIC
	select CPU_V7
	select MSM_REMOTE_SPINLOCK_DEKKERS
	select MSM_GPIOMUX
	select MSM_PROC_COMM
	select HAS_MSM_DEBUG_UART_PHYS

config ARCH_QSD8X50
	bool "QSD8X50"
	select ARCH_MSM_SCORPION
	select MSM_SMD
	select MSM_VIC
	select CPU_V7
	select MSM_REMOTE_SPINLOCK_LDREX
	select MSM_GPIOMUX
	select MSM_PROC_COMM
	select HAS_MSM_DEBUG_UART_PHYS

config ARCH_MSM8X60
	bool "MSM8X60"
	select ARM_GIC
	select CPU_V7
	select MSM_V2_TLMM
	select MSM_GPIOMUX
	select MACH_MSM8X60_SURF if (!MACH_MSM8X60_RUMI3 && !MACH_MSM8X60_SIM \
				  && !MACH_MSM8X60_FFA)

endchoice

config MSM_SOC_REV_A
	bool

config  ARCH_MSM_ARM11
	bool
config  ARCH_MSM_SCORPION
	bool

config HAS_MSM_DEBUG_UART_PHYS
	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
	select MSM_SOC_REV_A
	bool "QSD8x50A ST1.5"
	help
	  Support for the Qualcomm ST1.5.

config MACH_MSM8X60_RUMI3
	depends on ARCH_MSM8X60
	bool "MSM8x60 RUMI3"
	help
	  Support for the Qualcomm MSM8x60 RUMI3 emulator.

config MACH_MSM8X60_SURF
	depends on ARCH_MSM8X60
	bool "MSM8x60 SURF"
	help
	  Support for the Qualcomm MSM8x60 SURF eval board.

config MACH_MSM8X60_SIM
	depends on ARCH_MSM8X60
	bool "MSM8x60 Simulator"
	help
	  Support for the Qualcomm MSM8x60 simulator.

config MACH_MSM8X60_FFA
	depends on ARCH_MSM8X60
	bool "MSM8x60 FFA"
	help
	  Support for the Qualcomm MSM8x60 FFA eval board.

endmenu

config MSM_DEBUG_UART
	int
	default 1 if MSM_DEBUG_UART1
	default 2 if MSM_DEBUG_UART2
	default 3 if MSM_DEBUG_UART3

if HAS_MSM_DEBUG_UART_PHYS
choice
	prompt "Debug UART"

	default MSM_DEBUG_UART_NONE

	config MSM_DEBUG_UART_NONE
		bool "None"

	config MSM_DEBUG_UART1
		bool "UART1"

	config MSM_DEBUG_UART2
		bool "UART2"

	config MSM_DEBUG_UART3
		bool "UART3"
endchoice
endif

config MSM_SMD_PKG3
	bool

config MSM_PROC_COMM
	bool

config MSM_SMD
	bool

config MSM_GPIOMUX
	bool

config MSM_V2_TLMM
	bool
endif
