config ARM
	bool
	select HAS_KALLSYMS
	select HAS_MODULES
	select HAVE_CONFIGURABLE_MEMORY_LAYOUT
	select HAVE_CONFIGURABLE_TEXT_BASE
	default y

config ARM_AMBA
	bool

config ARM_LINUX
	bool
	default y
	depends on CMD_BOOTZ || CMD_BOOTU || CMD_BOOTM

menu "System Type                   "

choice
	prompt "ARM system type"

config ARCH_AT91
	bool "Atmel AT91"
	select GENERIC_GPIO
	select CLKDEV_LOOKUP

config ARCH_EP93XX
	bool "Cirrus Logic EP93xx"
	select CPU_ARM920T
	select GENERIC_GPIO

config ARCH_IMX
	bool "Freescale iMX-based"
	select GENERIC_GPIO

config ARCH_MXS
	bool "Freescale i.MX23/28 (mxs) based"
	select GENERIC_GPIO

config ARCH_NETX
	bool "Hilscher NetX based"
	select CPU_ARM926T

config ARCH_NOMADIK
	bool "STMicroelectronics Nomadik"
	select CPU_ARM926T
	help
	 Support for the Nomadik platform by ST-Ericsson

config ARCH_OMAP
	bool "TI OMAP"
	select HAS_DEBUG_LL

config ARCH_PXA
	bool "Intel/Marvell PXA based"
	select GENERIC_GPIO

config ARCH_S3C24xx
	bool "Samsung S3C2410, S3C2440"
	select ARCH_SAMSUNG
	select CPU_ARM920T
	select GENERIC_GPIO
#
# Currently no board support
#
#config ARCH_S5PCxx
#	bool "Samsung S5PC110, S5PV210"
#	select ARCH_SAMSUNG
#	select CPU_V7
#	select GENERIC_GPIO

config ARCH_S3C64xx
	bool "Samsung S3C64xx"
	select ARCH_SAMSUNG
	select CPU_V6
	select GENERIC_GPIO

config ARCH_VERSATILE
	bool "ARM Versatile boards (ARM926EJ-S)"
	select CPU_ARM926T

config ARCH_TEGRA
	bool "Nvidia Tegra-based boards"
	select CPU_ARM926T
	select HAS_DEBUG_LL

endchoice

source arch/arm/cpu/Kconfig
source arch/arm/mach-at91/Kconfig
source arch/arm/mach-ep93xx/Kconfig
source arch/arm/mach-imx/Kconfig
source arch/arm/mach-mxs/Kconfig
source arch/arm/mach-netx/Kconfig
source arch/arm/mach-nomadik/Kconfig
source arch/arm/mach-omap/Kconfig
source arch/arm/mach-pxa/Kconfig
source arch/arm/mach-samsung/Kconfig
source arch/arm/mach-versatile/Kconfig
source arch/arm/mach-tegra/Kconfig

config ARM_ASM_UNIFIED
	bool

config AEABI
	bool "Use the ARM EABI to compile barebox"
	help
	  This option allows for barebox to be compiled using the latest
	  ARM ABI (aka EABI).

	  To use this you need GCC version 4.0.0 or later.

config THUMB2_BAREBOX
	select ARM_ASM_UNIFIED
	depends on CPU_V7
	bool "Compile barebox in thumb-2 mode (read help)"
	help
	  This enables compilation of barebox in thumb-2 mode which generates
	  ~25% smaller binaries. Arm Assembly code needs some fixups to be able
	  to work correctly in thumb-2 mode. the barebox core should have these
	  fixups since most assembly code is derived from the Kernel. However,
	  your board lowlevel init code may break in thumb-2 mode. You have been
	  warned.

endmenu

menu "Arm specific settings         "

config CMD_ARM_CPUINFO
	bool "cpuinfo command"
	default y
	help
	  Say yes here to get a cpuinfo command to show some
	  CPU information using the cp15 registers

config CMD_ARM_MMUINFO
	bool "mmuinfo command"
	depends on CPU_V7
	default n
	help
	  Say yes here to get a mmuinfo command to show some
	  MMU and cache information using the cp15 registers

config CPU_V7_DCACHE_SKIP
	bool "Skip DCache Invalidate"
	depends on CPU_V7
	default n
	help
	  If your architecture configuration uses some other method of disabling caches, enable this
	  So that the D-Cache invalidation logic is skipped

config ARM_OPTIMZED_STRING_FUNCTIONS
	bool "use assembler optimized string functions"
	help
	  Say yes here to use assembler optimized memcpy / memset functions.
	  These functions work much faster than the normal versions but
	  increase your binary size.

config ARM_EXCEPTIONS
	bool "enable arm exception handling support"
	default y

config ARM_UNWIND
	bool "enable stack unwinding support"
	depends on AEABI
	depends on ARM_EXCEPTIONS
	help
	  This option enables stack unwinding support in barebox
	  using the information automatically generated by the
	  compiler. The resulting kernel image is slightly bigger but
	  the performance is not affected. Currently, this feature
	  only works with EABI compilers. If unsure say Y.

endmenu

source common/Kconfig
source commands/Kconfig
source net/Kconfig
source drivers/Kconfig
source fs/Kconfig
source lib/Kconfig
source crypto/Kconfig
