Re: [PATCH V9] thermal: bcm2835: add thermal driver for bcm2835 soc
From: <hidden>
Date: 2017-01-20 07:54:07
Also in:
linux-arm-kernel
On 20.01.2017, at 05:14, Eduardo Valentin [off-list ref] wrote: Hello Martin, On Sat, Jan 07, 2017 at 04:55:45PM +0000, kernel-TqfNSX0MhmxHKSADF0wUEw@public.gmane.org wrote:quoted
From: Martin Sperl <redacted> 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 <redacted> Acked-by: Eric Anholt <redacted> Acked-by: Stefan Wahren <redacted><cut>quoted
+ +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