RFC: Updating i.MX8M CPU thermal trip-point at runtime
Andrejs Cainikovs
andrejs.cainikovs at toradex.com
Wed Apr 13 14:24:00 CEST 2022
Hi everyone,
Recent issue that I had to deal with sparkled a discussion within my
team, and seems like we are not sure what would be a proper way to go,
even if there are multiple ways to do it. We decided to ask this
question to open-source community, in case someone has thoughts about it.
At Toradex we have multiple computer on modules, each of those has few
variants - different memory sizes, with or without WiFi/BT, etc. One of
the options is also a temperature grade - IT and non-IT. Obviously, we
want to keep number of device trees as minimal as possible, since number
of device trees grows exponentially if we add a new option via device
tree, i.e. imx8mm-verdin-it-wifi-dev.dts + imx8mm-verdin-nonit-wifi-dev.dts.
Hence, we are working on a change that would update trips temperatures
in Linux device tree on the fly, setting them to whatever is read from
CPU fuses. Now, the question is - where would be the best place to do
it? So far we were thinking about following options:
- Patching U-Boot thermal driver so that it would propagate max
temperature to Linux device tree.
- Patching U-Boot board files to update Linux device tree via
ft_board_setup(). This, however, will result in a duplicate code among
different boards within same SoC family.
- Anything else not listed here.
I would appreciate any comments or thoughts regarding this topic. Thanks,
Best regards,
Andrejs Cainikovs.
More information about the U-Boot
mailing list