<p>Nico Huber <strong>uploaded patch set #2</strong> to this change.</p><p><a href="https://review.coreboot.org/29481">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">[RFC] lib/spd_bin: Redesign API<br><br>About every two years, somebody reinvents the wheel wrt. SPD handling.<br>Let's break the cycle by providing an API that is simple enough to be<br>used in mainboard code and handles all common patterns (e.g. reading<br>SPDs from CBFS or SMBus).<br><br>This is not complete yet, but I wanted to get feedback as early as<br>possible. The rough idea is:<br><br>  o mainboard code provides a struct with information about where to<br>    fetch the SPD from, *per module* (e.g. CBFS, SMBus, memory address)<br>  o common code gathers the SPDs and normalizes the struct, so all<br>    entries will eventually be memory addresses<br><br>The current version uses a simple array to represent the modules. This<br>doesn't reflect the actual topology of memory channels, which is in-<br>stead implied by the consumer of the normalized struct, atm.<br><br>This could be extended later, for instance, with a common SPD cache<br>that could be stored along the MRC cache data.<br><br>Note that for the latest incarnation, the SPD code of intel/cannonlake,<br>this removes the option to let FSP load the SPD from SMBus. It didn't<br>seem useful, though, as it removes all flexibility. And isn't FSP's<br>responsibility anyway.<br><br>Change-Id: Iac300a374e5cd56a9d202cf24ad8fe8367b780d8<br>Signed-off-by: Nico Huber <nico.huber@secunet.com><br>---<br>M src/Kconfig<br>M src/include/spd_bin.h<br>M src/lib/spd_bin.c<br>M src/mainboard/google/fizz/Kconfig<br>M src/mainboard/google/fizz/romstage.c<br>M src/mainboard/google/kahlee/romstage.c<br>M src/mainboard/google/kahlee/variants/baseboard/include/baseboard/variants.h<br>M src/mainboard/google/kahlee/variants/baseboard/memory.c<br>M src/mainboard/google/zoombini/romstage.c<br>M src/mainboard/intel/cannonlake_rvp/romstage_fsp_params.c<br>M src/mainboard/intel/coffeelake_rvp/Kconfig<br>M src/mainboard/intel/coffeelake_rvp/romstage.c<br>M src/mainboard/intel/kblrvp/Kconfig<br>M src/mainboard/intel/kblrvp/romstage.c<br>M src/mainboard/intel/saddlebrook/Kconfig<br>M src/mainboard/intel/saddlebrook/romstage.c<br>M src/mainboard/purism/librem_skl/Kconfig<br>M src/mainboard/purism/librem_skl/romstage.c<br>M src/soc/intel/cannonlake/Kconfig<br>M src/soc/intel/cannonlake/cnl_memcfg_init.c<br>M src/soc/intel/cannonlake/include/soc/cnl_memcfg_init.h<br>21 files changed, 277 insertions(+), 241 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/81/29481/2</pre><p>To view, visit <a href="https://review.coreboot.org/29481">change 29481</a>. To unsubscribe, or for help writing mail filters, 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/29481"/><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: newpatchset </div>
<div style="display:none"> Gerrit-Change-Id: Iac300a374e5cd56a9d202cf24ad8fe8367b780d8 </div>
<div style="display:none"> Gerrit-Change-Number: 29481 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: Nico Huber <nico.h@gmx.de> </div>
<div style="display:none"> Gerrit-CC: build bot (Jenkins) <no-reply@coreboot.org> </div>