blob: a557d1ea401d9599966b95cdf307c3955c93c712 [file] [log] [blame]
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -07001ifeq ($(CONFIG_SOC_INTEL_APOLLOLAKE),y)
2
Michael Niewöhner7736bfc2019-10-22 23:05:06 +02003subdirs-y += ../../../cpu/intel/common
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -07004subdirs-y += ../../../cpu/intel/microcode
5subdirs-y += ../../../cpu/intel/turbo
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -07006
Alexandru Gagniucdfc2b312015-10-06 17:16:41 -07007bootblock-y += bootblock/bootblock.c
Michael Niewöhner310c7632020-10-01 22:28:03 +02008bootblock-y += ../common/block/cpu/pm_timer_emulation.c
Aaron Durbin595688a2016-03-31 11:38:13 -05009bootblock-y += car.c
Furquan Shaikhb13bd1e2020-09-21 22:44:27 +000010bootblock-y += heci.c
Ravi Sarawadi3669a062018-02-27 13:23:42 -080011bootblock-y += gspi.c
Rizwan Qureshiae6a4b62017-04-26 21:06:35 +053012bootblock-y += i2c.c
Ravi Sarawadiefa606b2017-08-04 16:26:09 -070013bootblock-y += lpc.c
Andrey Petrov5672dcd2016-02-12 15:12:43 -080014bootblock-y += mmap_boot.c
Andrey Petrov3dbea292016-06-14 22:20:28 -070015bootblock-y += pmutil.c
Furquan Shaikh6ac226d2016-06-15 17:13:20 -070016bootblock-y += spi.c
Nico Hubera96e66a2018-11-11 02:51:14 +010017bootblock-y += uart.c
Brenton Dongc9b39812016-10-18 13:57:54 -070018
Aaron Durbin595688a2016-03-31 11:38:13 -050019romstage-y += car.c
Subrata Banik17990112019-08-27 11:01:33 +053020romstage-y += ../../../cpu/intel/car/romstage.c
Michael Niewöhnerb17f3d32019-10-24 00:19:45 +020021romstage-y += romstage.c
Usha Paaf28d22020-02-17 15:14:18 +053022romstage-y += report_platform.c
Ravi Sarawadi3669a062018-02-27 13:23:42 -080023romstage-y += gspi.c
Furquan Shaikhb13bd1e2020-09-21 22:44:27 +000024romstage-y += heci.c
Rizwan Qureshiae6a4b62017-04-26 21:06:35 +053025romstage-y += i2c.c
Nico Hubera96e66a2018-11-11 02:51:14 +010026romstage-y += uart.c
Aaron Durbinfc2e7412016-05-12 12:43:37 -050027romstage-y += meminit.c
Angel Ponsb36100f2020-09-07 13:18:10 +020028ifeq ($(CONFIG_SOC_INTEL_GEMINILAKE),y)
Ravi Sarawadi09195ac2017-07-20 15:11:19 -070029romstage-y += meminit_util_glk.c
30else
31romstage-y += meminit_util_apl.c
32endif
Andrey Petrov5672dcd2016-02-12 15:12:43 -080033romstage-y += mmap_boot.c
Hannah Williams01bc8972016-02-04 20:13:34 -080034romstage-y += pmutil.c
Andrey Petrov0f593c22016-06-17 15:30:13 -070035romstage-y += reset.c
Furquan Shaikhbae63832016-06-17 15:50:24 -070036romstage-y += spi.c
Andrey Petrov87fb1a62016-02-10 17:47:03 -080037
Aaron Durbinb3f54182016-05-26 14:22:34 -050038smm-y += mmap_boot.c
Hannah Williams01bc8972016-02-04 20:13:34 -080039smm-y += pmutil.c
Hannah Williamsd9c84ca2016-05-13 00:47:14 -070040smm-y += smihandler.c
Aaron Durbinb3f54182016-05-26 14:22:34 -050041smm-y += spi.c
Nico Hubera96e66a2018-11-11 02:51:14 +010042smm-y += uart.c
Furquan Shaikhc83e70e2018-06-25 14:29:48 -070043smm-y += elog.c
Karthikeyan Ramasubramanian0f718312019-07-03 13:02:37 -060044smm-y += xhci.c
Lance Zhaof51b1272015-11-09 17:06:34 -080045
46ramstage-$(CONFIG_HAVE_ACPI_TABLES) += acpi.c
Ravi Sarawadi9d903a12016-03-04 21:33:04 -080047ramstage-y += cpu.c
Andrey Petrov70efecd2016-03-04 21:41:13 -080048ramstage-y += chip.c
Aaron Durbin7d14af82017-02-07 11:33:56 -060049ramstage-y += cse.c
Brandon Breitenstein3b0e7612016-07-18 15:14:12 -070050ramstage-y += elog.c
Nico Huber2a163312020-01-06 17:42:45 +010051ramstage-y += graphics.c
Ravi Sarawadi3669a062018-02-27 13:23:42 -080052ramstage-y += gspi.c
Furquan Shaikhb13bd1e2020-09-21 22:44:27 +000053ramstage-y += heci.c
Duncan Laurieff8bce02016-06-27 10:57:13 -070054ramstage-y += i2c.c
Lance Zhaoa7ff9c52015-11-12 18:19:41 -080055ramstage-y += lpc.c
Andrey Petrov5672dcd2016-02-12 15:12:43 -080056ramstage-y += mmap_boot.c
Nico Hubera96e66a2018-11-11 02:51:14 +010057ramstage-y += uart.c
Saurabh Satija734aa872016-06-21 14:22:16 -070058ramstage-y += nhlt.c
Alexandru Gagniuc0581a672016-02-24 15:08:23 -080059ramstage-y += spi.c
Subrata Banik15129b42017-11-07 17:50:48 +053060ramstage-y += systemagent.c
Hannah Williams01bc8972016-02-04 20:13:34 -080061ramstage-y += pmutil.c
Divya Chellap0b15b702017-11-29 18:53:03 +053062ramstage-y += pnpconfig.c
Hannah Williams733b39a2016-02-11 13:46:28 -080063ramstage-y += pmc.c
Andrey Petrov0f593c22016-06-17 15:30:13 -070064ramstage-y += reset.c
Andrey Petrov79fc33a2017-01-24 21:56:36 -080065ramstage-y += xdci.c
Venkateswarlu Vinjamuri6dd7b402017-02-24 15:37:30 -080066ramstage-y += sd.c
Karthikeyan Ramasubramanian0f718312019-07-03 13:02:37 -060067ramstage-y += xhci.c
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070068
Aaron Durbineebe0e02016-03-18 11:19:38 -050069postcar-y += mmap_boot.c
Furquan Shaikh0be3da52016-06-19 23:20:43 -070070postcar-y += spi.c
Philipp Deppenwiese545ed7a2018-02-14 16:47:12 +010071postcar-y += i2c.c
Furquan Shaikhb13bd1e2020-09-21 22:44:27 +000072postcar-y += heci.c
Kyösti Mälkki4f14cd82019-12-18 19:40:48 +020073postcar-y += reset.c
Nico Hubera96e66a2018-11-11 02:51:14 +010074postcar-y += uart.c
Angel Ponscb06cfe2020-02-28 22:35:56 +010075postcar-y += gspi.c
Aaron Durbineebe0e02016-03-18 11:19:38 -050076
Furquan Shaikhb54a2d12016-06-01 01:55:43 -070077verstage-y += car.c
Rizwan Qureshiae6a4b62017-04-26 21:06:35 +053078verstage-y += i2c.c
Ravi Sarawadi3669a062018-02-27 13:23:42 -080079verstage-y += gspi.c
Furquan Shaikhb13bd1e2020-09-21 22:44:27 +000080verstage-y += heci.c
Aaron Durbinbef75e72016-05-26 11:00:44 -050081verstage-y += mmap_boot.c
Nico Hubera96e66a2018-11-11 02:51:14 +010082verstage-y += uart.c
Aaron Durbinbef75e72016-05-26 11:00:44 -050083verstage-y += pmutil.c
Andrey Petrov0f593c22016-06-17 15:30:13 -070084verstage-y += reset.c
Furquan Shaikh0be3da52016-06-19 23:20:43 -070085verstage-y += spi.c
Aaron Durbinbef75e72016-05-26 11:00:44 -050086
Angel Ponsb36100f2020-09-07 13:18:10 +020087ifeq ($(CONFIG_SOC_INTEL_GEMINILAKE),y)
Hannah Williams3ff14a02017-05-05 16:30:22 -070088bootblock-y += gpio_glk.c
89romstage-y += gpio_glk.c
90smm-y += gpio_glk.c
91ramstage-y += gpio_glk.c
92else
93bootblock-y += gpio_apl.c
94romstage-y += gpio_apl.c
95smm-y += gpio_apl.c
96ramstage-y += gpio_apl.c
97endif
98
Alexandru Gagniucdfc2b312015-10-06 17:16:41 -070099CPPFLAGS_common += -I$(src)/soc/intel/apollolake/include
100
Andrey Petrov79091db72016-05-17 00:03:27 -0700101# Since FSP-M runs in CAR we need to relocate it to a specific address
Mario Scheithauer4e074032019-11-06 11:01:00 +0100102$(call strip_quotes,$(CONFIG_FSP_M_CBFS))-options := -b $(CONFIG_FSP_M_ADDR)
Andrey Petrov79091db72016-05-17 00:03:27 -0700103
Aaron Durbin5c9df702018-04-18 01:05:25 -0600104# Handle GLK paging requirements
105ifeq ($(CONFIG_PAGING_IN_CACHE_AS_RAM),y)
106cbfs-files-y += pt
107pt-file := pt.c:struct
108pt-type := raw
109cbfs-files-y += pdpt
110pdpt-file := pdpt.c:struct
111pdpt-type := raw
112endif
113
Aaron Durbin9f444c32016-05-20 10:48:44 -0500114ifeq ($(CONFIG_NEED_LBP2),y)
Jeremy Compostella0f9858f2019-12-12 14:39:11 -0700115$(objcbfs)/lbp2.bin: $(IFWITOOL)
116ifeq ($(CONFIG_LBP2_FROM_IFWI),y)
117 $(IFWITOOL) $(CONFIG_IFWI_FILE_NAME) create -f $@ -s
118 $(IFWITOOL) $@ delete -n OBBP
119else
120 cp $(CONFIG_LBP2_FILE_NAME) $@
121endif
122
123files_added:: $(objcbfs)/lbp2.bin
124 $(CBFSTOOL) $(obj)/coreboot.rom write -r $(CONFIG_LBP2_FMAP_NAME) -f $< --fill-upward
Aaron Durbin9f444c32016-05-20 10:48:44 -0500125endif
126
Furquan Shaikh7043bf32016-05-28 12:57:05 -0700127# Bootblock on Apollolake platform lies in the IFWI region. In order to place
128# the bootblock at the right location in IFWI image -
129# a. Using ifwitool:
130# 1. Create IFWI image (ifwi.bin.tmp) from input image
131# (CONFIG_IFWI_FILE_NAME).
132# 2. Delete OBBP sub-partition, if present.
133# 3. Replace IBBL directory entry in IBBP sub-partition with currently
134# generated bootblock.bin.
135# b. Using cbfstool:
136# 1. Write ifwi.bin.tmp to coreboot.rom using CONFIG_IFWI_FMAP_NAME.
137ifeq ($(CONFIG_NEED_IFWI),y)
138files_added:: $(IFWITOOL)
139 $(IFWITOOL) $(CONFIG_IFWI_FILE_NAME) create -f $(objcbfs)/ifwi.bin.tmp
140 $(IFWITOOL) $(objcbfs)/ifwi.bin.tmp delete -n OBBP
141 $(IFWITOOL) $(objcbfs)/ifwi.bin.tmp replace -n IBBP -f $(objcbfs)/bootblock.bin -d -e IBBL
142 $(CBFSTOOL) $(obj)/coreboot.rom write -r $(CONFIG_IFWI_FMAP_NAME) -f $(objcbfs)/ifwi.bin.tmp --fill-upward
143endif
144
Saurabh Satija734aa872016-06-21 14:22:16 -0700145# DSP firmware settings files.
Angel Ponsb36100f2020-09-07 13:18:10 +0200146ifeq ($(CONFIG_SOC_INTEL_GEMINILAKE),y)
Hannah Williams96939ae2017-11-01 11:01:20 -0700147NHLT_BLOB_PATH = 3rdparty/blobs/soc/intel/glk/nhlt-blobs
148else
Saurabh Satija734aa872016-06-21 14:22:16 -0700149NHLT_BLOB_PATH = 3rdparty/blobs/soc/intel/apollolake/nhlt-blobs
Hannah Williams96939ae2017-11-01 11:01:20 -0700150endif
Sathyanarayana Nujella3e0a3fb2016-10-26 17:31:36 -0700151DMIC_1CH_48KHZ_16B = dmic-1ch-48khz-16b.bin
Saurabh Satija734aa872016-06-21 14:22:16 -0700152DMIC_2CH_48KHZ_16B = dmic-2ch-48khz-16b.bin
Sathyanarayana Nujella3e0a3fb2016-10-26 17:31:36 -0700153DMIC_4CH_48KHZ_16B = dmic-4ch-48khz-16b.bin
Saurabh Satija734aa872016-06-21 14:22:16 -0700154MAX98357_RENDER = max98357-render-2ch-48khz-24b.bin
155DA7219_RENDER_CAPTURE = dialog-2ch-48khz-24b.bin
Naveen Manohar532b8d52018-04-27 15:24:45 +0530156RT5682_RENDER_CAPTURE = rt5682-2ch-48khz-24b.bin
Saurabh Satija734aa872016-06-21 14:22:16 -0700157
Sathyanarayana Nujella3e0a3fb2016-10-26 17:31:36 -0700158cbfs-files-$(CONFIG_NHLT_DMIC_1CH_16B) += $(DMIC_1CH_48KHZ_16B)
159$(DMIC_1CH_48KHZ_16B)-file := $(NHLT_BLOB_PATH)/$(DMIC_1CH_48KHZ_16B)
160$(DMIC_1CH_48KHZ_16B)-type := raw
161
Saurabh Satija6f233742016-08-18 14:08:37 -0700162cbfs-files-$(CONFIG_NHLT_DMIC_2CH_16B) += $(DMIC_2CH_48KHZ_16B)
Saurabh Satija734aa872016-06-21 14:22:16 -0700163$(DMIC_2CH_48KHZ_16B)-file := $(NHLT_BLOB_PATH)/$(DMIC_2CH_48KHZ_16B)
164$(DMIC_2CH_48KHZ_16B)-type := raw
165
Sathyanarayana Nujella3e0a3fb2016-10-26 17:31:36 -0700166cbfs-files-$(CONFIG_NHLT_DMIC_4CH_16B) += $(DMIC_4CH_48KHZ_16B)
167$(DMIC_4CH_48KHZ_16B)-file := $(NHLT_BLOB_PATH)/$(DMIC_4CH_48KHZ_16B)
168$(DMIC_4CH_48KHZ_16B)-type := raw
169
Saurabh Satija734aa872016-06-21 14:22:16 -0700170cbfs-files-$(CONFIG_NHLT_MAX98357) += $(MAX98357_RENDER)
171$(MAX98357_RENDER)-file := $(NHLT_BLOB_PATH)/$(MAX98357_RENDER)
172$(MAX98357_RENDER)-type := raw
173
174cbfs-files-$(CONFIG_NHLT_DA7219) += $(DA7219_RENDER_CAPTURE)
175$(DA7219_RENDER_CAPTURE)-file := $(NHLT_BLOB_PATH)/$(DA7219_RENDER_CAPTURE)
176$(DA7219_RENDER_CAPTURE)-type := raw
177
Naveen Manohar532b8d52018-04-27 15:24:45 +0530178cbfs-files-$(CONFIG_NHLT_RT5682) += $(RT5682_RENDER_CAPTURE)
179$(RT5682_RENDER_CAPTURE)-file := $(NHLT_BLOB_PATH)/$(RT5682_RENDER_CAPTURE)
180$(RT5682_RENDER_CAPTURE)-type := raw
181
Angel Ponsb36100f2020-09-07 13:18:10 +0200182ifeq ($(CONFIG_SOC_INTEL_GEMINILAKE),y)
Nico Huberbae03a52018-11-14 17:46:14 +0100183# Gemini Lake B0 (706a1) only atm.
Arthur Heymansa4492902019-06-17 10:50:47 +0200184cpu_microcode_bins += $(wildcard 3rdparty/intel-microcode/intel-ucode/06-7a-*)
Nico Huberbae03a52018-11-14 17:46:14 +0100185else
186# Apollo Lake 506c2, B0 (506c9) and E0 (506ca) only atm.
Arthur Heymansa4492902019-06-17 10:50:47 +0200187cpu_microcode_bins += $(wildcard 3rdparty/intel-microcode/intel-ucode/06-5c-*)
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -0700188endif
Nico Huberbae03a52018-11-14 17:46:14 +0100189
190endif # if CONFIG_SOC_INTEL_APOLLOLAKE