summaryrefslogtreecommitdiff
path: root/src/soc/intel/alderlake/Makefile.mk
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/alderlake/Makefile.mk')
-rw-r--r--src/soc/intel/alderlake/Makefile.mk143
1 files changed, 143 insertions, 0 deletions
diff --git a/src/soc/intel/alderlake/Makefile.mk b/src/soc/intel/alderlake/Makefile.mk
new file mode 100644
index 0000000000..55fc83ea7c
--- /dev/null
+++ b/src/soc/intel/alderlake/Makefile.mk
@@ -0,0 +1,143 @@
+## SPDX-License-Identifier: GPL-2.0-only
+ifeq ($(CONFIG_SOC_INTEL_ALDERLAKE),y)
+subdirs-y += romstage
+subdirs-y += ../../../cpu/intel/microcode
+subdirs-y += ../../../cpu/intel/turbo
+
+# all (bootblock, verstage, romstage, postcar, ramstage)
+all-y += gspi.c
+all-y += i2c.c
+all-y += pmutil.c
+all-y += spi.c
+all-y += uart.c
+
+bootblock-y += bootblock/bootblock.c
+bootblock-y += bootblock/pch.c
+bootblock-y += bootblock/report_platform.c
+bootblock-y += espi.c
+bootblock-y += p2sb.c
+bootblock-$(CONFIG_ALDERLAKE_CONFIGURE_DESCRIPTOR) += bootblock/update_descriptor.c
+
+romstage-$(CONFIG_SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY) += cse_telemetry.c
+romstage-y += espi.c
+romstage-y += meminit.c
+romstage-y += pcie_rp.c
+romstage-y += reset.c
+
+ramstage-y += acpi.c
+ramstage-y += chip.c
+ramstage-y += cpu.c
+ramstage-y += elog.c
+ramstage-y += espi.c
+ramstage-y += finalize.c
+ramstage-y += fsp_params.c
+ramstage-y += graphics.c
+ramstage-y += hsphy.c
+ramstage-y += lockdown.c
+ramstage-y += p2sb.c
+ramstage-y += pcie_rp.c
+ramstage-y += pmc.c
+ramstage-y += reset.c
+ramstage-$(CONFIG_SOC_INTEL_ALDERLAKE_TCSS_USB4_SUPPORT) += retimer.c
+ramstage-y += soundwire.c
+ramstage-y += systemagent.c
+ramstage-y += tcss.c
+ramstage-y += vr_config.c
+ramstage-y += xhci.c
+ramstage-$(CONFIG_SOC_INTEL_CRASHLOG) += crashlog.c
+
+smm-y += elog.c
+smm-y += p2sb.c
+smm-y += pmutil.c
+smm-y += smihandler.c
+smm-y += uart.c
+smm-y += xhci.c
+
+ifeq ($(CONFIG_SOC_INTEL_ALDERLAKE_PCH_S),y)
+bootblock-y += gpio_pch_s.c
+romstage-y += gpio_pch_s.c
+ramstage-y += gpio_pch_s.c
+smm-y += gpio_pch_s.c
+verstage-y += gpio_pch_s.c
+else
+bootblock-y += gpio.c
+romstage-y += gpio.c
+ramstage-y += gpio.c
+smm-y += gpio.c
+verstage-y += gpio.c
+endif
+
+CPPFLAGS_common += -I$(src)/soc/intel/alderlake
+CPPFLAGS_common += -I$(src)/soc/intel/alderlake/include
+
+# Include the missing MemInfoHob.h from vendorcode
+ifeq ($(CONFIG_SOC_INTEL_RAPTORLAKE_PCH_S)$(CONFIG_FSP_TYPE_IOT),yy)
+CPPFLAGS_common += -I$(src)/vendorcode/intel/fsp/fsp2_0/iot/raptorlake_s
+endif
+
+ifeq ($(CONFIG_SOC_INTEL_ALDERLAKE_PCH_S),y)
+# 06-97-00, 06-97-01, 06-97-04 are ADL-S Engineering Samples
+# 06-97-02 are ADL-S/HX Quality Samples but also ADL-HX Engineering Samples
+# 06-b7-00 are RPL-S Engineering Samples
+# ADL-S/HX C0/H0 and RPL-S C0/H0
+cpu_microcode_bins += 3rdparty/intel-microcode/intel-ucode/06-97-05
+# RPL-S/HX B0
+cpu_microcode_bins += 3rdparty/intel-microcode/intel-ucode/06-b7-01
+else ifeq ($(CONFIG_SOC_INTEL_ALDERLAKE_PCH_N),y)
+cpu_microcode_bins += 3rdparty/intel-microcode/intel-ucode/06-be-00
+else
+# 06-9a-00, 06-9a-01 are ADL-P/ADL-M Engineering Samples
+# Missing 06-9a-02 ADL-P K0
+# ADL-P L0, ADL-P R0 and ADL-M R0
+cpu_microcode_bins += 3rdparty/intel-microcode/intel-ucode/06-9a-04
+# RPL-P/H J0, RPL-U Q0
+cpu_microcode_bins += 3rdparty/intel-microcode/intel-ucode/06-ba-02
+endif
+
+ifeq ($(CONFIG_STITCH_ME_BIN),y)
+
+$(eval $(call cse_add_dummy_to_bp1_bp2,DLMP))
+$(eval $(call cse_add_dummy_to_bp1_bp2,IFPP))
+$(eval $(call cse_add_dummy_to_bp1_bp2,SBDT))
+$(eval $(call cse_add_decomp_to_bp1_bp2,RBEP))
+$(eval $(call cse_add_dummy_to_bp1_bp2,UFSP))
+$(eval $(call cse_add_dummy_to_bp1_bp2,UFSG))
+$(eval $(call cse_add_input_to_bp1_bp2,OEMP))
+$(eval $(call cse_add_input_to_bp1_bp2,PMCP))
+$(eval $(call cse_add_decomp,bp1,MFTP))
+$(eval $(call cse_add_decomp,bp2,FTPR))
+$(eval $(call cse_add_input_to_bp1_bp2,IOMP))
+$(eval $(call cse_add_input_to_bp1_bp2,NPHY))
+$(eval $(call cse_add_input_to_bp1_bp2,TBTP))
+$(eval $(call cse_add_input_to_bp1_bp2,PCHC))
+$(eval $(call cse_add_decomp,bp2,NFTP))
+$(eval $(call cse_add_dummy,bp2,ISHP))
+$(eval $(call cse_add_input,bp2,IUNP))
+
+endif
+
+ifeq ($(CONFIG_INCLUDE_HSPHY_IN_FMAP),y)
+ifneq ($(call strip_quotes,$(CONFIG_HSPHY_FW_FILE)),)
+
+# Create the target HSPHY file that will be put into flashmap region.
+# First goes the HSPHY size, then hash algorithm (3 - SHA384, default for now),
+# the hash digest, padding to max digest size (SHA512 - 64 bytes) and at last the
+# HSPHY firmware itself
+$(obj)/hsphy_fw.bin: $(call strip_quotes,$(top)/$(CONFIG_HSPHY_FW_FILE))
+ printf " HSPHY $(obj)/hsphy_fw.bin\n"
+ $(shell wc -c $< | awk '{print $$1}' | tr -d '\n' | xargs -0 printf '%08X' | \
+ tac -rs .. | xxd -r -p > $@)
+ $(shell printf '%02X' 3 | xxd -r -p >> $@)
+ $(shell sha384sum $< | awk '{print $$1}' | tac -rs .. | xxd -r -p >> $@)
+ $(shell dd if=/dev/zero bs=1 count=16 2> /dev/null >> $@)
+ $(shell cat $< >> $@)
+
+add_hsphy_firmware: $(obj)/hsphy_fw.bin $(obj)/fmap.fmap $(obj)/coreboot.pre $(CBFSTOOL)
+ $(CBFSTOOL) $(obj)/coreboot.pre write -u -r HSPHY_FW -f $(obj)/hsphy_fw.bin
+
+$(call add_intermediate, add_hsphy_firmware)
+
+endif
+endif
+
+endif