menuconfig FWU_MULTI_BANK_UPDATE
	bool "Enable FWU Multi Bank Update Feature"
	depends on EFI_CAPSULE_ON_DISK
	select PARTITION_TYPE_GUID
	select FWU_MDATA
	imply EFI_CAPSULE_ON_DISK_EARLY
	select EVENT
	help
	  Feature for updating firmware images on platforms having
	  multiple banks(copies) of the firmware images. One of the
	  bank is selected for updating all the firmware components

if FWU_MULTI_BANK_UPDATE

config FWU_NUM_BANKS
	int "Number of Banks defined by the platform"
	help
	  Define the number of banks of firmware images on a platform

config FWU_NUM_IMAGES_PER_BANK
	int "Number of firmware images per bank"
	help
	  Define the number of firmware images per bank. This value
	  should be the same for all the banks.

config FWU_TRIAL_STATE_CNT
	int "Number of times system boots in Trial State"
	default 3
	help
	  With FWU Multi Bank Update feature enabled, number of times
	  the platform is allowed to boot in Trial State after an
	  update.

config FWU_MDATA_V1
	bool "Enable support FWU Metadata version 1"
	help
	  The FWU specification supports two versions of the
	  metadata structure. This option enables support for FWU
	  Metadata version 1 access.

config FWU_MDATA_V2
	bool "Enable support FWU Metadata version 2"
	depends on !FWU_MDATA_V1
	help
	  The FWU specification supports two versions of the
	  metadata structure. This option enables support for FWU
	  Metadata version 2 access.

endif
