blob: a7218b71dbecaaf251aad14ea5735a2c5c8a3162 [file] [log] [blame]
Stefan Reinauer9616f3c2015-04-29 10:45:22 -07001ifeq ($(CONFIG_SOC_INTEL_COMMON),y)
Stefan Reinaueraae53ab2015-04-27 14:03:57 -07002
Aaron Durbinb66d6732015-10-07 16:10:43 -05003verstage-$(CONFIG_SOC_INTEL_COMMON_RESET) += reset.c
4
Duncan Lauried8c4f2b2014-04-22 10:46:06 -07005romstage-$(CONFIG_CACHE_MRC_SETTINGS) += mrc_cache.c
Lee Leahy14ecb542015-02-09 21:16:14 -08006romstage-$(CONFIG_SOC_INTEL_COMMON_RESET) += reset.c
Lee Leahy94b856e2015-10-15 12:07:03 -07007romstage-y += util.c
Pratik Prajapatib90b94d2015-09-11 13:51:38 -07008romstage-$(CONFIG_MMA) += mma.c
Lee Leahy0946ec32015-04-20 15:24:54 -07009
Lee Leahy0946ec32015-04-20 15:24:54 -070010ramstage-y += hda_verb.c
11ramstage-$(CONFIG_CACHE_MRC_SETTINGS) += mrc_cache.c
12ramstage-$(CONFIG_CACHE_MRC_SETTINGS) += nvm.c
13ramstage-$(CONFIG_SOC_INTEL_COMMON_RESET) += reset.c
Lee Leahy94b856e2015-10-15 12:07:03 -070014ramstage-y += util.c
Pratik Prajapatib90b94d2015-09-11 13:51:38 -070015ramstage-$(CONFIG_MMA) += mma.c
Duncan Laurie63ebc802015-09-08 16:09:28 -070016ramstage-$(CONFIG_SOC_INTEL_COMMON_ACPI_WAKE_SOURCE) += acpi_wake_source.c
Stefan Reinaueraae53ab2015-04-27 14:03:57 -070017
Alexandru Gagniucbc140cf2015-08-28 14:28:35 -040018# Create and add the MRC cache to the cbfs image
19ifneq ($(CONFIG_CHROMEOS),y)
20$(obj)/mrc.cache: $(obj)/config.h
21 dd if=/dev/zero count=1 \
22 bs=$(shell printf "%d" $(CONFIG_MRC_SETTINGS_CACHE_SIZE) ) | \
23 tr '\000' '\377' > $@
24
25cbfs-files-$(CONFIG_CACHE_MRC_SETTINGS) += mrc.cache
26mrc.cache-file := $(obj)/mrc.cache
27mrc.cache-position := $(CONFIG_MRC_SETTINGS_CACHE_BASE)
28mrc.cache-type := mrc_cache
29endif
30
Pratik Prajapatib90b94d2015-09-11 13:51:38 -070031ifeq ($(CONFIG_MMA),y)
32MMA_BLOBS_PATH = $(call strip_quotes,$(CONFIG_MMA_BLOBS_PATH))
33MMA_TEST_NAMES = $(notdir $(wildcard $(MMA_BLOBS_PATH)/tests/*))
34MMA_TEST_CONFIG_NAMES = $(notdir $(wildcard $(MMA_BLOBS_PATH)/configs/*))
35
36#
37# MMA_CBFS_template is the template to be expanded by eval
38# where $(1) is file name
39# $(2) is file path
40# $(3) is file type, efi for test names (all .EFI files under $(MMA_BLOBS_PATH)/tests )
41# , mma for test param (all .BIN files under $(MMA_BLOBS_PATH)/configs/<test name>)
42#
43# $(MMA_BLOBS_PATH)/tests/<testX>.efi has coresponding test params
44# at $(MMA_BLOBS_PATH)/configs/<testX>/<XYZ>.bin
45#
46
47
48define MMA_CBFS_template =
49 cbfs-files-y += $(1)
50 $(1)-file := $(MMA_BLOBS_PATH)/$(2)/$(1)
51 $(1)-type := $(3)
52endef
53
54#
55# following loop calls MMA_CBFS_template for each .EFI file under $(MMA_BLOBS_PATH)/tests with type = efi
56#
57$(foreach mma_test,$(MMA_TEST_NAMES),$(eval $(call MMA_CBFS_template,$(mma_test),tests,efi)))
58
59
60#
61# following nested loops calls MMA_CBFS_template for each .BIN file under each MMA_TEST_CONFIG_NAMES
62#
63# foreach <testX> do following
64# foreach <XYZ>.bin in <testX> do following
65# call MMA_CBFS_template for each <XYZ>.bin under current <testX> with type = mma
66#
67
68$(foreach mma_test, $(MMA_TEST_CONFIG_NAMES),\
69 $(eval $(foreach mma_config,$(notdir $(wildcard $(MMA_BLOBS_PATH)/configs/$(mma_test)/*)),\
70 $(eval $(call MMA_CBFS_template,$(mma_config),configs/$(mma_test),mma)))))
71
72endif
73
Stefan Reinaueraae53ab2015-04-27 14:03:57 -070074endif