mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
thermal: imx_tmu: enable monitoring and default alert/critical
Set default critical/alert temperature and enabling monoitoring. Without calling imx_tmu_enable_msite() monitoring will not be enabled and read_temperature will return 0. Additionally without setting alert temperature will cause imx_tmu_get_temp() to spin indefiniately thinking the system needs to cool. This resolves the board spinning endlessly when enabling IMX_TMU in the SPL. Reviewed-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
This commit is contained in:
parent
1ce6e10c61
commit
deb78ff34e
1 changed files with 6 additions and 0 deletions
|
@ -344,6 +344,7 @@ static int imx_tmu_bind(struct udevice *dev)
|
|||
ofnode node, offset;
|
||||
const char *name;
|
||||
const void *prop;
|
||||
int minc, maxc;
|
||||
|
||||
debug("%s dev name %s\n", __func__, dev->name);
|
||||
|
||||
|
@ -352,6 +353,10 @@ static int imx_tmu_bind(struct udevice *dev)
|
|||
return 0;
|
||||
|
||||
pdata->zone_node = 1;
|
||||
/* default alert/crit temps based on temp grade */
|
||||
get_cpu_temp_grade(&minc, &maxc);
|
||||
pdata->critical = maxc * 1000;
|
||||
pdata->alert = (maxc - 10) * 1000;
|
||||
|
||||
node = ofnode_path("/thermal-zones");
|
||||
ofnode_for_each_subnode(offset, node) {
|
||||
|
@ -443,6 +448,7 @@ static int imx_tmu_probe(struct udevice *dev)
|
|||
if (pdata->zone_node) {
|
||||
imx_tmu_init(dev);
|
||||
imx_tmu_calibration(dev);
|
||||
imx_tmu_enable_msite(dev);
|
||||
} else {
|
||||
imx_tmu_enable_msite(dev);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue