Summary: As part of the testing process for a Linux + Xeon 4108-based system we are developing, we need to explicitly place a DIMM into self-refresh mode. Is this possible from within the operating system? Where is this function documented?
The system we are working on is based on the SuperMicro X11DPi-NT populated with an Intel Xeon 4108 (Skylake).
I haven’t found anything promising in the kernel source for X86 although there are hints of support on other platforms. We have also scoured all the Intel documents and have found references to the Integrated Memory Controller, which seems like the piece of hardware that would take care of this, but I haven’t been able to find documentation fro the IMC on this processor. Another likely spot seems to be Asynchronous DRAM Refresh (ADR) mechanism, but I'm not able find information about how that functionality might be used to explicitly turn on self-refresh on a particular DIMM.