## This file is part of the coreboot project.
##
## Copyright 2013 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

choice
	prompt "Kernel format"
	default KERNEL_DUMMY
	help
	  The format the kernel is stored in on disk.

	config KERNEL_ZIMAGE
	bool "zimage"
	depends on ARCH_X86

	config KERNEL_FIT
	bool "FIT"
	depends on ARCH_ARM

	config KERNEL_DUMMY
	bool "dummy"
endchoice

config KERNEL_FIT_COMPAT
	string "FIT preferred compatible string"
	depends on KERNEL_FIT
	help
	  When booting a FIT image, if a config is found which has this
	  string as the value of the top level compatible property in its
	  FDT, it will be used to boot. If not, then the "default" config,
	  if set, will be used. If not, then the boot will fail.

config KERNEL_FIT_FDT_ADDR
	hex "FIT device tree load address."
	depends on KERNEL_FIT
	help
	  Where to put the updated device tree when booting a FIT image.
