On Tue, 18 Mar 2025 14:36:23 +0100
"pelzflorian (Florian Pelz)" <pelzflor...@pelzflorian.de> wrote:

> Hello all; regarding dystopian direction;
> 
> Christine Lemmer-Webber <cweb...@dustycloud.org> writes:
> > The modularity of the Reform design is the most hope I have for a
> > FOSS future on the otherwise largely dystopian direction of
> > hardware lately. Hopefully we will get better and better options
> > over time for the SoCs too.  
> 
> I guess DDR4 RAM suffers from board-specific cross-talk and that is
> the main reason for free software support getting worse.  Maybe
> firmware is made with proprietary board information to avoid
> cross-talk.  Maybe free firmware could be made with time-intensive
> testing of the particular board, each time the firmware is built.
> Maybe instead of the real board, a virtual board “digital twin” could
> be used for training, which would be free software if the virtual
> board would only coarsely resemble the real non-free board.
If I remember well what phcoder did for the ThinkPad X201, the trick to
write DDR3 RAM init was to make it work without optimizing anything at
first.

For DDR3 you need to do training to precisely configure the delays to
have good performances, but once how the RAM controller work is
understood, you could simply configure it to use very big delays.

Basically delays tell the RAM controller how much time it needs to wait
for all the signals to have arrived.

And to understand how the hardware works, tracing what nonfree binary do
is a possible option but it also require some software that can run the
blob in a way that can trace the hardware accesses. 

For instance in Coreboot there is something called SerialICE that can
run the nonfree BIOS and print the MIMO accesses for instance.

neox also wrote a paper on DDR3 RAM initialization for the KGPE-D16 but
it's not public yet (and it needs some improvements as well), so if you
want to help review it you need to write to him. Once released, it will
be published under one or more free licenses.

Compared to DDR3, DDR4 might require additional things, but similar
tricks could probably be used to at least make it work in non-optimized
ways first. For instance if we configure the RAM controller to be very
lax, then we might not need to re-calibrate constantly because of
temperature changes and so on.

> Maybe USB3 has similar cross-talk?
A lot of the hardware (HDMI, probably USB3) nowadays do require
training.

Denis.

Attachment: pgpjIJNVknkT6.pgp
Description: OpenPGP digital signature

Reply via email to