#
#
#
config BOARD_LINKER_SCRIPT
	bool
	default n

config GENERIC_LINKER_SCRIPT
	bool
	default y
	depends on !BOARD_LINKER_SCRIPT

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_COMCERTO
        bool "Mindspeed Comcerto"
        help
          This enables support for Mindspeed's Comcerto development boards.
          If you would like to build your kernel to run on one of these boards
          then you must say 'Y' here. Otherwise say 'N'


config ARCH_AT91
	bool "Atmel AT91"
	select GENERIC_GPIO

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"

config ARCH_S3C24xx
	bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
	select CPU_ARM920T
	select GENERIC_GPIO

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

endchoice

if ARCH_COMCERTO
source arch/arm/mach-comcerto/Kconfig
source diags/Kconfig
endif
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-s3c24xx/Kconfig
source arch/arm/mach-versatile/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.

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
	  information about the cp15 registers

config CPU_V7_DCACHE_SKIP
	bool "Skip DCache Invlidate"
	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
