[PATCH V9] thermal: bcm2835: add thermal driver for bcm2835 soc

kernel at martin.sperl.org kernel at martin.sperl.org
Thu Jan 19 23:54:07 PST 2017


> On 20.01.2017, at 05:14, Eduardo Valentin <edubezval at gmail.com> wrote:
> 
> Hello Martin,
> 
> On Sat, Jan 07, 2017 at 04:55:45PM +0000, kernel at martin.sperl.org wrote:
>> From: Martin Sperl <kernel at martin.sperl.org>
>> 
>> Add basic thermal driver for bcm2835 SOC.
>> 
>> This driver currently relies on the firmware setting up the
>> tsense HW block and does not set it up itself.
>> 
>> Signed-off-by: Martin Sperl <kernel at martin.sperl.org>
>> Acked-by: Eric Anholt <eric at anholt.net>
>> Acked-by: Stefan Wahren <stefan.wahren at i2se.com>
>> 
> 
> <cut>
> 
>> +
>> +static const struct of_device_id bcm2835_thermal_of_match_table[] = {
>> +	{
>> +		.compatible = "brcm,bcm2835-thermal",
>> +		.data = &(struct bcm2835_thermal_info) {
>> +			.offset = 407000,
>> +			.slope = -538,
>> +			.trip_temp = 80000
>> +		}
>> +	},
>> +	{
>> +		.compatible = "brcm,bcm2836-thermal",
>> +		.data = &(struct bcm2835_thermal_info) {
>> +			.offset = 407000,
>> +			.slope = -538,
>> +			.trip_temp = 80000
>> +		}
>> +	},
>> +	{
>> +		.compatible = "brcm,bcm2837-thermal",
>> +		.data = &(struct bcm2835_thermal_info) {
>> +			/* the bcm2837 needs adjustment of +5C */
>> +			.offset = 407000 + 5000,
>> +			.slope = -538,
>> +			.trip_temp = 80000
>> +		}
>> +	},
>> +	{},
> 
> Just for the same of clarification, is there anything preventing this
> driver of using of-thermal API? the above data (slope, offset, and
> trip_temps) would be in DT the place where they are supposed to be,
> instead of code.
> 

As the DT changes, that only define compatible strings, have already gone
in without any such properties set, we need to define defaults for the 
slope/offset and trip_temp values.

I guess (for newer SOC) you still can use the values in the DT,
as (I guess) these are parsed and set in thermal_zone_device_register
after the defaults are set in thermal_zone_params.

Martin



More information about the linux-arm-kernel mailing list