Hi coreboot folks,

> I was unable to get any serial output, even with early serial configured.
>
> Z77 power on defaults will see port 80 decoded by LPC according to
> their datasheet, and I found Asus actually included with some boards a
> POST card that plugs into the TPM header, so I'm on the right track.
> Now to see if I can implement the LPC protocol correctly on an Arduino
> Due, chosen for its 84MHz clock and 3.3v operation.
>
> I looked at the source and only see the CONFIG_POST_DEVICE_* options
> used by sb/amd/*/hudson, not by any Intel platform code.
>
> I then looked at the datasheet and the lspci dump with OEM BIOS. I
> would need to do something to device 0x1e.0 (disabled!) and 0x1c.6
> (PCIe root port 6) and I would need new code that connects to
> CONFIG_POST_DEVICE_*.
>

I couldn't get LPC bus right on the Due, but I did get serial going.
Initially I didn't get anything past the bootblock signon banner, but
curiously after inserting a stub bootblock_mainboard_init(), I was
able to get serial going and got some logs.

My .config is attached, and the boot log follows. TL;DR: Memory init failed.

The RAM are a pair of Samsung 4GB PC3-12800S-11-11-F3 SODIMM modules
on adapters. They did work with OEM firmware. And the adapters have
been used elsewhere with no problems.

After replacing the RAM with a pair of OCZ 2GBs I was eventually able
to go all the way through SeaBIOS. It probably booted my
SystemRescueCD on a USB3 stick too, but I cannot say for sure, with
only a black screen throughout out of onboard video.

OCZ boots with both MRC and native RAM init; Samsung SODIMM fails with both.

Where should I look next?

Thanks
Keith

--- BEGIN SERIAL LOG ---
coreboot-4.11-1091-g3aed3ba60b-dirty Fri Feb 28 04:11:27 UTC 2020
bootblock starting (log level: 8)...
bootblock_mainboard_init() [1]
FMAP: Found "FLASH" version 1.1 at 0x190000.
FMAP: base = 0xff800000 size = 0x800000 #areas = 4
FMAP: area COREBOOT found @ 190200 (6749696 bytes)
CBFS: Locating 'fallback/romstage'
CBFS: Found @ offset 80 size 132ac
BS: bootblock times (exec / console): total (unknown) / 31 ms

--- BEGIN NATIVE RAMINIT LOG ---
coreboot-4.11-1091-g3aed3ba60b-dirty Fri Feb 28 04:11:27 UTC 2020
romstage starting (log level: 8)...
SMBus controller enabled
Setting up static northbridge registers... done
Initializing Graphics...
Back from systemagent_early_init()
POST: 0x38
POST: 0x39
POST: 0x3a
Intel ME early init
Intel ME firmware is ready
ME: Requested 16MB UMA
Starting native Platform init
DMI: Running at X4 @ 5000MT/s
FMAP: area RW_MRC_CACHE found @ 180000 (65536 bytes)
MRC: no data in 'RW_MRC_CACHE'
SPD probe channel0, slot0
SPD probe channel0, slot1
SPD probe channel0, slot0
  Row    addr bits  : 15
  Column addr bits  : 10
  Number of ranks   : 2
  DIMM Capacity     : 4096 MB
  CAS latencies     : 5 6 7 8 9 10 11
  tCKmin            :   1.250 ns
  tAAmin            :  13.125 ns
  tWRmin            :  15.000 ns
  tRCDmin           :  13.125 ns
  tRRDmin           :   6.000 ns
  tRPmin            :  13.125 ns
  tRASmin           :  35.000 ns
  tRCmin            :  48.125 ns
  tRFCmin           : 160.000 ns
  tWTRmin           :   7.500 ns
  tRTPmin           :   7.500 ns
  tFAWmin           :  30.000 ns
channel[0] rankmap = 0x3
SPD probe channel0, slot1
  Row    addr bits  : 15
  Column addr bits  : 10
  Number of ranks   : 2
  DIMM Capacity     : 4096 MB
  CAS latencies     : 5 6 7 8 9 10 11
  tCKmin            :   1.250 ns
  tAAmin            :  13.125 ns
  tWRmin            :  15.000 ns
  tRCDmin           :  13.125 ns
  tRRDmin           :   6.000 ns
  tRPmin            :  13.125 ns
  tRASmin           :  35.000 ns
  tRCmin            :  48.125 ns
  tRFCmin           : 160.000 ns
  tWTRmin           :   7.500 ns
  tRTPmin           :   7.500 ns
  tFAWmin           :  30.000 ns
channel[0] rankmap = 0xf
SPD probe channel1, slot0
SPD probe channel1, slot1
SPD probe channel1, slot0
SPD probe channel1, slot1
Starting Ivybridge RAM training (0).
100MHz reference clock support: yes
Trying CAS 11, tCK 320.
Found compatible clock, CAS pair.
Selected DRAM frequency: 800 MHz
Selected CAS latency   : 11T
PLL busy... done in 10 us
MCU frequency is set at : 800 MHz
Selected CWL latency   : 8T
Selected tRCD          : 11T
Selected tRP           : 11T
Selected tRAS          : 28T
Selected tWR           : 12T
Selected tFAW          : 24T
Selected tRRD          : 5T
Selected tRTP          : 6T
Selected tWTR          : 6T
Selected tRFC          : 128T
Done dimm mapping
Update PCI-E configuration space:
PCI(0, 0, 0)[a0] = 0
PCI(0, 0, 0)[a4] = 2
PCI(0, 0, 0)[bc] = 82a00000
PCI(0, 0, 0)[a8] = 7c600000
PCI(0, 0, 0)[ac] = 2
PCI(0, 0, 0)[b8] = 80000000
PCI(0, 0, 0)[b0] = 80a00000
PCI(0, 0, 0)[b4] = 80800000
PCI(0, 0, 0)[7c] = 7f
PCI(0, 0, 0)[70] = ff000000
PCI(0, 0, 0)[74] = 1
PCI(0, 0, 0)[78] = ff000c00
Done memory map
Done io registers
Done jedec reset
Done MRS commands
edge write discovery failed: 0, 0, 2
RAM training failed, trying fallback.
SPD probe channel0, slot0
SPD probe channel0, slot1
SPD probe channel0, slot0
  Row    addr bits  : 15
  Column addr bits  : 10
  Number of ranks   : 2
  DIMM Capacity     : 4096 MB
  CAS latencies     : 5 6 7 8 9 10 11
  tCKmin            :   1.250 ns
  tAAmin            :  13.125 ns
  tWRmin            :  15.000 ns
  tRCDmin           :  13.125 ns
  tRRDmin           :   6.000 ns
  tRPmin            :  13.125 ns
  tRASmin           :  35.000 ns
  tRCmin            :  48.125 ns
  tRFCmin           : 160.000 ns
  tWTRmin           :   7.500 ns
  tRTPmin           :   7.500 ns
  tFAWmin           :  30.000 ns
channel[0] rankmap = 0x3
SPD probe channel0, slot1
  Row    addr bits  : 15
  Column addr bits  : 10
  Number of ranks   : 2
  DIMM Capacity     : 4096 MB
  CAS latencies     : 5 6 7 8 9 10 11
  tCKmin            :   1.250 ns
  tAAmin            :  13.125 ns
  tWRmin            :  15.000 ns
  tRCDmin           :  13.125 ns
  tRRDmin           :   6.000 ns
  tRPmin            :  13.125 ns
  tRASmin           :  35.000 ns
  tRCmin            :  48.125 ns
  tRFCmin           : 160.000 ns
  tWTRmin           :   7.500 ns
  tRTPmin           :   7.500 ns
  tFAWmin           :  30.000 ns
channel[0] rankmap = 0xf
SPD probe channel1, slot0
SPD probe channel1, slot1
SPD probe channel1, slot0
SPD probe channel1, slot1
Starting Ivybridge RAM training (0).
No valid DIMMs found
--- END NATIVE RAMINIT LOG ---

--- BEGIN MRC RAMINIT LOG ---
coreboot-4.11-1091-g3aed3ba60b-dirty Fri Feb 28 04:11:27 UTC 2020
romstage starting (log level: 8)...
SMBus controller enabled
Setting up static northbridge registers... done
Initializing Graphics...
Back from systemagent_early_init()
POST: 0x38
POST: 0x39
RAMINIT: Limiting DDR3 clock to 800 Mhz
POST: 0x3a
Intel ME early init
Intel ME firmware is ready
ME: Requested 16MB UMA
Starting UEFI PEI System Agent
Read scrambler seed    0x00000000 from CMOS 0x98
Read S3 scrambler seed 0x00000000 from CMOS 0x9c
prepare_mrc_cache: invalid seed checksum
FMAP: area COREBOOT found @ 190200 (6749696 bytes)
CBFS: Locating 'mrc.bin'
CBFS: Found @ offset 60fdc0 size 2fc94
System Agent: Starting up...
System Agent: Initializing PCH
System Agent: Initializing PCH (SMBUS)
System Agent: Initializing PCH (USB)
System Agent: Initializing PCH (SA Init)
System Agent: Initializing PCH (Me UMA)
System Agent: Initializing Memory
System Agent: failed to locate restore data hob!
System Agent: Done.
System Agent Version 1.6.0 Build 0
ME: FW Partition Table      : OK
ME: Bringup Loader Failure  : NO
ME: Firmware Init Complete  : NO
ME: Manufacturing Mode      : NO
ME: Boot Options Present    : NO
ME: Update In Progress      : NO
ME: Current Working State   : Normal
ME: Current Operation State : Bring up
ME: Current Operation Mode  : Normal
ME: Error Code              : No Error
ME: Progress Phase          : BUP Phase
ME: Power Management Event  : Moff->Mx wake after an error
ME: Progress Phase State    : Waiting for DID BIOS message
memcfg DDR3 clock 1600 MHz
memcfg channel assignment: A: 0, B  1, C  2
memcfg channel[0] config (00661010):
   ECC inactive
   enhanced interleave mode on
   rank interleave on
   DIMMA 4096 MB width x8 dual rank, selected
   DIMMB 4096 MB width x8 dual rank
memcfg channel[1] config (00600000):
   ECC inactive
   enhanced interleave mode on
   rank interleave on
   DIMMA 0 MB width x8 single rank, selected
   DIMMB 0 MB width x8 single rank
MRC_VAR pool occupied [feff7000,feff7110]

--- END MRC RAMINIT LOG ---

[1] This is a message I added in the stub.

Attachment: .config
Description: Binary data

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

Reply via email to