On 31.10.2019 03:13, Desimone, Nathaniel L wrote:
> On 10/30/2019 3:11 AM, Michal Zygowski wrote:
>> Unfortunately it doesn't imply that. Vendor BIOS != FSP. The BIOS vendor
>> could obtain different memory initialization code from Intel with some
>> bug fixes and it is very likely that it was not propagated back into the
>> FSP. This is how this werid system works. Bugs and issues are not
>> propagated back into older trees and vendors are creating tons of
>> unmaintainable forks for the firmware.
> For the newer Intel SOCs (Kaby Lake and newer) I have mostly eliminated this 
> issue. The binaries posted on github.com/IntelFsp are up to date with same 
> version of memory code that the BIOS vendors get for Kaby Lake, Coffee Lake, 
> Amber Lake, Whiskey Lake, Comet Lake, and Ice Lake. The one exception being 
> if the BIOS vendor changes the memory code and doesn't upstream their changes 
> back to Intel. Intel obviously can't do anything about that.
>
> I'm not involved in the development for the Broadwell-DE FSP so unfortunately 
> I can't help on this specific platform.
>
> Regards,
>
> Nate
I'm not blaming Intel. As you said Nate, there is nothing you can do.
Just pointing out that "vendors are creating tons of forks" where by
vendor I had IBVs in mind (in some particular cases Intel may be an IBV,
but this time I implicitly excluded Intel as IBV, sorry I didn't clarify).

Regards,
Michał
>> Applying the same changed SPD
>> parameters may give different results of memory training with FSP and
>> vendor BIOS. The best way to go is to get the hands on the papers David
>> pointed to (if possible) and do trial-by-error. It may take time but
>> there is a chance to succeed. Good thing is you have debug output from
>> FSP so at least you know what is wrong.
>>
>> Regards,
>> Michał
>>> I found that the flag called FSP_MEMORY_DOWN_CH0DIMM0_SPD_PRESENT is
>>> there which I can make use of, to pass an SPD bin. I am not sure how
>>> to prepare that binary but I am assuming we can put all the 512 hex
>>> bytes of SPD as per DDR4 SPD spec into a text file and name it as
>>> spd.bin and pass along. (example :
>>> https://github.com/coreboot/coreboot/blob/master/src/mainboard/intel/cannonlake_rvp/spd/samsung_ddr4_4GB.spd.hex)
>>> Coreboot build system will automatically pack it. Compilation passed
>>> for me and will test it now, if the SPD data is read properly.
>>> <https://github.com/coreboot/coreboot/blob/master/src/mainboard/intel/cannonlake_rvp/spd/samsung_ddr4_4GB.spd.hex>
>>>     
>>> coreboot/coreboot
>>> <https://github.com/coreboot/coreboot/blob/master/src/mainboard/intel/cannonlake_rvp/spd/samsung_ddr4_4GB.spd.hex>
>>> github mirror of coreboot.org's master repository. Contribute to
>>> coreboot/coreboot development by creating an account on GitHub.
>>> github.com
>>>
>>>
>>>
>>> In case this is not the correct way, the alternative way could be to
>>> create a UINT8 buff [512] and typecast to
>>> UpdData->MemDownCh0Dimm0SpdPtr = (UINT32) buff;
>>> directly.
>>>
>>> While I am testing all this, anyone please correct me on the .bin
>>> part, so that it helps future contributors as well, as its not
>>> documented anywhere in coreboot.
>>>
>>> Regards,
>>> Naveen
>>> ------------------------------------------------------------------------
>>> *From:* David Hendricks <[email protected]>
>>> *Sent:* Wednesday, 30 October, 2019, 12:44 PM
>>> *To:* Naveen Chaudhary
>>> *Cc:* Wim Vervoorn; Nico Huber; [email protected]
>>> *Subject:* Re: [coreboot] Re: Coreboot FSP fails to initialize RAM -
>>> "Configuration not in POR table"
>>>
>>> Hi Naveen,
>>> Yes, the first sentence. The DIMMs you are using appear to have
>>> geometry or timings incompatible with Broadwell-DE, based on the SPD
>>> values that the vendor programmed. Chapter 6 of the PDG (docid 543448)
>>> should help clarify what kinds of DIMMs are supported and how they
>>> should be populated.
>>>
>>> On Tue, Oct 29, 2019 at 5:07 AM Naveen Chaudhary
>>> <[email protected]
>>> <mailto:[email protected]>> wrote:
>>>
>>>     Sorry I didn't get the point completely. Do you mean the settings
>>>     are not compatible with FSP code? Or do you mean the settings
>>>     might be conflicting themselves.
>>>
>>>     Since the above settings were read from SPD and the chip vendor
>>>     must have definitely set them correctly, I assume you meant first
>>>     sentence.
>>>
>>>     Please correct me.
>>>
>>>     Regards,
>>>     Naveen
>>>
>>>     Get Outlook for Android <https://aka.ms/ghei36>
>>>
>>>     ------------------------------------------------------------------------
>>>     *From:* Wim Vervoorn <[email protected]
>>>     <mailto:[email protected]>>
>>>     *Sent:* Tuesday, October 29, 2019 3:47:34 PM
>>>     *To:* Naveen Chaudhary <[email protected]
>>>     <mailto:[email protected]>>; Nico Huber
>>>     <[email protected] <mailto:[email protected]>>; David Hendricks
>>>     <[email protected] <mailto:[email protected]>>
>>>     *Cc:* [email protected] <mailto:[email protected]>
>>>     <[email protected] <mailto:[email protected]>>
>>>     *Subject:* RE: [coreboot] Re: Coreboot FSP fails to initialize RAM
>>>     - "Configuration not in POR table"
>>>      
>>>
>>>     Hello Naveen,
>>>
>>>      
>>>
>>>     This is the important part. This indicates the what you selected
>>>     is not supported.
>>>
>>>      
>>>
>>>     Please review your settings carefully. This isn't a single check.
>>>     The code validates the SPD settings against the other settings you
>>>     made.
>>>
>>>     So please make sure you are passing in a DDR4 SPD when you select
>>>     DDR4 mode. Also please make sure the SPD settings are in
>>>
>>>     The list of supported configuration for the chip.
>>>
>>>      
>>>
>>>     Check POR Compatibility -- Started
>>>
>>>     primaryWidthDDR4: 1, rowBitsDDR4: 16, columnBitsDDR4: 10,
>>>     bankGroupsDDR4: 4
>>>
>>>     primaryWidthDDR4: 1, rowBitsDDR4: 16, columnBitsDDR4: 10,
>>>     bankGroupsDDR4: 4
>>>
>>>     Unknown DIMM population *****
>>>
>>>     Check POR Compatibility - 17ms
>>>
>>>     Initialize DDR Clocks -- Started
>>>
>>>     Checkpoint Code: Socket 0, 0xB1, 0x00, 0x0000
>>>
>>>     Configuration not in POR table!  *** (This basically indicates you
>>>     are trying to do something that is not supported by the chipset).
>>>
>>>      
>>>
>>>     Best regards,
>>>
>>>
>>>     Wim
>>>
>>>      
>>>
>>>     *From:*Naveen Chaudhary [mailto:[email protected]
>>>     <mailto:[email protected]>]
>>>     *Sent:* Tuesday, October 29, 2019 10:44 AM
>>>     *To:* Wim Vervoorn <[email protected]
>>>     <mailto:[email protected]>>; Nico Huber <[email protected]
>>>     <mailto:[email protected]>>; David Hendricks
>>>     <[email protected] <mailto:[email protected]>>
>>>     *Cc:* [email protected] <mailto:[email protected]>
>>>     *Subject:* Re: [coreboot] Re: Coreboot FSP fails to initialize RAM
>>>     - "Configuration not in POR table"
>>>
>>>      
>>>
>>>     Thanks Wim.
>>>
>>>     I will give a try and pass a 512 byte hex block corresponding to
>>>     the SPD data and if it works, I can play with the hex values to
>>>     find out the right configuration.
>>>
>>>     BTW, any idea which field can impact the ddrfreq which was
>>>     reported as error in the initial logs?
>>>
>>>     Regards,
>>>
>>>     Naveen
>>>
>>>     Get Outlook for Android <https://aka.ms/ghei36>
>>>
>>>      
>>>
>>>     ------------------------------------------------------------------------
>>>
>>>     *From:*Wim Vervoorn <[email protected] <mailto:[email protected]>>
>>>     *Sent:* Tuesday, October 29, 2019 3:07:44 PM
>>>     *To:* Nico Huber <[email protected] <mailto:[email protected]>>; Naveen
>>>     Chaudhary <[email protected]
>>>     <mailto:[email protected]>>; David Hendricks
>>>     <[email protected] <mailto:[email protected]>>
>>>     *Cc:* [email protected] <mailto:[email protected]>
>>>     <[email protected] <mailto:[email protected]>>
>>>     *Subject:* RE: [coreboot] Re: Coreboot FSP fails to initialize RAM
>>>     - "Configuration not in POR table"
>>>
>>>      
>>>
>>>     Hello Naveen,
>>>
>>>     You should use the "MemDownCh0Dimm0SpdPtr" to point to a buffer
>>>     containing the SPD data and set MemDownEnable" to 1.
>>>
>>>     Best Regards,
>>>     Wim Vervoorn
>>>
>>>
>>>
>>>     -----Original Message-----
>>>     From: Nico Huber [mailto:[email protected]]
>>>     Sent: Sunday, October 27, 2019 11:33 AM
>>>     To: Naveen Chaudhary <[email protected]
>>>     <mailto:[email protected]>>; David Hendricks
>>>     <[email protected] <mailto:[email protected]>>
>>>     Cc: [email protected] <mailto:[email protected]>
>>>     Subject: [coreboot] Re: Coreboot FSP fails to initialize RAM -
>>>     "Configuration not in POR table"
>>>
>>>     Hello Naveen,
>>>
>>>     On 27.10.19 05:02, Naveen Chaudhary wrote:
>>>     > Does this mean that there is a way in FSP to define custom
>>>     settings(configs) for DIMMs? In the FSP integration guide for
>>>     BroadwellDE
>>>     (https://github.com/IntelFsp/FSP/tree/master/BroadwellDEFspBinPkg/Docs)
>>>     I don't see any relevant data member where we could define pointer
>>>     to custom SPD settings or pass individual DIMMs configurations.
>>>
>>>     there is the memory-down option. It seems undocumented if that
>>>     does more than switching from on-DIMM SPDs to SPD files. Maybe
>>>     it's worth a try.
>>>     If that doesn't work out, you can always overwrite the SPDs on
>>>     your DIMM's EEPROMs. Always keep a backup, though.
>>>
>>>     Hope that helps,
>>>     Nico
>>>     _______________________________________________
>>>     coreboot mailing list -- [email protected]
>>>     <mailto:[email protected]> To unsubscribe send an email to
>>>     [email protected] <mailto:[email protected]>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> coreboot mailing list -- [email protected]
>>> To unsubscribe send an email to [email protected]
>> _______________________________________________
>> coreboot mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
> _______________________________________________
> coreboot mailing list -- [email protected]
> To unsubscribe send an email to [email protected]

-- 
Michał Żygowski
Firmware Engineer
http://3mdeb.com | @3mdeb_com

_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to