Hello,
I saw that it is possible to read out the temperature from the LPDDR4 RAM through MR4.
I would like to know if it is possible to read the LPDDR4 RAM temperature in Linux?
I couldn't find any hint in the SCFW porting kit about that it is possible to read that temperature back. Plus the DRC temperature already present in /sys/class/temperature I assume is only the RAM-Controller temperature sitting in the SoC, right?
Thanks for your answer
Philippe Schenker
I use an i.MX 8 QuadMax Mek with 5.4.70-2.3.0
Edit: @jimmychan I guess you didn't get notified because I missed the proper reply button...
Could you tell me which processor are you using?
Which board and which version of BSP are you using?
Hi @jimmychan pinging you here again as I got a follow-up email from the community and I am not sure wether my edit before triggered a mail to you.
We're searching answers for i.MX 8QXP MEK, i.MX 8 QuadMax MEK, i.MX 8M EVK. We're currently developing on all three SoC variants and I guess the answer for all three is similar. But most important for now is the i.MX 8 QuadMax
Best Regards,
Philippe
Did you ever get code working to do this? I'm interested in reading LPDDR4 temperature sensor using i.MX8MPlus, which presumably is similar.
Hi shusheer,
I'm sorry we never really went ahead with this idea.
But just a rough guess would be that this needs to be read out from the SCFW since also the RAM is being setup by the SC Firmware.
Best Regards,
Philippe
Hello,
Sorry to tell you that we don't have the example code for reading the MR4.
Basically, we have DDR test tool and the RPA (excel sheet) to configure/tuning the parameters.
For details, please read this link:
I have done some further digging on this, and am replying so others who find this info save some head-scratching.
It seems that the LPDDR4 temperature sensor is accessible through the MR4 mode register on the memory chip. However, MR4 does not provide raw temperature, it provides a set of bitfields that suggest the appropriate scaling of the memory refresh rate based on the raw temperature. There does not appear to (in general) be a way to get raw temperature measurements from the LPDDR4 module temperature sensor itself.
A representative datasheet describing the process is here:https://www.micron.com/-/media/client/global/documents/products/data-sheet/dram/mobile-dram/low-powe... see page 44 and page 190
So I assume it is usual for the operating system to regularly poll MR4, and then update the processor DDRC refresh registers. One could hook into this process to find out if the LPDDR4 is particularly high or low temperature.