menu "BST platform"
	depends on ARCH_BST

choice
	prompt "BST system type"
	default MACH_BSTBRD

config MACH_BSTBRD
	bool "Bstbrd"
	select SOC_BST
	select WIRELESS_EXT if WLAN && USB
	select WEXT_PRIV if WLAN && USB
	help
	  This enables support for the Sony Bstbrd.

config MACH_BST2BRD
	bool "Bst2brd"
	select SOC_BST2
	select WIRELESS_EXT if WLAN && USB
	select WEXT_PRIV if WLAN && USB
	help
	  This enables support for the Sony Bst2brd.

endchoice

source "arch/arm/mach-bst/bstbrd/Kconfig"

source "arch/arm/mach-bst/bst2brd/Kconfig"

#
# SoC BST
#
config SOC_BST
	bool
	select BST_DUMMYREAD if !SOC_BST_FPGA
	select USB_ARCH_HAS_OHCI if !(SOC_BST_FPGA || SOC_BST_ZEBU)
	select USB_ARCH_HAS_EHCI if !(SOC_BST_FPGA || SOC_BST_ZEBU)
	select ARM_ERRATA_743622_FORCE_ENABLE if !BST_NS_BOOT
	select ARM_ERRATA_751472 if SMP && !BST_NS_BOOT
	select ARM_ERRATA_754322
	select ARM_ERRATA_764369 if SMP

config SOC_BST_FPGA
	bool "Support for BST FPGA"
	select BST_DO_NOT_USE_NON_CACHEABLE_MEMORY
	depends on SOC_BST
	default n

config SOC_BST_ZEBU
	bool "Support for BST ZeBu"
	depends on SOC_BST
	default n

#
# SoC BST2
#
config SOC_BST2
	bool
	select BST_DUMMYREAD if !SOC_BST2_FPGA
	select ARCH_HAS_CPUFREQ if !SOC_BST2_FPGA
	select CPU_FREQ_TABLE if CPU_FREQ
	select USB_ARCH_HAS_OHCI if !(SOC_BST2_FPGA || SOC_BST2_ZEBU)
	select USB_ARCH_HAS_EHCI if !(SOC_BST2_FPGA || SOC_BST2_ZEBU)
	select ARM_ERRATA_754322
	select ARM_ERRATA_764369 if SMP

config SOC_BST2_FPGA
	bool "Support for BST2 FPGA"
	select BST_DO_NOT_USE_NON_CACHEABLE_MEMORY
	depends on SOC_BST2
	default n

config SOC_BST2_ZEBU
	bool "Support for BST2 ZeBu"
	depends on SOC_BST2
	default n

choice
	prompt "BST2 SoC type"
	default SOC_BST2_ES1
	depends on SOC_BST2

config SOC_BST2_ES1
	bool "BST2 ES1"

config SOC_BST2_ES2
	bool "BST2 ES2"

endchoice

config SOC_BST2_ES_VER
	hex
	default 0x0100 if SOC_BST2_ES1
	default 0x0200 if SOC_BST2_ES2

#
# BST specific configurations
#
config BST_SKIP_CALIBRATION
	bool "Skip lpj and twd_timer_rate calibration"
	default y

config BST_FIQ
	bool "Support for FIQ"
	default y
	depends on BST_USE_NS_INTR_FOR_IRQ
	select FIQ_GLUE

config BST_FIQ_TEST
	bool "Enable FIQ test handler"
	default n

config BST_NS_BOOT
	bool "Allow to boot in non-secure state"
	default n

config BST_CPUFREQ_STEPS
	int "CPU frequency steps"
	default 8
	depends on CPU_FREQ

config BST_DUMMYREAD
	bool

config BST_USE_NS_INTR_FOR_IRQ
	def_bool y
	help
	  Enabling this configures GIC for non-secure interrupts to be
	  signaled as IRQ so that secure interrupts can used for FIQ.

config BST_DO_NOT_USE_NON_CACHEABLE_MEMORY
	bool
	help
	  Enabling this avoids an usage of non-cacheable memory to
	  prevent memory corruption on FPGA board.

config BST_USE_FSP_DMAC_FOR_MMC
	bool "Enable FSP DMAC"
	default y
	depends on MMC_DW && !MMC_DW_IDMAC
	help
	  Enable this configure to use FSP DMA Controller for eMMC read/write.
	  If PIO is desirable, disable this configure.

endmenu
