Martin Roth | 9231f0b | 2022-10-28 22:39:23 -0600 | [diff] [blame] | 1 | ## SPDX-License-Identifier: GPL-2.0-only |
Andrey Petrov | 04a72c4 | 2017-03-01 15:51:57 -0800 | [diff] [blame] | 2 | romstage-$(CONFIG_SOC_INTEL_COMMON_BLOCK_CSE) += cse.c |
| 3 | ramstage-$(CONFIG_SOC_INTEL_COMMON_BLOCK_CSE) += cse.c |
Sridhar Siricilla | 1a2b702 | 2020-12-04 02:22:28 +0530 | [diff] [blame] | 4 | romstage-$(CONFIG_SOC_INTEL_CSE_LITE_SKU) += cse_lite.c |
Bora Guvendik | f33c9bf | 2021-11-05 23:09:25 -0700 | [diff] [blame] | 5 | ramstage-$(CONFIG_SOC_INTEL_CSE_LITE_SKU) += cse_lite.c |
Dinesh Gehlot | 91da19c | 2023-05-07 13:47:49 +0000 | [diff] [blame] | 6 | ramstage-$(CONFIG_SOC_INTEL_CSE_LITE_SKU) += cse_lite_cmos.c |
| 7 | romstage-$(CONFIG_SOC_INTEL_CSE_LITE_SKU) += cse_lite_cmos.c |
Dinesh Gehlot | d723a7b | 2023-02-20 10:25:25 +0000 | [diff] [blame] | 8 | ramstage-$(CONFIG_SOC_INTEL_CSE_HAVE_SPEC_SUPPORT) += cse_spec.c |
Subrata Banik | 32e0673 | 2022-01-28 02:05:15 +0530 | [diff] [blame] | 9 | ramstage-$(CONFIG_SOC_INTEL_COMMON_BLOCK_CSE) += disable_heci.c |
| 10 | smm-$(CONFIG_SOC_INTEL_COMMON_BLOCK_CSE) += disable_heci.c |
Tim Wawrzynczak | 064ca18 | 2021-06-17 12:40:13 -0600 | [diff] [blame] | 11 | ramstage-$(CONFIG_SOC_INTEL_CSE_SET_EOP) += cse_eop.c |
Bora Guvendik | 860672e | 2021-09-26 17:25:48 -0700 | [diff] [blame] | 12 | romstage-$(CONFIG_SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY) += telemetry.c |
Tim Wawrzynczak | 064ca18 | 2021-06-17 12:40:13 -0600 | [diff] [blame] | 13 | |
Furquan Shaikh | 6ef863c | 2021-10-01 11:39:48 -0700 | [diff] [blame] | 14 | ifeq ($(CONFIG_STITCH_ME_BIN),y) |
| 15 | |
| 16 | CSE_BP1_BIN := $(objcse)/cse_bp1.bin |
| 17 | CSE_BP2_BIN := $(objcse)/cse_bp2.bin |
| 18 | CSE_LAYOUT_BIN := $(objcse)/cse_layout.bin |
Furquan Shaikh | 3f0d643 | 2021-10-09 00:08:56 -0700 | [diff] [blame] | 19 | CSE_RW_FILE := $(CSE_BP2_BIN) |
Furquan Shaikh | 6ef863c | 2021-10-01 11:39:48 -0700 | [diff] [blame] | 20 | |
| 21 | CSE_BPDT_VERSION := $(call strip_quotes,$(CONFIG_CSE_BPDT_VERSION)) |
| 22 | ifeq ($(CONFIG_CSE_BPDT_VERSION),) |
| 23 | $(error "CONFIG_CSE_BPDT_VERSION is not set!") |
| 24 | endif |
| 25 | |
| 26 | CSE_FPT_INPUT=$(call cse_input_path,$(CONFIG_CSE_FPT_FILE)) |
| 27 | CSE_DATA_INPUT=$(call cse_input_path,$(CONFIG_CSE_DATA_FILE)) |
| 28 | |
Furquan Shaikh | 6ef863c | 2021-10-01 11:39:48 -0700 | [diff] [blame] | 29 | get_cse_region_offset=$(call int-subtract,$(call get_fmap_value,$(1)) $(CSE_LAYOUT_OFFSET)) |
| 30 | |
| 31 | CSE_LAYOUT_OFFSET=$(call get_fmap_value,FMAP_SECTION_CSE_LAYOUT_START) |
| 32 | CSE_BP1_OFFSET=$(call get_cse_region_offset,FMAP_SECTION_CSE_RO_START) |
| 33 | CSE_BP1_SIZE=$(call get_fmap_value,FMAP_SECTION_CSE_RO_SIZE) |
| 34 | CSE_BP2_OFFSET=$(call get_cse_region_offset,FMAP_SECTION_CSE_RW_START) |
| 35 | CSE_BP2_SIZE=$(call get_fmap_value,FMAP_SECTION_CSE_RW_SIZE) |
| 36 | CSE_DP_OFFSET=$(call get_cse_region_offset,FMAP_SECTION_CSE_DATA_START) |
| 37 | CSE_DP_SIZE=$(call get_fmap_value,FMAP_SECTION_CSE_DATA_SIZE) |
| 38 | |
| 39 | .PHONY: cse_inputs |
| 40 | cse_inputs: $(cse_input_files) |
| 41 | |
| 42 | $(cse_decomp_files): $(CSE_FPT_INPUT) $(CSE_FPT) |
| 43 | printf " DUMP $(@F)\n" |
| 44 | $(CSE_FPT) $< dump -o $(objcse) -n $(@F) > /dev/null |
| 45 | |
| 46 | define cse_add_ingredient |
| 47 | $(if $($(2)-file), \ |
| 48 | printf " CSEADD $(2) ($($(2)-file)) -> $(1)\n"; |
| 49 | $(CSE_SERGER) $@ add -n $(2) -f $($(2)-file) > /dev/null, |
| 50 | printf " CSEADD $(2) (dummy) -> $(1)\n"; |
| 51 | $(CSE_SERGER) $@ add -n $(2) > /dev/null) |
| 52 | endef |
| 53 | |
| 54 | $(objcse)/cse_%.bin: $(CSE_SERGER) cse_inputs $(cse_decomp_files) |
| 55 | printf " CREATE $(@F) (version $(CSE_BPDT_VERSION))\n" |
| 56 | $(CSE_SERGER) $@ create-bpdt -v $(CSE_BPDT_VERSION) > /dev/null |
| 57 | $(foreach ingredient,$(cse_$*_ingredients),\ |
| 58 | $(call cse_add_ingredient,$(@F),$(ingredient));) |
| 59 | |
Furquan Shaikh | d0975ff | 2021-10-09 23:13:08 -0700 | [diff] [blame] | 60 | $(OBJ_ME_BIN): $(CSE_BP1_BIN) $(CSE_BP2_BIN) $(CSE_DATA_INPUT) $(obj)/fmap_config.h |
Furquan Shaikh | 6ef863c | 2021-10-01 11:39:48 -0700 | [diff] [blame] | 61 | printf " CREATE $(@F)\n" |
Furquan Shaikh | d0975ff | 2021-10-09 23:13:08 -0700 | [diff] [blame] | 62 | $(CSE_SERGER) $@ create-cse-region -v $(CSE_BPDT_VERSION) \ |
| 63 | --bp1 $(CSE_BP1_OFFSET):$(CSE_BP1_SIZE) --bp1_file $(CSE_BP1_BIN) \ |
| 64 | --bp2 $(CSE_BP2_OFFSET):$(CSE_BP2_SIZE) --bp2_file $(CSE_BP2_BIN) \ |
| 65 | --dp $(CSE_DP_OFFSET):$(CSE_DP_SIZE) --dp_file $(CSE_DATA_INPUT) > /dev/null |
Furquan Shaikh | 6ef863c | 2021-10-01 11:39:48 -0700 | [diff] [blame] | 66 | |
| 67 | endif |
| 68 | |
V Sowmya | 338b83c | 2020-11-11 07:04:13 +0530 | [diff] [blame] | 69 | ifeq ($(CONFIG_SOC_INTEL_CSE_RW_UPDATE),y) |
Furquan Shaikh | d2da870 | 2021-10-07 00:08:59 -0700 | [diff] [blame] | 70 | |
Furquan Shaikh | d2da870 | 2021-10-07 00:08:59 -0700 | [diff] [blame] | 71 | ifeq ($(CONFIG_SOC_INTEL_CSE_RW_VERSION),"") |
| 72 | $(error "CSE RW version is missing and need to be set by mainboard config") |
| 73 | endif |
| 74 | |
Furquan Shaikh | 3f0d643 | 2021-10-09 00:08:56 -0700 | [diff] [blame] | 75 | ifneq ($(CONFIG_STITCH_ME_BIN),y) |
| 76 | |
| 77 | ifeq ($(CONFIG_SOC_INTEL_CSE_RW_FILE),"") |
| 78 | $(error "CSE RW file path is missing and need to be set by mainboard config") |
| 79 | endif |
| 80 | CSE_RW_FILE := $(call strip_quotes,$(CONFIG_SOC_INTEL_CSE_RW_FILE)) |
| 81 | |
| 82 | endif |
Furquan Shaikh | d2da870 | 2021-10-07 00:08:59 -0700 | [diff] [blame] | 83 | |
Sridhar Siricilla | b2353a7 | 2019-09-13 16:32:00 +0530 | [diff] [blame] | 84 | CSE_LITE_ME_RW = $(call strip_quotes,$(CONFIG_SOC_INTEL_CSE_RW_CBFS_NAME)) |
Rizwan Qureshi | d81d80c | 2023-09-29 07:31:17 +0530 | [diff] [blame] | 85 | |
| 86 | regions-for-file-$(CSE_LITE_ME_RW) = FW_MAIN_A,FW_MAIN_B |
| 87 | |
Sridhar Siricilla | b2353a7 | 2019-09-13 16:32:00 +0530 | [diff] [blame] | 88 | cbfs-files-y += $(CSE_LITE_ME_RW) |
Furquan Shaikh | d2da870 | 2021-10-07 00:08:59 -0700 | [diff] [blame] | 89 | $(CSE_LITE_ME_RW)-file := $(CSE_RW_FILE) |
Sridhar Siricilla | b2353a7 | 2019-09-13 16:32:00 +0530 | [diff] [blame] | 90 | $(CSE_LITE_ME_RW)-name := $(CSE_LITE_ME_RW) |
| 91 | $(CSE_LITE_ME_RW)-type := raw |
Krishna Prasad Bhat | a67a92e | 2022-02-25 10:45:55 +0530 | [diff] [blame] | 92 | ifeq ($(CONFIG_SOC_INTEL_CSE_LITE_COMPRESS_ME_RW),y) |
| 93 | $(CSE_LITE_ME_RW)-compression := LZMA |
| 94 | endif |
V Sowmya | 338b83c | 2020-11-11 07:04:13 +0530 | [diff] [blame] | 95 | |
Furquan Shaikh | d2da870 | 2021-10-07 00:08:59 -0700 | [diff] [blame] | 96 | $(obj)/cse_rw.version: |
| 97 | @echo '$(call strip_quotes,$(CONFIG_SOC_INTEL_CSE_RW_VERSION))' > $@ |
V Sowmya | 338b83c | 2020-11-11 07:04:13 +0530 | [diff] [blame] | 98 | |
Furquan Shaikh | d2da870 | 2021-10-07 00:08:59 -0700 | [diff] [blame] | 99 | CSE_RW_VERSION = $(call strip_quotes,$(CONFIG_SOC_INTEL_CSE_RW_VERSION_CBFS_NAME)) |
| 100 | regions-for-file-$(CSE_RW_VERSION) = FW_MAIN_A,FW_MAIN_B |
| 101 | cbfs-files-y += $(CSE_RW_VERSION) |
| 102 | $(CSE_RW_VERSION)-file := $(obj)/cse_rw.version |
| 103 | $(CSE_RW_VERSION)-name := $(CSE_RW_VERSION) |
| 104 | $(CSE_RW_VERSION)-type := raw |
V Sowmya | 338b83c | 2020-11-11 07:04:13 +0530 | [diff] [blame] | 105 | |
Krishna Prasad Bhat | 333edcc | 2021-11-26 06:52:27 +0530 | [diff] [blame] | 106 | endif |
Furquan Shaikh | d2da870 | 2021-10-07 00:08:59 -0700 | [diff] [blame] | 107 | |
Krishna Prasad Bhat | 333edcc | 2021-11-26 06:52:27 +0530 | [diff] [blame] | 108 | ifeq ($(CONFIG_SOC_INTEL_CSE_SUB_PART_UPDATE),y) |
| 109 | |
| 110 | CSE_IOM_FILE = $(call strip_quotes,$(CONFIG_SOC_INTEL_CSE_IOM_CBFS_FILE)) |
| 111 | CSE_IOM = $(call strip_quotes,$(CONFIG_SOC_INTEL_CSE_IOM_CBFS_NAME)) |
| 112 | regions-for-file-$(CSE_IOM) = FW_MAIN_A,FW_MAIN_B,COREBOOT |
| 113 | cbfs-files-y += $(CSE_IOM) |
| 114 | $(CSE_IOM)-file := $(CSE_IOM_FILE) |
| 115 | $(CSE_IOM)-name := $(CSE_IOM) |
| 116 | $(CSE_IOM)-type := raw |
| 117 | |
| 118 | CSE_NPHY_FILE = $(call strip_quotes,$(CONFIG_SOC_INTEL_CSE_NPHY_CBFS_FILE)) |
| 119 | CSE_NPHY = $(call strip_quotes,$(CONFIG_SOC_INTEL_CSE_NPHY_CBFS_NAME)) |
| 120 | regions-for-file-$(CSE_NPHY) = FW_MAIN_A,FW_MAIN_B,COREBOOT |
| 121 | cbfs-files-y += $(CSE_NPHY) |
| 122 | $(CSE_NPHY)-file := $(CSE_NPHY_FILE) |
| 123 | $(CSE_NPHY)-name := $(CSE_NPHY) |
| 124 | $(CSE_NPHY)-type := raw |
Sridhar Siricilla | b2353a7 | 2019-09-13 16:32:00 +0530 | [diff] [blame] | 125 | endif |