Hi all,


We're developing a new board based in the AMD Prairie Falcon and the closest coreboot is from amd/gardenia.

We're using coreboot verion 4.9.


Now we have console but we have a reset loop once the 'AmdInitPost' from src/soc/amd/common/block/pi/agesawrapper.c

is called. I've modified the smbus_spd.c to display the SPD content. This is the log we get:


coreboot-4.9-7f520c8fe6fc991df2c4e91f42843d4290744ebb Thu Jun 20 13:05:42 UTC 2019 bootblock starting...
Family_Model: 00670f00
PMxC0 STATUS: 0x8000800 SyncFlood BIT11
CBFS @ 200 size 7ffe00
CBFS: 'Master Header Locator' located CBFS at [200:800000)
CBFS: Locating 'fallback/romstage'
CBFS: Found @ offset 80 size 6d04


coreboot-4.9-7f520c8fe6fc991df2c4e91f42843d4290744ebb Thu Jun 20 13:05:42 UTC 2019 romstage starting...
CBFS @ 200 size 7ffe00
CBFS: 'Master Header Locator' located CBFS at [200:800000)
CBFS: Locating 'smu_fw'
CBFS: Found @ offset bdc00 size 12262
PSP: Load blob type 19 from @ff8bde38... OK
POST: 0x37
agesawrapper_amdinitreset() entry
CBFS @ 200 size 7ffe00
CBFS: 'Master Header Locator' located CBFS at [200:800000)
CBFS: Locating 'AGESA'
CBFS: Found @ offset 5ffdc0 size 662d4
agesawrapper_amdinitreset() returned AGESA_SUCCESS
POST: 0x38
agesawrapper_amdinitearly() entry
Warning - AGESA callout: platform_PcieSlotResetControl not supported
Warning - AGESA callout: platform_PcieSlotResetControl not supported
Warning - AGESA callout: platform_PcieSlotResetControl not supported
Warning - AGESA callout: platform_PcieSlotResetControl not supported
agesawrapper_amdinitearly() returned AGESA_SUCCESS
POST: 0x40
agesawrapper_amdinitpost() entry
DRAM clear on reset: Keep
WEAK: src/soc/amd/stoneyridge/BiosCallOuts.c/mainboard_read_spd called
-------------READING SPD-----------
iobase: 0x00000B00, SmbusSlave: 0x000000A4, count: 512
23 11 0C 02 85 21 00 08  00 60 00 03 01 03 00 00
00 00 06 0D F8 FF 01 00  6E 6E 6E 11 00 6E F0 0A
20 08 00 05 00 A8 18 28  28 00 78 00 14 3C 00 00
00 00 00 00 00 00 00 00  00 00 00 00 16 36 16 36
16 36 16 36 00 00 16 36  16 36 16 36 16 36 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 9C 00  00 00 00 00 E7 00 9E 78
11 01 40 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 D8 53
23 11 0C 02 85 21 00 08  00 60 00 03 01 03 00 00
00 00 06 0D F8 FF 01 00  6E 6E 6E 11 00 6E F0 0A
20 08 00 05 00 A8 18 28  28 00 78 00 14 3C 00 00
00 00 00 00 00 00 00 00  00 00 00 00 16 36 16 36
16 36 16 36 00 00 16 36  16 36 16 36 16 36 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 9C 00  00 00 00 00 E7 00 9E 78
11 01 40 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00  00 00 00 00 00 00 D8 53
-------------FINISHED READING SPD-----------

And again...

We only have one dimm connected, the A4. Is defined in devicetree.cb

    register "spd_addr_lookup" = "
    {
        { {0xA4, 0x00} }, // socket 0 - Channel 0, slots 0 & 1
    }"

and I've modified OemCustomize.c to set

#define DIMMS_PER_CHANNEL 1

Attached is the .config I'm using...

What can I check now? Any suggestion is welcome!