Attention is currently required from: Felix Singer, Jérémy Compostella, Shuo Liu.
yuchi.chen@intel.com has posted comments on this change by yuchi.chen@intel.com. ( https://review.coreboot.org/c/coreboot/+/83320?usp=email )
Change subject: soc/intel/common/block/imc: Add Integrated Memory Controller driver ......................................................................
Patch Set 13:
(2 comments)
File src/soc/intel/common/block/smbus/smbuslib.c:
https://review.coreboot.org/c/coreboot/+/83320/comment/7564532e_50e821e1?usp... : PS3, Line 10: {
Can we not using weak since it would be confusing? […]
If not using weak, can I create a new spd.c to hold the default implementation and add it to build tree only if SOC_INTEL_COMMON_BLOCK_IMC is not selected, like this:
ifneq ($(CONFIG_SOC_INTEL_COMMON_BLOCK_IMC),y) bootblock-$(CONFIG_SOC_INTEL_COMMON_BLOCK_SCS) += spd.c romstage-$(CONFIG_SOC_INTEL_COMMON_BLOCK_SCS) += spd.c ramstage-$(CONFIG_SOC_INTEL_COMMON_BLOCK_SCS) += spd.c endif
https://review.coreboot.org/c/coreboot/+/83320/comment/a4745924_9cf23c65?usp... : PS3, Line 96: if (!CONFIG(SOC_INTEL_COMMON_BLOCK_IMC) && blk->addr_map[i] == 0) {
I guess SOC_INTEL_COMMON_BLOCK_IMC will provide SPD data not depending on blk->addr_map[i]?
The addr_map[i] is finally used as the address of the slave. In the default implementation it seems 0 is not a valid one but in IMC it's valid.