##
## Copyright 2012 Google Inc.  All rights reserved.
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; version 2 of the License.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

mainmenu "Depthcharge configuration"

choice
	prompt "Architecture"
	help
	  The architecture depthcharge will run on.

config ARCH_X86
	bool "X86"

config ARCH_ARM
	bool "ARM"

endchoice

choice
	prompt "ARM Version"
	depends on ARCH_ARM
	default ARCH_ARM_V7
	help
	  Version for ARM Arch

config ARCH_ARM_V7
	bool "ARMv7"

config ARCH_ARM_V8
	bool "ARMv8"

endchoice

source src/arch/Kconfig
source src/base/Kconfig
source src/board/Kconfig
source src/boot/Kconfig
source src/debug/Kconfig

menu "UIP network stack"
source src/net/Kconfig
endmenu

menu "Netboot"
source src/netboot/Kconfig
endmenu

menu "Image layout"
source src/image/Kconfig
endmenu

menu "Vboot"
source src/vboot/Kconfig
endmenu

menu "Drivers"
source src/drivers/Kconfig
endmenu
