<p>Marshall Dawson has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/22058">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">WIP soc/amd/stoneyridge: Add PSP calls to load SMU firmware<br><br>Locate the SMU firmware in romstage and call the PSP code to load it<br>prior to DRAM initialization<br><br>Add the same function in ramstage for SMU FW2 to the hook already in<br>place for running AmdInitEnv.  Rename the hook to make more sense.<br><br>BUG=b:66339938<br><br>Change-Id: Iedf768e54a7c3b3e7cf07e266a6906923c0fad42<br>Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com><br>---<br>M src/soc/amd/stoneyridge/chip.c<br>M src/soc/amd/stoneyridge/romstage.c<br>2 files changed, 23 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/58/22058/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/soc/amd/stoneyridge/chip.c b/src/soc/amd/stoneyridge/chip.c<br>index c230fe7..7b90202 100644<br>--- a/src/soc/amd/stoneyridge/chip.c<br>+++ b/src/soc/amd/stoneyridge/chip.c<br>@@ -15,6 +15,7 @@<br> <br> #include <chip.h><br> #include <bootstate.h><br>+#include <cbfs.h><br> #include <console/console.h><br> #include <cpu/amd/mtrr.h><br> #include <cpu/cpu.h><br>@@ -23,6 +24,7 @@<br> #include <soc/cpu.h><br> #include <soc/northbridge.h><br> #include <soc/southbridge.h><br>+#include <amdblocks/psp.h><br> #include <agesawrapper.h><br> #include <agesawrapper_call.h><br> <br>@@ -80,10 +82,20 @@<br>  .final = &soc_final<br> };<br> <br>-static void do_initenv(void *unused)<br>+static void earliest_ramstage(void *unused)<br> {<br>+     void *smu_blob;<br>+      size_t smu_size;<br>+<br>   post_code(0x46);<br>+     smu_blob = cbfs_boot_map_with_leak("smu_fw2", CBFS_TYPE_RAW, &smu_size);<br>+       if (smu_blob)<br>+                psp_load_blob(MBOX_BIOS_CMD_SMU_FW2, smu_blob);<br>+      else<br>+         printk(BIOS_ERR, "BUG: Cannot locate SMU2 firmware\n");<br>+<br>+ post_code(0x47);<br>      AGESAWRAPPER(amdinitenv);<br> }<br> <br>-BOOT_STATE_INIT_ENTRY(BS_PRE_DEVICE, BS_ON_ENTRY, do_initenv, NULL);<br>+BOOT_STATE_INIT_ENTRY(BS_PRE_DEVICE, BS_ON_ENTRY, earliest_ramstage, NULL);<br>diff --git a/src/soc/amd/stoneyridge/romstage.c b/src/soc/amd/stoneyridge/romstage.c<br>index a152c1f..14ed979 100644<br>--- a/src/soc/amd/stoneyridge/romstage.c<br>+++ b/src/soc/amd/stoneyridge/romstage.c<br>@@ -19,6 +19,7 @@<br> #include <cpu/x86/mtrr.h><br> #include <cpu/amd/mtrr.h><br> #include <cbmem.h><br>+#include <cbfs.h><br> #include <commonlib/helpers.h><br> #include <console/console.h><br> #include <program_loading.h><br>@@ -30,6 +31,8 @@<br> <br> asmlinkage void car_stage_entry(void)<br> {<br>+        void *smu_blob;<br>+      size_t smu_size;<br>      struct postcar_frame pcf;<br>     uintptr_t top_of_ram;<br>         void *smm_base;<br>@@ -42,6 +45,12 @@<br> <br>        console_init();<br> <br>+   smu_blob = cbfs_boot_map_with_leak("smu_fw", CBFS_TYPE_RAW, &smu_size);<br>+        if (smu_blob)<br>+                psp_load_blob(MBOX_BIOS_CMD_SMU_FW, smu_blob);<br>+       else<br>+         printk(BIOS_ERR, "BUG: Cannot locate SMU firmware\n");<br>+<br>   post_code(0x40);<br>      AGESAWRAPPER(amdinitpost);<br> <br></pre><p>To view, visit <a href="https://review.coreboot.org/22058">change 22058</a>. To unsubscribe, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/22058"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Iedf768e54a7c3b3e7cf07e266a6906923c0fad42 </div>
<div style="display:none"> Gerrit-Change-Number: 22058 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Marshall Dawson <marshalldawson3rd@gmail.com> </div>