RAM initialization feature matrix

Options

  1. Native raminit
    • Open Source
    • Native Raminit is working for most frequencies on most boards.
    • There might be errors to fix.
    • Position in romstage doesn’t matter.
  2. mrc.bin raminit
    • Closed Source (aka blob)
    • No known errors.
    • Needs to be placed at fixed offset in romstage.

Native raminit implemented features

Option Supported Implemented Working Comments
Supported channels
single and dual channel yes yes yes  
Up to 4 slots yes yes yes  
Up to 4 ranks per channel yes yes yes  
Supported frequencies
DDR3-1066 (533MHz) yes yes yes  
DDR3-1600 (800MHz) yes yes yes  
DDR3-1866 (933MHz) yes yes yes  
DDR3-2133 (1066MHz) yes yes yes  
DDR3-1400 (700MHz) yes (IvyBridge only) yes yes Since coreboot 4.6
DDR3-1800 (900MHz) yes (IvyBridge only) yes yes Since coreboot 4.6
DDR3-2000 (1000MHz) yes (IvyBridge only) yes yes Since coreboot 4.6
DDR3-2200 (1100MHz) yes (IvyBridge only) yes yes Since coreboot 4.6
DDR3-2400 (1200MHz) yes (IvyBridge only) yes yes Since coreboot 4.6
DDR3-1800 (900MHz) yes (IvyBridge only) yes yes Since coreboot 4.6
Supported CAS latencies
CL6 yes yes ?  
CL7 yes yes ?  
CL8 yes yes ?  
CL9 yes yes ?  
CL10 yes yes yes  
CL11 yes yes yes  
CL12 yes yes ? Since coreboot 4.6
CL13 yes yes yes Since coreboot 4.6
CL14 yes yes ? Since coreboot 4.6
CL15 yes yes ? Since coreboot 4.6
MRC cache (stored timings of last training)
S3 yes yes yes  
normal boot yes yes yes reset on CRC16 diff
XMP support
XMP Profile 1 yes yes yes only 1.5 V profiles
XMP Profile 2 yes yes no not activated
ECC support
ECC yes yes yes Since coreboot 4.13