I just bought a pair of HyperX DDR3L-2133 CL11 memory. They are supported and run fine at 2133 MT/s with the original Lenovo firmware.
However Coreboot only registers them at 1600 MT/s.
Changing the value of .max_ddr3_freq to 2133 in src/mainboard/lenovo/t440p/romstage.c leads to a bricked notebook. A beeping sound occurs, regardless of the installed memory type (1600 or 2133).
ad-min@mailbox.org writes:
I just bought a pair of HyperX DDR3L-2133 CL11 memory. They are supported and run fine at 2133 MT/s with the original Lenovo firmware.
However Coreboot only registers them at 1600 MT/s.
Changing the value of .max_ddr3_freq to 2133 in src/mainboard/lenovo/t440p/romstage.c leads to a bricked notebook. A beeping sound occurs, regardless of the installed memory type (1600 or 2133).
Looking at src/northbridge/intel/haswell/pei_data.h The only valid values are 800, 1067, 1333, 1600 for the mrc.bin. The sandybridge code with a similar PEI/mrc.bin is better at guarding against invalid values. Maybe that code should be adapted to haswell.
1600MT/s is what the controller officially supports. Anything faster is overclocking and the mrc.bin likely does not support that.
After cherry picking a few dozen commits of the brilliant mythbk and following his suggestions I was able to get it up and running.
https://github.com/archfan/coreboot/commit/bd3e5cf5c8277dbb286ec4234e0355afe...
1600MT/s is what the controller officially supports. Anything faster is
overclocking and the mrc.bin likely does not support that.
Correct. There is a hard coded limit of 1600 MT/s in the mrc.bin.