Kyösti Mälkki | e8b4da2 | 2014-10-21 18:22:32 +0300 | [diff] [blame] | 1 | #***************************************************************************** |
| 2 | # |
Kyösti Mälkki | e8b4da2 | 2014-10-21 18:22:32 +0300 | [diff] [blame] | 3 | # Redistribution and use in source and binary forms, with or without |
| 4 | # modification, are permitted provided that the following conditions are met: |
| 5 | # * Redistributions of source code must retain the above copyright |
| 6 | # notice, this list of conditions and the following disclaimer. |
| 7 | # * Redistributions in binary form must reproduce the above copyright |
| 8 | # notice, this list of conditions and the following disclaimer in the |
| 9 | # documentation and/or other materials provided with the distribution. |
| 10 | # * Neither the name of Advanced Micro Devices, Inc. nor the names of |
| 11 | # its contributors may be used to endorse or promote products derived |
| 12 | # from this software without specific prior written permission. |
| 13 | # |
| 14 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
| 15 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| 16 | # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| 17 | # DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY |
| 18 | # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
| 19 | # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| 20 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
| 21 | # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 22 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
| 23 | # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 24 | # |
| 25 | #***************************************************************************** |
| 26 | |
Michał Żygowski | 8cee45c | 2019-11-23 18:03:46 +0100 | [diff] [blame] | 27 | bootblock-y += bootblock.c |
| 28 | bootblock-y += early_setup.c |
| 29 | bootblock-$(CONFIG_USBDEBUG) += enable_usbdebug.c |
Arthur Heymans | adc4753 | 2018-12-28 15:48:58 +0100 | [diff] [blame] | 30 | |
Marc Jones | 05b2f69 | 2017-05-03 15:52:09 -0600 | [diff] [blame] | 31 | romstage-y += early_setup.c |
Arthur Heymans | c63649b | 2019-11-16 12:13:03 +0100 | [diff] [blame] | 32 | romstage-y += enable_usbdebug.c |
Marc Jones | 05b2f69 | 2017-05-03 15:52:09 -0600 | [diff] [blame] | 33 | romstage-$(CONFIG_HUDSON_IMC_FWM) += imc.c |
| 34 | romstage-y += smbus.c |
| 35 | romstage-y += smbus_spd.c |
Marc Jones | 05b2f69 | 2017-05-03 15:52:09 -0600 | [diff] [blame] | 36 | |
| 37 | verstage-y += early_setup.c |
Marc Jones | 05b2f69 | 2017-05-03 15:52:09 -0600 | [diff] [blame] | 38 | |
Arthur Heymans | c63649b | 2019-11-16 12:13:03 +0100 | [diff] [blame] | 39 | ramstage-y += enable_usbdebug.c |
Marc Jones | 05b2f69 | 2017-05-03 15:52:09 -0600 | [diff] [blame] | 40 | ramstage-$(CONFIG_HAVE_ACPI_TABLES) += fadt.c |
Kyösti Mälkki | e8b4da2 | 2014-10-21 18:22:32 +0300 | [diff] [blame] | 41 | ramstage-y += hda.c |
Marc Jones | 05b2f69 | 2017-05-03 15:52:09 -0600 | [diff] [blame] | 42 | ramstage-y += hudson.c |
| 43 | ramstage-y += ide.c |
| 44 | ramstage-$(CONFIG_HUDSON_IMC_FWM) += imc.c |
| 45 | ramstage-y += lpc.c |
Kyösti Mälkki | e8b4da2 | 2014-10-21 18:22:32 +0300 | [diff] [blame] | 46 | ramstage-y += pci.c |
| 47 | ramstage-y += pcie.c |
Marc Jones | 05b2f69 | 2017-05-03 15:52:09 -0600 | [diff] [blame] | 48 | ramstage-y += sata.c |
| 49 | ramstage-y += sd.c |
| 50 | ramstage-y += sm.c |
| 51 | ramstage-$(CONFIG_HAVE_SMI_HANDLER) += smi.c |
| 52 | ramstage-$(CONFIG_HAVE_SMI_HANDLER) += smi_util.c |
Marc Jones | 05b2f69 | 2017-05-03 15:52:09 -0600 | [diff] [blame] | 53 | ramstage-y += usb.c |
Kyösti Mälkki | e8b4da2 | 2014-10-21 18:22:32 +0300 | [diff] [blame] | 54 | |
Kyösti Mälkki | 9db3987 | 2019-12-13 18:11:05 +0200 | [diff] [blame] | 55 | all-y += reset.c |
| 56 | |
Kyösti Mälkki | 9265f89 | 2019-07-07 23:58:34 +0300 | [diff] [blame] | 57 | smm-y += smihandler.c |
| 58 | smm-y += smi_util.c |
Kyösti Mälkki | e8b4da2 | 2014-10-21 18:22:32 +0300 | [diff] [blame] | 59 | |
| 60 | # ROMSIG At ROMBASE + 0x20000: |
| 61 | # +-----------+---------------+----------------+------------+ |
| 62 | # |0x55AA55AA |EC ROM Address |GEC ROM Address |USB3 ROM | |
| 63 | # +-----------+---------------+----------------+------------+ |
| 64 | # |PSPDIR ADDR| |
| 65 | # +-----------+ |
| 66 | # |
| 67 | # EC ROM should be 64K aligned. |
| 68 | |
Kyösti Mälkki | 503f9fd | 2019-01-24 15:10:09 +0200 | [diff] [blame] | 69 | ifeq ($(CONFIG_AMDFW_OUTSIDE_CBFS),y) |
Ricardo Ribalda Delgado | baae959 | 2016-12-20 10:51:08 +0100 | [diff] [blame] | 70 | HUDSON_FWM_POSITION=$(call int-add, $(call int-subtract, 0xffffffff $(CONFIG_ROM_SIZE)) 0x20000 1) |
Kyösti Mälkki | 503f9fd | 2019-01-24 15:10:09 +0200 | [diff] [blame] | 71 | else |
| 72 | HUDSON_FWM_POSITION=0xfff20000 |
| 73 | endif |
Martin Roth | d12d65f | 2015-06-28 14:06:23 -0600 | [diff] [blame] | 74 | |
Kyösti Mälkki | e8b4da2 | 2014-10-21 18:22:32 +0300 | [diff] [blame] | 75 | ifeq ($(CONFIG_HUDSON_PSP), y) |
| 76 | |
Kyösti Mälkki | e8b4da2 | 2014-10-21 18:22:32 +0300 | [diff] [blame] | 77 | ifeq ($(CONFIG_CPU_AMD_PI_00730F01), y) |
Kyösti Mälkki | e8b4da2 | 2014-10-21 18:22:32 +0300 | [diff] [blame] | 78 | FIRMWARE_TYPE= |
Kyösti Mälkki | 8b8fbaf | 2019-01-24 15:07:37 +0200 | [diff] [blame] | 79 | |
Kyösti Mälkki | e8b4da2 | 2014-10-21 18:22:32 +0300 | [diff] [blame] | 80 | endif |
Kyösti Mälkki | 8b8fbaf | 2019-01-24 15:07:37 +0200 | [diff] [blame] | 81 | |
Zheng Bao | 3384e4a | 2020-10-06 12:03:11 +0800 | [diff] [blame] | 82 | #PUBSIGNEDKEY_FILE=$(top)/$(FIRMWARE_LOCATION)/RtmPubSigned$(FIRMWARE_TYPE).key |
| 83 | #PSPNVRAM_FILE=$(top)/$(FIRMWARE_LOCATION)/PspNvram$(FIRMWARE_TYPE).bin |
| 84 | #PSPSECUREDEBUG_FILE=$(top)/$(FIRMWARE_LOCATION)/PspSecureDebug$(FIRMWARE_TYPE).Key |
WANG Siyuan | f2dfef0 | 2015-05-20 14:41:01 +0800 | [diff] [blame] | 85 | |
Kyösti Mälkki | e8b4da2 | 2014-10-21 18:22:32 +0300 | [diff] [blame] | 86 | endif |
Zheng Bao | c64f21c | 2015-11-17 22:58:55 +0800 | [diff] [blame] | 87 | |
| 88 | add_opt_prefix=$(if $(call strip_quotes, $(1)), $(2) $(call strip_quotes, $(1)), ) |
| 89 | |
| 90 | OPT_HUDSON_XHCI_FWM_FILE=$(call add_opt_prefix, $(CONFIG_HUDSON_XHCI_FWM_FILE), --xhci) |
| 91 | OPT_HUDSON_IMC_FWM_FILE=$(call add_opt_prefix, $(CONFIG_HUDSON_IMC_FWM_FILE), --imc) |
| 92 | OPT_HUDSON_GEC_FWM_FILE=$(call add_opt_prefix, $(CONFIG_HUDSON_GEC_FWM_FILEddd), --gec) |
| 93 | |
Kyösti Mälkki | fa2786a | 2017-07-07 23:05:40 +0300 | [diff] [blame] | 94 | OPT_AMD_PUBKEY_FILE=$(call add_opt_prefix, $(CONFIG_AMD_PUBKEY_FILE), --pubkey) |
Martin Roth | de60e60 | 2017-09-07 13:52:19 -0600 | [diff] [blame] | 95 | OPT_PSPBTLDR_FILE=$(call add_opt_prefix, $(PSPBTLDR_FILE), --bootloader) |
| 96 | OPT_SMUFWM_FILE=$(call add_opt_prefix, $(SMUFWM_FILE), --smufirmware) |
| 97 | OPT_PSPRCVR_FILE=$(call add_opt_prefix, $(PSPRCVR_FILE), --recovery) |
| 98 | OPT_PUBSIGNEDKEY_FILE=$(call add_opt_prefix, $(PUBSIGNEDKEY_FILE), --rtmpubkey) |
Zheng Bao | 6252b60 | 2020-09-11 17:06:19 +0800 | [diff] [blame] | 99 | OPT_PSPSECUREOS_FILE=$(call add_opt_prefix, $(PSPSECUREOS_FILE), --secureos) |
Martin Roth | de60e60 | 2017-09-07 13:52:19 -0600 | [diff] [blame] | 100 | OPT_PSPNVRAM_FILE=$(call add_opt_prefix, $(PSPNVRAM_FILE), --nvram) |
| 101 | OPT_PSPSECUREDEBUG_FILE=$(call add_opt_prefix, $(PSPSECUREDEBUG_FILE), --securedebug) |
| 102 | OPT_PSPTRUSTLETS_FILE=$(call add_opt_prefix, $(PSPTRUSTLETS_FILE), --trustlets) |
| 103 | OPT_TRUSTLETKEY_FILE=$(call add_opt_prefix, $(TRUSTLETKEY_FILE), --trustletkey) |
| 104 | OPT_SMUFIRMWARE2_FILE=$(call add_opt_prefix, $(SMUFIRMWARE2_FILE), --smufirmware2) |
| 105 | OPT_SMUSCS_FILE=$(call add_opt_prefix, $(SMUSCS_FILE), --smuscs) |
Zheng Bao | c64f21c | 2015-11-17 22:58:55 +0800 | [diff] [blame] | 106 | |
| 107 | $(obj)/amdfw.rom: $(call strip_quotes, $(CONFIG_HUDSON_XHCI_FWM_FILE)) \ |
| 108 | $(call strip_quotes, $(CONFIG_HUDSON_IMC_FWM_FILE)) \ |
| 109 | $(call strip_quotes, $(CONFIG_HUDSON_GEC_FWM_FILE)) \ |
Martin Roth | de60e60 | 2017-09-07 13:52:19 -0600 | [diff] [blame] | 110 | $(call strip_quotes, $(AMD_PUBKEY2_FILE)) \ |
| 111 | $(call strip_quotes, $(PUBSIGNEDKEY2_FILE)) \ |
| 112 | $(call strip_quotes, $(PSPBTLDR2_FILE)) \ |
| 113 | $(call strip_quotes, $(SMUFWM2_FILE)) \ |
| 114 | $(call strip_quotes, $(SMUFWM2_FN_FILE)) \ |
| 115 | $(call strip_quotes, $(PSPRCVR2_FILE)) \ |
Zheng Bao | 6252b60 | 2020-09-11 17:06:19 +0800 | [diff] [blame] | 116 | $(call strip_quotes, $(PSPSECUREOS2_FILE)) \ |
Martin Roth | de60e60 | 2017-09-07 13:52:19 -0600 | [diff] [blame] | 117 | $(call strip_quotes, $(PSPNVRAM2_FILE)) \ |
| 118 | $(call strip_quotes, $(SMUSCS2_FILE)) \ |
| 119 | $(call strip_quotes, $(PSPSECUREDEBUG2_FILE)) \ |
| 120 | $(call strip_quotes, $(PSPTRUSTLETS2_FILE)) \ |
| 121 | $(call strip_quotes, $(TRUSTLETKEY2_FILE)) \ |
| 122 | $(call strip_quotes, $(SMUFIRMWARE2_2_FILE)) \ |
| 123 | $(call strip_quotes, $(SMUFIRMWARE2_2_FN_FILE)) \ |
Zheng Bao | c5e28ab | 2020-10-28 11:38:09 +0800 | [diff] [blame] | 124 | $(DEP_FILES) \ |
Zheng Bao | c64f21c | 2015-11-17 22:58:55 +0800 | [diff] [blame] | 125 | $(AMDFWTOOL) |
| 126 | rm -f $@ |
Zheng Bao | a962e06 | 2015-12-08 23:41:37 +0800 | [diff] [blame] | 127 | @printf " AMDFWTOOL $(subst $(obj)/,,$(@))\n" |
Zheng Bao | c64f21c | 2015-11-17 22:58:55 +0800 | [diff] [blame] | 128 | $(AMDFWTOOL) \ |
| 129 | $(OPT_HUDSON_XHCI_FWM_FILE) \ |
| 130 | $(OPT_HUDSON_IMC_FWM_FILE) \ |
| 131 | $(OPT_HUDSON_GEC_FWM_FILE) \ |
Zheng Bao | c64f21c | 2015-11-17 22:58:55 +0800 | [diff] [blame] | 132 | $(OPT_2AMD_PUBKEY_FILE) \ |
| 133 | $(OPT_2PSPBTLDR_FILE) \ |
| 134 | $(OPT_2SMUFWM_FILE) \ |
Marshall Dawson | 0cd2cb6 | 2017-03-27 07:25:51 -0600 | [diff] [blame] | 135 | $(OPT_2SMUFWM_FN_FILE) \ |
Zheng Bao | c64f21c | 2015-11-17 22:58:55 +0800 | [diff] [blame] | 136 | $(OPT_2PSPRCVR_FILE) \ |
| 137 | $(OPT_2PUBSIGNEDKEY_FILE) \ |
Zheng Bao | 6252b60 | 2020-09-11 17:06:19 +0800 | [diff] [blame] | 138 | $(OPT_2PSPSECUREOS_FILE) \ |
Zheng Bao | c64f21c | 2015-11-17 22:58:55 +0800 | [diff] [blame] | 139 | $(OPT_2PSPNVRAM_FILE) \ |
| 140 | $(OPT_2PSPSECUREDEBUG_FILE) \ |
| 141 | $(OPT_2PSPTRUSTLETS_FILE) \ |
| 142 | $(OPT_2TRUSTLETKEY_FILE) \ |
| 143 | $(OPT_2SMUFIRMWARE2_FILE) \ |
Marshall Dawson | 0cd2cb6 | 2017-03-27 07:25:51 -0600 | [diff] [blame] | 144 | $(OPT_2SMUFIRMWARE2_FN_FILE) \ |
Zheng Bao | c64f21c | 2015-11-17 22:58:55 +0800 | [diff] [blame] | 145 | $(OPT_2SMUSCS_FILE) \ |
Martin Roth | d61b540 | 2016-11-08 11:49:58 -0700 | [diff] [blame] | 146 | --flashsize $(CONFIG_ROM_SIZE) \ |
Kyösti Mälkki | 503f9fd | 2019-01-24 15:10:09 +0200 | [diff] [blame] | 147 | --location $(HUDSON_FWM_POSITION) \ |
Zheng Bao | c5e28ab | 2020-10-28 11:38:09 +0800 | [diff] [blame] | 148 | --config $(CONFIG_AMDFW_CONFIG_FILE) \ |
Zheng Bao | c64f21c | 2015-11-17 22:58:55 +0800 | [diff] [blame] | 149 | --output $@ |
| 150 | |
Marshall Dawson | c6be0d8 | 2017-01-07 18:17:32 -0500 | [diff] [blame] | 151 | ifeq ($(CONFIG_AMDFW_OUTSIDE_CBFS),y) |
Patrick Georgi | 2cc5bcb | 2021-01-13 09:15:07 +0100 | [diff] [blame] | 152 | $(call add_intermediate, add_amdfw, $(obj)/amdfw.rom) |
Marshall Dawson | c6be0d8 | 2017-01-07 18:17:32 -0500 | [diff] [blame] | 153 | printf " DD Adding AMD Firmware\n" |
Patrick Georgi | 0b7d3a1 | 2021-01-13 09:16:41 +0100 | [diff] [blame] | 154 | dd if=$(obj)/amdfw.rom \ |
Arthur Heymans | 8ceef40 | 2021-07-06 16:20:09 +0200 | [diff] [blame] | 155 | of=$< conv=notrunc bs=1 seek=131072 >/dev/null 2>&1 |
Marshall Dawson | c6be0d8 | 2017-01-07 18:17:32 -0500 | [diff] [blame] | 156 | |
| 157 | else # ifeq ($(CONFIG_AMDFW_OUTSIDE_CBFS),y) |
| 158 | |
Zheng Bao | c64f21c | 2015-11-17 22:58:55 +0800 | [diff] [blame] | 159 | cbfs-files-y += apu/amdfw |
| 160 | apu/amdfw-file := $(obj)/amdfw.rom |
| 161 | apu/amdfw-position := $(HUDSON_FWM_POSITION) |
| 162 | apu/amdfw-type := raw |
Marshall Dawson | c6be0d8 | 2017-01-07 18:17:32 -0500 | [diff] [blame] | 163 | |
| 164 | endif # ifeq ($(CONFIG_AMDFW_OUTSIDE_CBFS),y) |