blob: 53a1a4f00419fe59d3e85758beb6886b1bc6c79c [file] [log] [blame]
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +03001#*****************************************************************************
2#
3# Copyright (c) 2012, Advanced Micro Devices, Inc.
4# 2013 - 2014, Sage Electronic Engineering, LLC
5# All rights reserved.
6#
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted provided that the following conditions are met:
9# * Redistributions of source code must retain the above copyright
10# notice, this list of conditions and the following disclaimer.
11# * Redistributions in binary form must reproduce the above copyright
12# notice, this list of conditions and the following disclaimer in the
13# documentation and/or other materials provided with the distribution.
14# * Neither the name of Advanced Micro Devices, Inc. nor the names of
15# its contributors may be used to endorse or promote products derived
16# from this software without specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21# DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
22# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28#
29#*****************************************************************************
30
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +030031romstage-y += smbus.c smbus_spd.c
32ramstage-y += hudson.c
33ramstage-y += usb.c
34ramstage-y += lpc.c
35ramstage-y += sm.c
36ramstage-y += ide.c
37ramstage-y += sata.c
38ramstage-y += hda.c
39ramstage-y += pci.c
40ramstage-y += pcie.c
41ramstage-y += sd.c
42
43ramstage-$(CONFIG_HAVE_ACPI_TABLES) += fadt.c
44ramstage-y += reset.c
45romstage-$(CONFIG_USBDEBUG_IN_ROMSTAGE) += enable_usbdebug.c
46ramstage-$(CONFIG_USBDEBUG) += enable_usbdebug.c
47romstage-y += early_setup.c
WANG Siyuanc7667f02015-06-23 22:28:17 +080048ifeq ($(CONFIG_HUDSON_IMC_FWM), y)
49romstage-y += imc.c
50ramstage-y += imc.c
51endif
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +030052
Zheng Bao22861382015-11-21 12:19:22 +080053ifeq ($(CONFIG_HUDSON_UART), y)
54romstage-y += uart.c
55ramstage-y += uart.c
56endif
57
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +030058smm-$(CONFIG_HAVE_SMI_HANDLER) += smihandler.c smi_util.c
59ramstage-$(CONFIG_HAVE_SMI_HANDLER) += smi.c smi_util.c
60
61# ROMSIG At ROMBASE + 0x20000:
62# +-----------+---------------+----------------+------------+
63# |0x55AA55AA |EC ROM Address |GEC ROM Address |USB3 ROM |
64# +-----------+---------------+----------------+------------+
65# |PSPDIR ADDR|
66# +-----------+
67#
68# EC ROM should be 64K aligned.
69
Martin Rothd12d65f2015-06-28 14:06:23 -060070HUDSON_FWM_POS_CALC=$(call int-add, $(call int-subtract, 0xffffffff $(call int-multiply, $(CONFIG_COREBOOT_ROMSIZE_KB) 1024)) 0x20000 1)
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +030071HUDSON_FWM_POSITION=$(shell printf %u $(CONFIG_HUDSON_FWM_POSITION))
Martin Rothd12d65f2015-06-28 14:06:23 -060072
Zheng Baoc64f21c2015-11-17 22:58:55 +080073##
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +030074ifeq ($(CONFIG_HUDSON_PSP), y)
Zheng Baoc64f21c2015-11-17 22:58:55 +080075##
76### 0
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +030077
Zheng Baoc64f21c2015-11-17 22:58:55 +080078##
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +030079ifeq ($(CONFIG_CPU_AMD_PI_00730F01), y)
80FIRMWARE_LOCATE=$(dir $(call strip_quotes, $(CONFIG_AMD_PUBKEY_FILE)))
81FIRMWARE_TYPE=
82endif
Zheng Baoc64f21c2015-11-17 22:58:55 +080083##
WANG Siyuanf2dfef02015-05-20 14:41:01 +080084ifeq ($(CONFIG_CPU_AMD_PI_00660F01), y)
85FIRMWARE_LOCATE=$(dir $(call strip_quotes, $(CONFIG_AMD_PUBKEY_FILE)))
86FIRMWARE_TYPE=CZ
87endif
88
Zheng Baoc64f21c2015-11-17 22:58:55 +080089###5
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +030090CONFIG_PUBSIGNEDKEY_FILE=$(top)/$(FIRMWARE_LOCATE)/RtmPubSigned$(FIRMWARE_TYPE).key
Zheng Baoc64f21c2015-11-17 22:58:55 +080091###1
WANG Siyuanf2dfef02015-05-20 14:41:01 +080092ifeq ($(CONFIG_CPU_AMD_PI_00730F01), y)
Bruce Griffith5e2053e2014-12-05 19:38:53 -070093CONFIG_PSPBTLDR_FILE=$(top)/$(FIRMWARE_LOCATE)/PspBootLoader$(FIRMWARE_TYPE).Bypass.sbin
WANG Siyuanf2dfef02015-05-20 14:41:01 +080094else ifeq ($(CONFIG_CPU_AMD_PI_00660F01), y)
95CONFIG_PSPBTLDR_FILE=$(top)/$(FIRMWARE_LOCATE)/PspBootLoader_prod_$(FIRMWARE_TYPE).sbin
96endif
Bruce Griffith5e2053e2014-12-05 19:38:53 -070097
Zheng Baoc64f21c2015-11-17 22:58:55 +080098###3
WANG Siyuanf2dfef02015-05-20 14:41:01 +080099ifeq ($(CONFIG_CPU_AMD_PI_00730F01), y)
Bruce Griffith5e2053e2014-12-05 19:38:53 -0700100CONFIG_PSPRCVR_FILE=$(top)/$(FIRMWARE_LOCATE)/PspRecovery$(FIRMWARE_TYPE).sbin
WANG Siyuanf2dfef02015-05-20 14:41:01 +0800101else ifeq ($(CONFIG_CPU_AMD_PI_00660F01), y)
102CONFIG_PSPRCVR_FILE=$(top)/$(FIRMWARE_LOCATE)/PspRecoveryBootLoader_prod_$(FIRMWARE_TYPE).sbin
103endif
Bruce Griffith5e2053e2014-12-05 19:38:53 -0700104
Zheng Baoc64f21c2015-11-17 22:58:55 +0800105###2
WANG Siyuanf2dfef02015-05-20 14:41:01 +0800106ifeq ($(CONFIG_CPU_AMD_PI_00730F01), y)
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +0300107CONFIG_PSPSCUREOS_FILE=$(top)/$(FIRMWARE_LOCATE)/PspSecureOs$(FIRMWARE_TYPE).sbin
WANG Siyuanf2dfef02015-05-20 14:41:01 +0800108else ifeq ($(CONFIG_CPU_AMD_PI_00660F01), y)
WANG Siyuandb087652015-06-16 21:21:00 +0800109CONFIG_PSPSCUREOS_FILE=$(top)/$(FIRMWARE_LOCATE)/PspSecureOs_prod_$(FIRMWARE_TYPE).csbin
WANG Siyuanf2dfef02015-05-20 14:41:01 +0800110endif
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +0300111
Zheng Baoc64f21c2015-11-17 22:58:55 +0800112###4
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +0300113CONFIG_PSPNVRAM_FILE=$(top)/$(FIRMWARE_LOCATE)/PspNvram$(FIRMWARE_TYPE).bin
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +0300114
Zheng Baoc64f21c2015-11-17 22:58:55 +0800115###8
Bruce Griffith5e2053e2014-12-05 19:38:53 -0700116CONFIG_SMUFWM_FILE=$(top)/$(FIRMWARE_LOCATE)/SmuFirmware$(FIRMWARE_TYPE).sbin
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +0300117
Zheng Baoc64f21c2015-11-17 22:58:55 +0800118###95
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +0300119CONFIG_SMUSCS_FILE=$(top)/$(FIRMWARE_LOCATE)/SmuScs$(FIRMWARE_TYPE).bin
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +0300120
Zheng Baoc64f21c2015-11-17 22:58:55 +0800121###9
WANG Siyuanf2dfef02015-05-20 14:41:01 +0800122CONFIG_PSPSECUREDEBUG_FILE=$(top)/$(FIRMWARE_LOCATE)/PspSecureDebug$(FIRMWARE_TYPE).Key
WANG Siyuanf2dfef02015-05-20 14:41:01 +0800123
Zheng Baoc64f21c2015-11-17 22:58:55 +0800124###12
WANG Siyuanf2dfef02015-05-20 14:41:01 +0800125ifeq ($(CONFIG_CPU_AMD_PI_00730F01), y)
126CONFIG_PSPTRUSTLETS_FILE=$(top)/$(FIRMWARE_LOCATE)/trustlets.bin
127else ifeq ($(CONFIG_CPU_AMD_PI_00660F01), y)
128CONFIG_PSPTRUSTLETS_FILE=$(top)/$(FIRMWARE_LOCATE)/PspTrustlets_prod_$(FIRMWARE_TYPE).cbin
129endif
WANG Siyuanf2dfef02015-05-20 14:41:01 +0800130
Zheng Baoc64f21c2015-11-17 22:58:55 +0800131###13
WANG Siyuanf2dfef02015-05-20 14:41:01 +0800132ifeq ($(CONFIG_CPU_AMD_PI_00730F01), y)
133CONFIG_TRUSTLETKEY_FILE=$(top)/$(FIRMWARE_LOCATE)/Trustlet.tkn.cert
134else ifeq ($(CONFIG_CPU_AMD_PI_00660F01), y)
135CONFIG_TRUSTLETKEY_FILE=$(top)/$(FIRMWARE_LOCATE)/TrustletKey_prod_$(FIRMWARE_TYPE).sbin
136endif
WANG Siyuanf2dfef02015-05-20 14:41:01 +0800137
Zheng Baoc64f21c2015-11-17 22:58:55 +0800138###18
WANG Siyuanf2dfef02015-05-20 14:41:01 +0800139ifeq ($(CONFIG_CPU_AMD_PI_00660F01), y)
140CONFIG_SMUFIRMWARE2_FILE=$(top)/$(FIRMWARE_LOCATE)/SmuFirmware2_prod_$(FIRMWARE_TYPE).sbin
WANG Siyuanf2dfef02015-05-20 14:41:01 +0800141endif
142
Kyösti Mälkkie8b4da22014-10-21 18:22:32 +0300143endif
Zheng Baoc64f21c2015-11-17 22:58:55 +0800144
145add_opt_prefix=$(if $(call strip_quotes, $(1)), $(2) $(call strip_quotes, $(1)), )
146
147OPT_HUDSON_XHCI_FWM_FILE=$(call add_opt_prefix, $(CONFIG_HUDSON_XHCI_FWM_FILE), --xhci)
148OPT_HUDSON_IMC_FWM_FILE=$(call add_opt_prefix, $(CONFIG_HUDSON_IMC_FWM_FILE), --imc)
149OPT_HUDSON_GEC_FWM_FILE=$(call add_opt_prefix, $(CONFIG_HUDSON_GEC_FWM_FILEddd), --gec)
150
151OPT_AMD_PUBKEY_FILE=$(call add_opt_prefix, $(CONFIG_AMD_PUBKEY_FILE), --pubkey)
152OPT_PSPBTLDR_FILE=$(call add_opt_prefix, $(CONFIG_PSPBTLDR_FILE), --bootloader)
153OPT_SMUFWM_FILE=$(call add_opt_prefix, $(CONFIG_SMUFWM_FILE), --smufirmware)
154OPT_PSPRCVR_FILE=$(call add_opt_prefix, $(CONFIG_PSPRCVR_FILE), --recovery)
155OPT_PUBSIGNEDKEY_FILE=$(call add_opt_prefix, $(CONFIG_PUBSIGNEDKEY_FILE), --rtmpubkey)
156OPT_PSPSCUREOS_FILE=$(call add_opt_prefix, $(CONFIG_PSPSCUREOS_FILE), --secureos)
157OPT_PSPNVRAM_FILE=$(call add_opt_prefix, $(CONFIG_PSPNVRAM_FILE), --nvram)
158OPT_PSPSECUREDEBUG_FILE=$(call add_opt_prefix, $(CONFIG_PSPSECUREDEBUG_FILE), --securedebug)
159OPT_PSPTRUSTLETS_FILE=$(call add_opt_prefix, $(CONFIG_PSPTRUSTLETS_FILE), --trustlets)
160OPT_TRUSTLETKEY_FILE=$(call add_opt_prefix, $(CONFIG_TRUSTLETKEY_FILE), --trustletkey)
161OPT_SMUFIRMWARE2_FILE=$(call add_opt_prefix, $(CONFIG_SMUFIRMWARE2_FILE), --smufirmware2)
162OPT_SMUSCS_FILE=$(call add_opt_prefix, $(CONFIG_SMUSCS_FILE), --smuscs)
163
Marc Jonesc98629c2016-09-20 20:50:25 -0600164CONFIG_2AMD_PUBKEY_FILE =$(CONFIG_AMD_PUBKEY_FILE)
165CONFIG_2PSPBTLDR_FILE =$(CONFIG_PSPBTLDR_FILE)
166CONFIG_2SMUFWM_FILE =$(CONFIG_SMUFWM_FILE)
167CONFIG_2PSPRCVR_FILE =$(CONFIG_PSPRCVR_FILE)
168CONFIG_2PUBSIGNEDKEY_FILE =$(CONFIG_PUBSIGNEDKEY_FILE)
169CONFIG_2PSPSCUREOS_FILE =$(CONFIG_PSPSCUREOS_FILE)
170CONFIG_2PSPNVRAM_FILE =$(CONFIG_PSPNVRAM_FILE)
171CONFIG_2PSPSECUREDEBUG_FILE =$(CONFIG_PSPSECUREDEBUG_FILE)
172CONFIG_2PSPTRUSTLETS_FILE =$(CONFIG_PSPTRUSTLETS_FILE)
173CONFIG_2TRUSTLETKEY_FILE =$(CONFIG_TRUSTLETKEY_FILE)
174CONFIG_2SMUFIRMWARE2_FILE =$(CONFIG_SMUFIRMWARE2_FILE)
175CONFIG_2SMUSCS_FILE =$(CONFIG_SMUSCS_FILE)
Zheng Baoc64f21c2015-11-17 22:58:55 +0800176
177OPT_2AMD_PUBKEY_FILE=$(call add_opt_prefix, $(CONFIG_2AMD_PUBKEY_FILE), --pubkey2)
178OPT_2PSPBTLDR_FILE=$(call add_opt_prefix, $(CONFIG_2PSPBTLDR_FILE), --bootloader2)
Marshall Dawsone7d892c2016-10-08 14:49:41 -0600179OPT_2SMUFWM_FILE=$(call add_opt_prefix, $(CONFIG_2SMUFWM_FILE), --smufirmware_2)
Zheng Baoc64f21c2015-11-17 22:58:55 +0800180OPT_2PSPRCVR_FILE=$(call add_opt_prefix, $(CONFIG_2PSPRCVR_FILE), --recovery2)
181OPT_2PUBSIGNEDKEY_FILE=$(call add_opt_prefix, $(CONFIG_2PUBSIGNEDKEY_FILE), --rtmpubkey2)
182OPT_2PSPSCUREOS_FILE=$(call add_opt_prefix, $(CONFIG_2PSPSCUREOS_FILE), --secureos2)
183OPT_2PSPNVRAM_FILE=$(call add_opt_prefix, $(CONFIG_2PSPNVRAM_FILE), --nvram2)
184OPT_2PSPSECUREDEBUG_FILE=$(call add_opt_prefix, $(CONFIG_2PSPSECUREDEBUG_FILE), --securedebug2)
185OPT_2PSPTRUSTLETS_FILE=$(call add_opt_prefix, $(CONFIG_2PSPTRUSTLETS_FILE), --trustlets2)
186OPT_2TRUSTLETKEY_FILE=$(call add_opt_prefix, $(CONFIG_2TRUSTLETKEY_FILE), --trustletkey2)
187OPT_2SMUFIRMWARE2_FILE=$(call add_opt_prefix, $(CONFIG_2SMUFIRMWARE2_FILE), --smufirmware2_2)
188OPT_2SMUSCS_FILE=$(call add_opt_prefix, $(CONFIG_2SMUSCS_FILE), --smuscs2)
189
190$(obj)/amdfw.rom: $(call strip_quotes, $(CONFIG_HUDSON_XHCI_FWM_FILE)) \
191 $(call strip_quotes, $(CONFIG_HUDSON_IMC_FWM_FILE)) \
192 $(call strip_quotes, $(CONFIG_HUDSON_GEC_FWM_FILE)) \
193 $(call strip_quotes, $(CONFIG_AMD_PUBKEY_FILE)) \
194 $(call strip_quotes, $(CONFIG_PUBSIGNEDKEY_FILE)) \
195 $(call strip_quotes, $(CONFIG_PSPBTLDR_FILE)) \
196 $(call strip_quotes, $(CONFIG_PSPRCVR_FILE)) \
197 $(call strip_quotes, $(CONFIG_PSPSCUREOS_FILE)) \
198 $(call strip_quotes, $(CONFIG_PSPNVRAM_FILE)) \
199 $(call strip_quotes, $(CONFIG_SMUFWM_FILE)) \
200 $(call strip_quotes, $(CONFIG_SMUSCS_FILE)) \
201 $(call strip_quotes, $(CONFIG_PSPSECUREDEBUG_FILE)) \
202 $(call strip_quotes, $(CONFIG_PSPTRUSTLETS_FILE)) \
203 $(call strip_quotes, $(CONFIG_TRUSTLETKEY_FILE)) \
204 $(call strip_quotes, $(CONFIG_SMUFIRMWARE2_FILE)) \
Marc Jonesc98629c2016-09-20 20:50:25 -0600205 $(call strip_quotes, $(CONFIG_2AMD_PUBKEY_FILE)) \
206 $(call strip_quotes, $(CONFIG_2PUBSIGNEDKEY_FILE)) \
207 $(call strip_quotes, $(CONFIG_2PSPBTLDR_FILE)) \
208 $(call strip_quotes, $(CONFIG_2SMUFWM_FILE)) \
209 $(call strip_quotes, $(CONFIG_2PSPRCVR_FILE)) \
210 $(call strip_quotes, $(CONFIG_2PSPSCUREOS_FILE)) \
211 $(call strip_quotes, $(CONFIG_2PSPNVRAM_FILE)) \
212 $(call strip_quotes, $(CONFIG_2SMUSCS_FILE)) \
213 $(call strip_quotes, $(CONFIG_2PSPSECUREDEBUG_FILE)) \
214 $(call strip_quotes, $(CONFIG_2PSPTRUSTLETS_FILE)) \
215 $(call strip_quotes, $(CONFIG_2TRUSTLETKEY_FILE)) \
216 $(call strip_quotes, $(CONFIG_2SMUFIRMWARE2_FILE)) \
Zheng Baoc64f21c2015-11-17 22:58:55 +0800217 $(AMDFWTOOL)
218 rm -f $@
Zheng Baoa962e062015-12-08 23:41:37 +0800219 @printf " AMDFWTOOL $(subst $(obj)/,,$(@))\n"
Marc Jonesc98629c2016-09-20 20:50:25 -0600220 echo "$(AMDFWTOOL) \
221 $(OPT_HUDSON_XHCI_FWM_FILE) \
222 $(OPT_HUDSON_IMC_FWM_FILE) \
223 $(OPT_HUDSON_GEC_FWM_FILE) \
224 $(OPT_AMD_PUBKEY_FILE) \
225 $(OPT_PSPBTLDR_FILE) \
226 $(OPT_SMUFWM_FILE) \
227 $(OPT_PSPRCVR_FILE) \
228 $(OPT_PUBSIGNEDKEY_FILE) \
229 $(OPT_PSPSCUREOS_FILE) \
230 $(OPT_PSPNVRAM_FILE) \
231 $(OPT_PSPSECUREDEBUG_FILE) \
232 $(OPT_PSPTRUSTLETS_FILE) \
233 $(OPT_TRUSTLETKEY_FILE) \
234 $(OPT_SMUFIRMWARE2_FILE) \
235 $(OPT_SMUSCS_FILE) \
236 $(OPT_2AMD_PUBKEY_FILE) \
237 $(OPT_2PSPBTLDR_FILE) \
238 $(OPT_2SMUFWM_FILE) \
239 $(OPT_2PSPRCVR_FILE) \
240 $(OPT_2PUBSIGNEDKEY_FILE) \
241 $(OPT_2PSPSCUREOS_FILE) \
242 $(OPT_2PSPNVRAM_FILE) \
243 $(OPT_2PSPSECUREDEBUG_FILE) \
244 $(OPT_2PSPTRUSTLETS_FILE) \
245 $(OPT_2TRUSTLETKEY_FILE) \
246 $(OPT_2SMUFIRMWARE2_FILE) \
247 $(OPT_2SMUSCS_FILE) \
248 --output $@"
Zheng Baoc64f21c2015-11-17 22:58:55 +0800249 $(AMDFWTOOL) \
250 $(OPT_HUDSON_XHCI_FWM_FILE) \
251 $(OPT_HUDSON_IMC_FWM_FILE) \
252 $(OPT_HUDSON_GEC_FWM_FILE) \
253 $(OPT_AMD_PUBKEY_FILE) \
254 $(OPT_PSPBTLDR_FILE) \
255 $(OPT_SMUFWM_FILE) \
256 $(OPT_PSPRCVR_FILE) \
257 $(OPT_PUBSIGNEDKEY_FILE) \
258 $(OPT_PSPSCUREOS_FILE) \
259 $(OPT_PSPNVRAM_FILE) \
260 $(OPT_PSPSECUREDEBUG_FILE) \
261 $(OPT_PSPTRUSTLETS_FILE) \
262 $(OPT_TRUSTLETKEY_FILE) \
263 $(OPT_SMUFIRMWARE2_FILE) \
264 $(OPT_SMUSCS_FILE) \
265 $(OPT_2AMD_PUBKEY_FILE) \
266 $(OPT_2PSPBTLDR_FILE) \
267 $(OPT_2SMUFWM_FILE) \
268 $(OPT_2PSPRCVR_FILE) \
269 $(OPT_2PUBSIGNEDKEY_FILE) \
270 $(OPT_2PSPSCUREOS_FILE) \
271 $(OPT_2PSPNVRAM_FILE) \
272 $(OPT_2PSPSECUREDEBUG_FILE) \
273 $(OPT_2PSPTRUSTLETS_FILE) \
274 $(OPT_2TRUSTLETKEY_FILE) \
275 $(OPT_2SMUFIRMWARE2_FILE) \
276 $(OPT_2SMUSCS_FILE) \
277 --output $@
278
279cbfs-files-y += apu/amdfw
280apu/amdfw-file := $(obj)/amdfw.rom
281apu/amdfw-position := $(HUDSON_FWM_POSITION)
282apu/amdfw-type := raw