Hello,

If the board you have is not exactly the Intel Mohonpeak RVP, using the RVP code as-is on your board is bound to fail, and can even cause damage (shortcircuits on GPIO pins).

Regards,

Angel Pons

On Thu, Jul 11, 2019, 21:56 Martin Roth <gaumless@gmail.com> wrote:
I'd check the smbus base address right before the FSP starts with and
without your change.  If it's only set with your change, then try
clearing it before calling the FSP.
See what the BAR is after the FSP runs, and make sure that the address
coreboot is using is the same.  The early FSPs had a bad habit of
dying if any register values weren't what they expected.

Martin

On Thu, Jul 11, 2019 at 1:10 PM <dponamorev@gmail.com> wrote:
>
> Motherboard based on the Intel Rangeley Atom C2000 (C2758) processor. On the board installed Nuvoton NCT6776F/D superIO.
> For its correct operation, a frequency of 48 MHz is necessary, which must be enabled by write some bits in IDT clock synthesizer (9VRS4420DKLFT).
> The configuration of the synthesizer is made thrue SMBus0, synthesizer address is 0x69.
>
> As the base, I used the source code of the reference Intel motherboard MohonPeak.
> Initialization should be done as early as possible - preferable before FSP initializing.
> At main() function in coreboot/src/southbridge/intel/fsp_rangeley/romstage.c.
> For example after early_mainboard_romstage_entry() function call and before fsp_early_init function call).
>
> The problem is that after just reading byte on the SMBus0 initialization of FSP fails. I specifically conducted the experiments - I did not load the synthesizer, but simply read through SMBus0.
> Coerboot hangs with post code 0x92 (Going to call into FSP binary for MemoryInit phase #define POST_FSP_MEMORY_INIT 0x92).
> If I move my code after FSP initialization, the system was booting normal.
>
> How can the reading by SMBus0 affect the FSP initialization process (FSP_MEMORY_INIT)?
> During the FSP_MEMORY_INIT process, FSP must read data from the memory modules SPD eeprom (thrue SMBus/i2c 0x50, 0x52).
> Maybe this is the problem?  Is it possible to return SMBus0 controller to its initial state after using?
>
> Full source: https://review.coreboot.org/c/coreboot/+/34193/4
>
> Booting log:
>
> coreboot-4.9-2383-g9e1bf2e2d2 Thu Jul 11 14:29:28 UTC 2019 romstage starting (log level: 8)...
> Setting up static southbridge registers... done.
> Disabling Watchdog timer... done.
> RTC Init
> Starting the Intel FSP (early_init)
> CBFS @ 600200 size 1ffe00
> CBFS: 'Master Header Locator' located CBFS at [600200:800000)
> CBFS: Locating 'cpu_microcode_blob.bin'
> CBFS: Checking offset 0
> CBFS: File @ offset 0 size 20
> CBFS:  Unmatched 'cbfs master header' at 0
> CBFS: Checking offset 80
> CBFS: File @ offset 80 size 7244
> CBFS:  Unmatched 'fallback/romstage' at 80
> CBFS: Checking offset 7340
> CBFS: File @ offset 7340 size 2ab
> CBFS:  Unmatched 'config' at 7340
> CBFS: Checking offset 7640
> CBFS: File @ offset 7640 size 2a1
> CBFS:  Unmatched 'revision' at 7640
> CBFS: Checking offset 7940
> CBFS: File @ offset 7940 size 444
> CBFS:  Unmatched 'cmos_layout.bin' at 7940
> CBFS: Checking offset 7dc0
> CBFS: File @ offset 7dc0 size 2af0
> CBFS:  Unmatched 'fallback/dsdt.aml' at 7dc0
> CBFS: Checking offset a900
> CBFS: File @ offset a900 size 642
> CBFS:  Unmatched 'payload_config' at a900
> CBFS: Checking offset af80
> CBFS: File @ offset af80 size e8
> CBFS:  Unmatched 'payload_revision' at af80
> CBFS: Checking offset b0c0
> CBFS: File @ offset b0c0 size 8
> CBFS:  Unmatched 'etc/sercon-port' at b0c0
> CBFS: Checking offset b100
> CBFS: File @ offset b100 size 4c98
> CBFS:  Unmatched '' at b100
> CBFS: Checking offset fdc0
> CBFS: File @ offset fdc0 size 10000
> CBFS:  Unmatched 'mrc.cache' at fdc0
> CBFS: Checking offset 1fe00
> CBFS: File @ offset 1fe00 size 14c00
> CBFS: Found @ offset 1fe00 size 14c00
> microcode: sig=0x406d8 pf=0x1 revision=0x12a
> microcode: Update skipped, already up-to-date
> Configure Default UPD Data
> PcdEnableIQAT 1
> PcdEnableLan 1
> PcdEnableLan 1
> PcdEnableLan 1
> PcdEnableLan 1
> PcdEnableUsb20 1
> PcdEnableSata2 1
> PcdEnableSata3 1
> PcdPcieRootPort1DeEmphasis:0x00 (default)
> PcdPcieRootPort2DeEmphasis:0x00 (default)
> PcdPcieRootPort3DeEmphasis:0x00 (default)
> PcdPcieRootPort4DeEmphasis:0x00 (default)
> CBFS @ 600200 size 1ffe00
> CBFS: 'Master Header Locator' located CBFS at [600200:800000)
> CBFS: Locating 'mrc.cache'
> CBFS: Checking offset 0
> CBFS: File @ offset 0 size 20
> CBFS:  Unmatched 'cbfs master header' at 0
> CBFS: Checking offset 80
> CBFS: File @ offset 80 size 7244
> CBFS:  Unmatched 'fallback/romstage' at 80
> CBFS: Checking offset 7340
> CBFS: File @ offset 7340 size 2ab
> CBFS:  Unmatched 'config' at 7340
> CBFS: Checking offset 7640
> CBFS: File @ offset 7640 size 2a1
> CBFS:  Unmatched 'revision' at 7640
> CBFS: Checking offset 7940
> CBFS: File @ offset 7940 size 444
> CBFS:  Unmatched 'cmos_layout.bin' at 7940
> CBFS: Checking offset 7dc0
> CBFS: File @ offset 7dc0 size 2af0
> CBFS:  Unmatched 'fallback/dsdt.aml' at 7dc0
> CBFS: Checking offset a900
> CBFS: File @ offset a900 size 642
> CBFS:  Unmatched 'payload_config' at a900
> CBFS: Checking offset af80
> CBFS: File @ offset af80 size e8
> CBFS:  Unmatched 'payload_revision' at af80
> CBFS: Checking offset b0c0
> CBFS: File @ offset b0c0 size 8
> CBFS:  Unmatched 'etc/sercon-port' at b0c0
> CBFS: Checking offset b100
> CBFS: File @ offset b100 size 4c98
> CBFS:  Unmatched '' at b100
> CBFS: Checking offset fdc0
> CBFS: File @ offset fdc0 size 10000
> CBFS: Found @ offset fdc0 size 10000
> find_current_mrc_cache_local: No valid fast boot cache found.
> FSP MRC cache not present.
> _______________________________________________
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-leave@coreboot.org
_______________________________________________
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-leave@coreboot.org