diff options
author | Sébastien Szymanski <sebastien.szymanski@armadeus.com> | 2025-01-15 16:41:13 +0100 |
---|---|---|
committer | Fabio Estevam <festevam@gmail.com> | 2025-01-16 10:16:47 -0300 |
commit | 985268107d4c0389d154126aa74c1d21706a7ce8 (patch) | |
tree | 39336b1990b151176eace36cc06550df1cbf1fc0 /arch/arm/lib/cache-cp15.c | |
parent | e06f6f43776d0e706dae4a86e43cc1894d90a6ae (diff) |
imx: fdt: fix cooling-device property corruption
The function disable_thermal_cpu_nodes() corrupts the cooling-device
property.
For example, booting an i.MX93 devices with only one A55 core (IMX93x1)
with the cooling-device property set to:
$ dtc -I dtb foo.dtb | grep cooling-device
cooling-device = <0x08 0xffffffff 0xffffffff 0x09 0xffffffff 0xffffffff>;
Linux shows the following error at boot:
[ 1.715189] OF: /thermal-zones/cpu-thermal/cooling-maps/map0: could not find phandle 1083699869
[ 1.723977] thermal_sys: Add a cooling_device property with at least one device
[ 1.731285] thermal thermal_zone0: binding zone cpu-thermal with cdev thermal-devfreq-0 failed:-2
because the cooling-device property in the device tree passed to the
kernel is
$ dtc -I dtb /sys/firmware/fdt | grep cooling-device
cooling-device = <0x4097f29d 0x00 0xb05aef9d>;
The issue is because the wrong variable type is passed to the function
fdt_setprop() called in the function disable_thermal_cpu_nodes(). With
the variable type fixed, the error at boot is gone and the property is
properly set:
$ dtc -I dtb /sys/firmware/fdt | grep cooling-device
cooling-device = <0x08 0xffffffff 0xffffffff>;
Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Diffstat (limited to 'arch/arm/lib/cache-cp15.c')
0 files changed, 0 insertions, 0 deletions