diff mbox

arm64: dts: Add tmu node for exynos7

Message ID 1456370865-10086-1-git-send-email-pankaj.dubey@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Pankaj Dubey Feb. 25, 2016, 3:27 a.m. UTC
From: Alim Akhtar <alim.akhtar@samsung.com>

This patch adds tmu node, related temprature sensor and triping
point data for Atlas cpu core found on exynos7 SoC.

Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
---
 .../boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi   |   25 +++++++++
 .../arm64/boot/dts/exynos/exynos7-trip-points.dtsi |   55 ++++++++++++++++++++
 arch/arm64/boot/dts/exynos/exynos7.dtsi            |   20 +++++++
 3 files changed, 100 insertions(+)
 create mode 100644 arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
 create mode 100644 arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi

Comments

Krzysztof Kozlowski Feb. 25, 2016, 4:06 a.m. UTC | #1
On 25.02.2016 12:27, Pankaj Dubey wrote:
> From: Alim Akhtar <alim.akhtar@samsung.com>
> 
> This patch adds tmu node, related temprature sensor and triping
> point data for Atlas cpu core found on exynos7 SoC.
> 
> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>

Yours Sob is missing.

Cc-ed Lukasz Majewski.

Lukasz,
Your review or ack would be appreciated.


> ---
>  .../boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi   |   25 +++++++++
>  .../arm64/boot/dts/exynos/exynos7-trip-points.dtsi |   55 ++++++++++++++++++++
>  arch/arm64/boot/dts/exynos/exynos7.dtsi            |   20 +++++++
>  3 files changed, 100 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
>  create mode 100644 arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
> 
> diff --git a/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi b/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
> new file mode 100644
> index 0000000..1d6dcf2
> --- /dev/null
> +++ b/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
> @@ -0,0 +1,25 @@
> +/*
> + * Device tree sources for Exynos7 TMU sensor configuration
> + *
> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
> + *		http://www.samsung.com
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + */
> +
> +#include <dt-bindings/thermal/thermal_exynos.h>
> +
> +#thermal-sensor-cells = <0>;
> +samsung,tmu_gain = <9>;
> +samsung,tmu_reference_voltage = <17>;
> +samsung,tmu_noise_cancel_mode = <4>;
> +samsung,tmu_efuse_value = <75>;
> +samsung,tmu_min_efuse_value = <15>;
> +samsung,tmu_max_efuse_value = <100>;
> +samsung,tmu_first_point_trim = <25>;
> +samsung,tmu_second_point_trim = <85>;
> +samsung,tmu_default_temp_offset = <50>;
> +samsung,tmu_cal_type = <TYPE_ONE_POINT_TRIMMING>;
> diff --git a/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi b/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
> new file mode 100644
> index 0000000..3970545
> --- /dev/null
> +++ b/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
> @@ -0,0 +1,55 @@
> +/*
> + * Device tree sources for default Exynos7 thermal zone definition
> + *
> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
> + *		http://www.samsung.com
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + */
> +
> +trips {
> +	cpu-alert-0 {
> +		temperature = <75000>; /* millicelsius */
> +		hysteresis = <10000>; /* millicelsius */
> +		type = "passive";
> +	};
> +	cpu-alert-1 {
> +		temperature = <80000>; /* millicelsius */
> +		hysteresis = <10000>; /* millicelsius */
> +		type = "passive";
> +	};
> +	cpu-alert-2 {
> +		temperature = <85000>; /* millicelsius */
> +		hysteresis = <10000>; /* millicelsius */
> +		type = "passive";
> +	};
> +	cpu-alert-3 {
> +		temperature = <90000>; /* millicelsius */
> +		hysteresis = <10000>; /* millicelsius */
> +		type = "passive";
> +	};
> +	cpu-alert-4 {
> +		temperature = <95000>; /* millicelsius */
> +		hysteresis = <10000>; /* millicelsius */
> +		type = "passive";
> +	};
> +	cpu-alert-5 {
> +		temperature = <100000>; /* millicelsius */
> +		hysteresis = <10000>; /* millicelsius */
> +		type = "passive";
> +	};
> +	cpu-alert-6 {
> +		temperature = <110000>; /* millicelsius */
> +		hysteresis = <10000>; /* millicelsius */
> +		type = "passive";
> +	};
> +	/* HW Trip point */

The comment looks unnecessary, all of these are HW trip points, right?

> +	cpu-crit-0 {
> +		temperature = <115000>; /* millicelsius */
> +		hysteresis = <0>; /* millicelsius */
> +		type = "critical";
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi b/arch/arm64/boot/dts/exynos/exynos7.dtsi
> index c662f98..fc9d130 100644
> --- a/arch/arm64/boot/dts/exynos/exynos7.dtsi
> +++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi
> @@ -27,6 +27,7 @@
>  		pinctrl6 = &pinctrl_fsys0;
>  		pinctrl7 = &pinctrl_fsys1;
>  		pinctrl8 = &pinctrl_bus1;
> +		tmuctrl0 = &tmuctrl_0;

Why the alias is needed?

>  	};
>  
>  	cpus {
> @@ -538,6 +539,25 @@
>  			clocks = <&clock_peric0 PCLK_PWM>;
>  			clock-names = "timers";
>  		};
> +
> +		tmuctrl_0: tmu@10060000 {
> +			compatible = "samsung,exynos7-tmu";
> +			reg = <0x10060000 0x200>;
> +			interrupts = <0 108 0>;
> +			clocks = <&clock_peris PCLK_TMU>,
> +				 <&clock_peris SCLK_TMU>;
> +			clock-names = "tmu_apbif", "tmu_sclk";
> +			#include "exynos7-tmu-sensor-conf.dtsi"
> +		};
> +
> +		thermal-zones {
> +			atlas_thermal: atlas-thermal {

The atlas is a Exynos7 specific codename. The name of node should be a
general class of the device, so maybe:
	atlas_thermal: cluster0-thermal
?

Best regards,
Krzysztof
Pankaj Dubey Feb. 25, 2016, 4:15 a.m. UTC | #2
Hi Krzysztof,

On Thursday 25 February 2016 09:36 AM, Krzysztof Kozlowski wrote:
> On 25.02.2016 12:27, Pankaj Dubey wrote:
>> From: Alim Akhtar <alim.akhtar@samsung.com>
>>
>> This patch adds tmu node, related temprature sensor and triping
>> point data for Atlas cpu core found on exynos7 SoC.
>>
>> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
> 
> Yours Sob is missing.
> 
> Cc-ed Lukasz Majewski.
> 

Due to some technical difficulty Alim posted via my account. He will
re-spin this patch via his account soon.

Thanks,
Pankaj Dubey
> Lukasz,
> Your review or ack would be appreciated.
> 
> 
>> ---
>>  .../boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi   |   25 +++++++++
>>  .../arm64/boot/dts/exynos/exynos7-trip-points.dtsi |   55 ++++++++++++++++++++
>>  arch/arm64/boot/dts/exynos/exynos7.dtsi            |   20 +++++++
>>  3 files changed, 100 insertions(+)
>>  create mode 100644 arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
>>  create mode 100644 arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
>>
>> diff --git a/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi b/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
>> new file mode 100644
>> index 0000000..1d6dcf2
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
>> @@ -0,0 +1,25 @@
>> +/*
>> + * Device tree sources for Exynos7 TMU sensor configuration
>> + *
>> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
>> + *		http://www.samsung.com
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + *
>> + */
>> +
>> +#include <dt-bindings/thermal/thermal_exynos.h>
>> +
>> +#thermal-sensor-cells = <0>;
>> +samsung,tmu_gain = <9>;
>> +samsung,tmu_reference_voltage = <17>;
>> +samsung,tmu_noise_cancel_mode = <4>;
>> +samsung,tmu_efuse_value = <75>;
>> +samsung,tmu_min_efuse_value = <15>;
>> +samsung,tmu_max_efuse_value = <100>;
>> +samsung,tmu_first_point_trim = <25>;
>> +samsung,tmu_second_point_trim = <85>;
>> +samsung,tmu_default_temp_offset = <50>;
>> +samsung,tmu_cal_type = <TYPE_ONE_POINT_TRIMMING>;
>> diff --git a/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi b/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
>> new file mode 100644
>> index 0000000..3970545
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
>> @@ -0,0 +1,55 @@
>> +/*
>> + * Device tree sources for default Exynos7 thermal zone definition
>> + *
>> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
>> + *		http://www.samsung.com
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + *
>> + */
>> +
>> +trips {
>> +	cpu-alert-0 {
>> +		temperature = <75000>; /* millicelsius */
>> +		hysteresis = <10000>; /* millicelsius */
>> +		type = "passive";
>> +	};
>> +	cpu-alert-1 {
>> +		temperature = <80000>; /* millicelsius */
>> +		hysteresis = <10000>; /* millicelsius */
>> +		type = "passive";
>> +	};
>> +	cpu-alert-2 {
>> +		temperature = <85000>; /* millicelsius */
>> +		hysteresis = <10000>; /* millicelsius */
>> +		type = "passive";
>> +	};
>> +	cpu-alert-3 {
>> +		temperature = <90000>; /* millicelsius */
>> +		hysteresis = <10000>; /* millicelsius */
>> +		type = "passive";
>> +	};
>> +	cpu-alert-4 {
>> +		temperature = <95000>; /* millicelsius */
>> +		hysteresis = <10000>; /* millicelsius */
>> +		type = "passive";
>> +	};
>> +	cpu-alert-5 {
>> +		temperature = <100000>; /* millicelsius */
>> +		hysteresis = <10000>; /* millicelsius */
>> +		type = "passive";
>> +	};
>> +	cpu-alert-6 {
>> +		temperature = <110000>; /* millicelsius */
>> +		hysteresis = <10000>; /* millicelsius */
>> +		type = "passive";
>> +	};
>> +	/* HW Trip point */
> 
> The comment looks unnecessary, all of these are HW trip points, right?
> 
>> +	cpu-crit-0 {
>> +		temperature = <115000>; /* millicelsius */
>> +		hysteresis = <0>; /* millicelsius */
>> +		type = "critical";
>> +	};
>> +};
>> diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi b/arch/arm64/boot/dts/exynos/exynos7.dtsi
>> index c662f98..fc9d130 100644
>> --- a/arch/arm64/boot/dts/exynos/exynos7.dtsi
>> +++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi
>> @@ -27,6 +27,7 @@
>>  		pinctrl6 = &pinctrl_fsys0;
>>  		pinctrl7 = &pinctrl_fsys1;
>>  		pinctrl8 = &pinctrl_bus1;
>> +		tmuctrl0 = &tmuctrl_0;
> 
> Why the alias is needed?
> 
>>  	};
>>  
>>  	cpus {
>> @@ -538,6 +539,25 @@
>>  			clocks = <&clock_peric0 PCLK_PWM>;
>>  			clock-names = "timers";
>>  		};
>> +
>> +		tmuctrl_0: tmu@10060000 {
>> +			compatible = "samsung,exynos7-tmu";
>> +			reg = <0x10060000 0x200>;
>> +			interrupts = <0 108 0>;
>> +			clocks = <&clock_peris PCLK_TMU>,
>> +				 <&clock_peris SCLK_TMU>;
>> +			clock-names = "tmu_apbif", "tmu_sclk";
>> +			#include "exynos7-tmu-sensor-conf.dtsi"
>> +		};
>> +
>> +		thermal-zones {
>> +			atlas_thermal: atlas-thermal {
> 
> The atlas is a Exynos7 specific codename. The name of node should be a
> general class of the device, so maybe:
> 	atlas_thermal: cluster0-thermal
> ?
> 
> Best regards,
> Krzysztof
>
Lukasz Majewski Feb. 25, 2016, 8:58 a.m. UTC | #3
Hi pankaj.dubey,

> Hi Krzysztof,
> 
> On Thursday 25 February 2016 09:36 AM, Krzysztof Kozlowski wrote:
> > On 25.02.2016 12:27, Pankaj Dubey wrote:
> >> From: Alim Akhtar <alim.akhtar@samsung.com>
> >>
> >> This patch adds tmu node, related temprature sensor and triping
> >> point data for Atlas cpu core found on exynos7 SoC.
> >>
> >> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
> > 
> > Yours Sob is missing.
> > 
> > Cc-ed Lukasz Majewski.
> > 
> 
> Due to some technical difficulty Alim posted via my account. He will
> re-spin this patch via his account soon.

Looking forward to see your patches. :-)

Best regards,
?ukasz Majewski

> 
> Thanks,
> Pankaj Dubey
> > Lukasz,
> > Your review or ack would be appreciated.
> > 
> > 
> >> ---
> >>  .../boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi   |   25
> >> +++++++++ .../arm64/boot/dts/exynos/exynos7-trip-points.dtsi |
> >> 55 ++++++++++++++++++++
> >> arch/arm64/boot/dts/exynos/exynos7.dtsi            |   20 +++++++
> >> 3 files changed, 100 insertions(+) create mode 100644
> >> arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi create
> >> mode 100644 arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
> >>
> >> diff --git
> >> a/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
> >> b/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi new file
> >> mode 100644 index 0000000..1d6dcf2 --- /dev/null
> >> +++ b/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
> >> @@ -0,0 +1,25 @@
> >> +/*
> >> + * Device tree sources for Exynos7 TMU sensor configuration
> >> + *
> >> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
> >> + *		http://www.samsung.com
> >> + *
> >> + * This program is free software; you can redistribute it and/or
> >> modify
> >> + * it under the terms of the GNU General Public License version 2
> >> as
> >> + * published by the Free Software Foundation.
> >> + *
> >> + */
> >> +
> >> +#include <dt-bindings/thermal/thermal_exynos.h>
> >> +
> >> +#thermal-sensor-cells = <0>;
> >> +samsung,tmu_gain = <9>;
> >> +samsung,tmu_reference_voltage = <17>;
> >> +samsung,tmu_noise_cancel_mode = <4>;
> >> +samsung,tmu_efuse_value = <75>;
> >> +samsung,tmu_min_efuse_value = <15>;
> >> +samsung,tmu_max_efuse_value = <100>;
> >> +samsung,tmu_first_point_trim = <25>;
> >> +samsung,tmu_second_point_trim = <85>;
> >> +samsung,tmu_default_temp_offset = <50>;
> >> +samsung,tmu_cal_type = <TYPE_ONE_POINT_TRIMMING>;
> >> diff --git a/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
> >> b/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi new file
> >> mode 100644 index 0000000..3970545
> >> --- /dev/null
> >> +++ b/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
> >> @@ -0,0 +1,55 @@
> >> +/*
> >> + * Device tree sources for default Exynos7 thermal zone definition
> >> + *
> >> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
> >> + *		http://www.samsung.com
> >> + *
> >> + * This program is free software; you can redistribute it and/or
> >> modify
> >> + * it under the terms of the GNU General Public License version 2
> >> as
> >> + * published by the Free Software Foundation.
> >> + *
> >> + */
> >> +
> >> +trips {
> >> +	cpu-alert-0 {
> >> +		temperature = <75000>; /* millicelsius */
> >> +		hysteresis = <10000>; /* millicelsius */
> >> +		type = "passive";
> >> +	};
> >> +	cpu-alert-1 {
> >> +		temperature = <80000>; /* millicelsius */
> >> +		hysteresis = <10000>; /* millicelsius */
> >> +		type = "passive";
> >> +	};
> >> +	cpu-alert-2 {
> >> +		temperature = <85000>; /* millicelsius */
> >> +		hysteresis = <10000>; /* millicelsius */
> >> +		type = "passive";
> >> +	};
> >> +	cpu-alert-3 {
> >> +		temperature = <90000>; /* millicelsius */
> >> +		hysteresis = <10000>; /* millicelsius */
> >> +		type = "passive";
> >> +	};
> >> +	cpu-alert-4 {
> >> +		temperature = <95000>; /* millicelsius */
> >> +		hysteresis = <10000>; /* millicelsius */
> >> +		type = "passive";
> >> +	};
> >> +	cpu-alert-5 {
> >> +		temperature = <100000>; /* millicelsius */
> >> +		hysteresis = <10000>; /* millicelsius */
> >> +		type = "passive";
> >> +	};
> >> +	cpu-alert-6 {
> >> +		temperature = <110000>; /* millicelsius */
> >> +		hysteresis = <10000>; /* millicelsius */
> >> +		type = "passive";
> >> +	};
> >> +	/* HW Trip point */
> > 
> > The comment looks unnecessary, all of these are HW trip points,
> > right?
> > 
> >> +	cpu-crit-0 {
> >> +		temperature = <115000>; /* millicelsius */
> >> +		hysteresis = <0>; /* millicelsius */
> >> +		type = "critical";
> >> +	};
> >> +};
> >> diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi
> >> b/arch/arm64/boot/dts/exynos/exynos7.dtsi index c662f98..fc9d130
> >> 100644 --- a/arch/arm64/boot/dts/exynos/exynos7.dtsi
> >> +++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi
> >> @@ -27,6 +27,7 @@
> >>  		pinctrl6 = &pinctrl_fsys0;
> >>  		pinctrl7 = &pinctrl_fsys1;
> >>  		pinctrl8 = &pinctrl_bus1;
> >> +		tmuctrl0 = &tmuctrl_0;
> > 
> > Why the alias is needed?
> > 
> >>  	};
> >>  
> >>  	cpus {
> >> @@ -538,6 +539,25 @@
> >>  			clocks = <&clock_peric0 PCLK_PWM>;
> >>  			clock-names = "timers";
> >>  		};
> >> +
> >> +		tmuctrl_0: tmu@10060000 {
> >> +			compatible = "samsung,exynos7-tmu";
> >> +			reg = <0x10060000 0x200>;
> >> +			interrupts = <0 108 0>;
> >> +			clocks = <&clock_peris PCLK_TMU>,
> >> +				 <&clock_peris SCLK_TMU>;
> >> +			clock-names = "tmu_apbif", "tmu_sclk";
> >> +			#include "exynos7-tmu-sensor-conf.dtsi"
> >> +		};
> >> +
> >> +		thermal-zones {
> >> +			atlas_thermal: atlas-thermal {
> > 
> > The atlas is a Exynos7 specific codename. The name of node should
> > be a general class of the device, so maybe:
> > 	atlas_thermal: cluster0-thermal
> > ?
> > 
> > Best regards,
> > Krzysztof
> >
Alim Akhtar Feb. 25, 2016, 9:16 a.m. UTC | #4
Hi Lukasz,

On 02/25/2016 02:28 PM, Lukasz Majewski wrote:
> Hi pankaj.dubey,
>
>> Hi Krzysztof,
>>
>> On Thursday 25 February 2016 09:36 AM, Krzysztof Kozlowski wrote:
>>> On 25.02.2016 12:27, Pankaj Dubey wrote:
>>>> From: Alim Akhtar <alim.akhtar@samsung.com>
>>>>
>>>> This patch adds tmu node, related temprature sensor and triping
>>>> point data for Atlas cpu core found on exynos7 SoC.
>>>>
>>>> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
>>>
>>> Yours Sob is missing.
>>>
>>> Cc-ed Lukasz Majewski.
>>>
>>
>> Due to some technical difficulty Alim posted via my account. He will
>> re-spin this patch via his account soon.
>
> Looking forward to see your patches. :-)
>
I have resend the patch..please review.
Thanks for your time.

> Best regards,
> ?ukasz Majewski
>
>>
>> Thanks,
>> Pankaj Dubey
>>> Lukasz,
>>> Your review or ack would be appreciated.
>>>
>>>
>>>> ---
>>>>   .../boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi   |   25
>>>> +++++++++ .../arm64/boot/dts/exynos/exynos7-trip-points.dtsi |
>>>> 55 ++++++++++++++++++++
>>>> arch/arm64/boot/dts/exynos/exynos7.dtsi            |   20 +++++++
>>>> 3 files changed, 100 insertions(+) create mode 100644
>>>> arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi create
>>>> mode 100644 arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
>>>>
>>>> diff --git
>>>> a/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
>>>> b/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi new file
>>>> mode 100644 index 0000000..1d6dcf2 --- /dev/null
>>>> +++ b/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
>>>> @@ -0,0 +1,25 @@
>>>> +/*
>>>> + * Device tree sources for Exynos7 TMU sensor configuration
>>>> + *
>>>> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
>>>> + *		http://www.samsung.com
>>>> + *
>>>> + * This program is free software; you can redistribute it and/or
>>>> modify
>>>> + * it under the terms of the GNU General Public License version 2
>>>> as
>>>> + * published by the Free Software Foundation.
>>>> + *
>>>> + */
>>>> +
>>>> +#include <dt-bindings/thermal/thermal_exynos.h>
>>>> +
>>>> +#thermal-sensor-cells = <0>;
>>>> +samsung,tmu_gain = <9>;
>>>> +samsung,tmu_reference_voltage = <17>;
>>>> +samsung,tmu_noise_cancel_mode = <4>;
>>>> +samsung,tmu_efuse_value = <75>;
>>>> +samsung,tmu_min_efuse_value = <15>;
>>>> +samsung,tmu_max_efuse_value = <100>;
>>>> +samsung,tmu_first_point_trim = <25>;
>>>> +samsung,tmu_second_point_trim = <85>;
>>>> +samsung,tmu_default_temp_offset = <50>;
>>>> +samsung,tmu_cal_type = <TYPE_ONE_POINT_TRIMMING>;
>>>> diff --git a/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
>>>> b/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi new file
>>>> mode 100644 index 0000000..3970545
>>>> --- /dev/null
>>>> +++ b/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
>>>> @@ -0,0 +1,55 @@
>>>> +/*
>>>> + * Device tree sources for default Exynos7 thermal zone definition
>>>> + *
>>>> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
>>>> + *		http://www.samsung.com
>>>> + *
>>>> + * This program is free software; you can redistribute it and/or
>>>> modify
>>>> + * it under the terms of the GNU General Public License version 2
>>>> as
>>>> + * published by the Free Software Foundation.
>>>> + *
>>>> + */
>>>> +
>>>> +trips {
>>>> +	cpu-alert-0 {
>>>> +		temperature = <75000>; /* millicelsius */
>>>> +		hysteresis = <10000>; /* millicelsius */
>>>> +		type = "passive";
>>>> +	};
>>>> +	cpu-alert-1 {
>>>> +		temperature = <80000>; /* millicelsius */
>>>> +		hysteresis = <10000>; /* millicelsius */
>>>> +		type = "passive";
>>>> +	};
>>>> +	cpu-alert-2 {
>>>> +		temperature = <85000>; /* millicelsius */
>>>> +		hysteresis = <10000>; /* millicelsius */
>>>> +		type = "passive";
>>>> +	};
>>>> +	cpu-alert-3 {
>>>> +		temperature = <90000>; /* millicelsius */
>>>> +		hysteresis = <10000>; /* millicelsius */
>>>> +		type = "passive";
>>>> +	};
>>>> +	cpu-alert-4 {
>>>> +		temperature = <95000>; /* millicelsius */
>>>> +		hysteresis = <10000>; /* millicelsius */
>>>> +		type = "passive";
>>>> +	};
>>>> +	cpu-alert-5 {
>>>> +		temperature = <100000>; /* millicelsius */
>>>> +		hysteresis = <10000>; /* millicelsius */
>>>> +		type = "passive";
>>>> +	};
>>>> +	cpu-alert-6 {
>>>> +		temperature = <110000>; /* millicelsius */
>>>> +		hysteresis = <10000>; /* millicelsius */
>>>> +		type = "passive";
>>>> +	};
>>>> +	/* HW Trip point */
>>>
>>> The comment looks unnecessary, all of these are HW trip points,
>>> right?
>>>
>>>> +	cpu-crit-0 {
>>>> +		temperature = <115000>; /* millicelsius */
>>>> +		hysteresis = <0>; /* millicelsius */
>>>> +		type = "critical";
>>>> +	};
>>>> +};
>>>> diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi
>>>> b/arch/arm64/boot/dts/exynos/exynos7.dtsi index c662f98..fc9d130
>>>> 100644 --- a/arch/arm64/boot/dts/exynos/exynos7.dtsi
>>>> +++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi
>>>> @@ -27,6 +27,7 @@
>>>>   		pinctrl6 = &pinctrl_fsys0;
>>>>   		pinctrl7 = &pinctrl_fsys1;
>>>>   		pinctrl8 = &pinctrl_bus1;
>>>> +		tmuctrl0 = &tmuctrl_0;
>>>
>>> Why the alias is needed?
>>>
>>>>   	};
>>>>
>>>>   	cpus {
>>>> @@ -538,6 +539,25 @@
>>>>   			clocks = <&clock_peric0 PCLK_PWM>;
>>>>   			clock-names = "timers";
>>>>   		};
>>>> +
>>>> +		tmuctrl_0: tmu@10060000 {
>>>> +			compatible = "samsung,exynos7-tmu";
>>>> +			reg = <0x10060000 0x200>;
>>>> +			interrupts = <0 108 0>;
>>>> +			clocks = <&clock_peris PCLK_TMU>,
>>>> +				 <&clock_peris SCLK_TMU>;
>>>> +			clock-names = "tmu_apbif", "tmu_sclk";
>>>> +			#include "exynos7-tmu-sensor-conf.dtsi"
>>>> +		};
>>>> +
>>>> +		thermal-zones {
>>>> +			atlas_thermal: atlas-thermal {
>>>
>>> The atlas is a Exynos7 specific codename. The name of node should
>>> be a general class of the device, so maybe:
>>> 	atlas_thermal: cluster0-thermal
>>> ?
>>>
>>> Best regards,
>>> Krzysztof
>>>
>
>
>
Alim Akhtar Feb. 26, 2016, 4:05 a.m. UTC | #5
Hi Krzysztof,

On 02/25/2016 09:36 AM, Krzysztof Kozlowski wrote:
> On 25.02.2016 12:27, Pankaj Dubey wrote:
>> From: Alim Akhtar <alim.akhtar@samsung.com>
>>
>> This patch adds tmu node, related temprature sensor and triping
>> point data for Atlas cpu core found on exynos7 SoC.
>>
>> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
>
> Yours Sob is missing.
>
> Cc-ed Lukasz Majewski.
>
Thanks
> Lukasz,
> Your review or ack would be appreciated.
>
>
>> ---
>>   .../boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi   |   25 +++++++++
>>   .../arm64/boot/dts/exynos/exynos7-trip-points.dtsi |   55 ++++++++++++++++++++
>>   arch/arm64/boot/dts/exynos/exynos7.dtsi            |   20 +++++++
>>   3 files changed, 100 insertions(+)
>>   create mode 100644 arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
>>   create mode 100644 arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
>>
>> diff --git a/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi b/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
>> new file mode 100644
>> index 0000000..1d6dcf2
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
>> @@ -0,0 +1,25 @@
>> +/*
>> + * Device tree sources for Exynos7 TMU sensor configuration
>> + *
>> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
>> + *		http://www.samsung.com
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + *
>> + */
>> +
>> +#include <dt-bindings/thermal/thermal_exynos.h>
>> +
>> +#thermal-sensor-cells = <0>;
>> +samsung,tmu_gain = <9>;
>> +samsung,tmu_reference_voltage = <17>;
>> +samsung,tmu_noise_cancel_mode = <4>;
>> +samsung,tmu_efuse_value = <75>;
>> +samsung,tmu_min_efuse_value = <15>;
>> +samsung,tmu_max_efuse_value = <100>;
>> +samsung,tmu_first_point_trim = <25>;
>> +samsung,tmu_second_point_trim = <85>;
>> +samsung,tmu_default_temp_offset = <50>;
>> +samsung,tmu_cal_type = <TYPE_ONE_POINT_TRIMMING>;
>> diff --git a/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi b/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
>> new file mode 100644
>> index 0000000..3970545
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
>> @@ -0,0 +1,55 @@
>> +/*
>> + * Device tree sources for default Exynos7 thermal zone definition
>> + *
>> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
>> + *		http://www.samsung.com
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + *
>> + */
>> +
>> +trips {
>> +	cpu-alert-0 {
>> +		temperature = <75000>; /* millicelsius */
>> +		hysteresis = <10000>; /* millicelsius */
>> +		type = "passive";
>> +	};
>> +	cpu-alert-1 {
>> +		temperature = <80000>; /* millicelsius */
>> +		hysteresis = <10000>; /* millicelsius */
>> +		type = "passive";
>> +	};
>> +	cpu-alert-2 {
>> +		temperature = <85000>; /* millicelsius */
>> +		hysteresis = <10000>; /* millicelsius */
>> +		type = "passive";
>> +	};
>> +	cpu-alert-3 {
>> +		temperature = <90000>; /* millicelsius */
>> +		hysteresis = <10000>; /* millicelsius */
>> +		type = "passive";
>> +	};
>> +	cpu-alert-4 {
>> +		temperature = <95000>; /* millicelsius */
>> +		hysteresis = <10000>; /* millicelsius */
>> +		type = "passive";
>> +	};
>> +	cpu-alert-5 {
>> +		temperature = <100000>; /* millicelsius */
>> +		hysteresis = <10000>; /* millicelsius */
>> +		type = "passive";
>> +	};
>> +	cpu-alert-6 {
>> +		temperature = <110000>; /* millicelsius */
>> +		hysteresis = <10000>; /* millicelsius */
>> +		type = "passive";
>> +	};
>> +	/* HW Trip point */
>
> The comment looks unnecessary, all of these are HW trip points, right?
>
Ok will remove, on this SoC, only THRES_LEVEL_RISE7 support THERM_TRIP, 
rest are used for thermal throttling via a cooling device like cpu-freq.
>> +	cpu-crit-0 {
>> +		temperature = <115000>; /* millicelsius */
>> +		hysteresis = <0>; /* millicelsius */
>> +		type = "critical";
>> +	};
>> +};
>> diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi b/arch/arm64/boot/dts/exynos/exynos7.dtsi
>> index c662f98..fc9d130 100644
>> --- a/arch/arm64/boot/dts/exynos/exynos7.dtsi
>> +++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi
>> @@ -27,6 +27,7 @@
>>   		pinctrl6 = &pinctrl_fsys0;
>>   		pinctrl7 = &pinctrl_fsys1;
>>   		pinctrl8 = &pinctrl_bus1;
>> +		tmuctrl0 = &tmuctrl_0;
>
> Why the alias is needed?
>
This is kept to add mutli-instance support of tmu, later ISP and G3D 
will get added.
>>   	};
>>
>>   	cpus {
>> @@ -538,6 +539,25 @@
>>   			clocks = <&clock_peric0 PCLK_PWM>;
>>   			clock-names = "timers";
>>   		};
>> +
>> +		tmuctrl_0: tmu@10060000 {
>> +			compatible = "samsung,exynos7-tmu";
>> +			reg = <0x10060000 0x200>;
>> +			interrupts = <0 108 0>;
>> +			clocks = <&clock_peris PCLK_TMU>,
>> +				 <&clock_peris SCLK_TMU>;
>> +			clock-names = "tmu_apbif", "tmu_sclk";
>> +			#include "exynos7-tmu-sensor-conf.dtsi"
>> +		};
>> +
>> +		thermal-zones {
>> +			atlas_thermal: atlas-thermal {
>
> The atlas is a Exynos7 specific codename. The name of node should be a
> general class of the device, so maybe:
> 	atlas_thermal: cluster0-thermal
> ?
>
sounds good to me..will add.

> Best regards,
> Krzysztof
>
diff mbox

Patch

diff --git a/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi b/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
new file mode 100644
index 0000000..1d6dcf2
--- /dev/null
+++ b/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
@@ -0,0 +1,25 @@ 
+/*
+ * Device tree sources for Exynos7 TMU sensor configuration
+ *
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ *		http://www.samsung.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+#include <dt-bindings/thermal/thermal_exynos.h>
+
+#thermal-sensor-cells = <0>;
+samsung,tmu_gain = <9>;
+samsung,tmu_reference_voltage = <17>;
+samsung,tmu_noise_cancel_mode = <4>;
+samsung,tmu_efuse_value = <75>;
+samsung,tmu_min_efuse_value = <15>;
+samsung,tmu_max_efuse_value = <100>;
+samsung,tmu_first_point_trim = <25>;
+samsung,tmu_second_point_trim = <85>;
+samsung,tmu_default_temp_offset = <50>;
+samsung,tmu_cal_type = <TYPE_ONE_POINT_TRIMMING>;
diff --git a/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi b/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
new file mode 100644
index 0000000..3970545
--- /dev/null
+++ b/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
@@ -0,0 +1,55 @@ 
+/*
+ * Device tree sources for default Exynos7 thermal zone definition
+ *
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ *		http://www.samsung.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+trips {
+	cpu-alert-0 {
+		temperature = <75000>; /* millicelsius */
+		hysteresis = <10000>; /* millicelsius */
+		type = "passive";
+	};
+	cpu-alert-1 {
+		temperature = <80000>; /* millicelsius */
+		hysteresis = <10000>; /* millicelsius */
+		type = "passive";
+	};
+	cpu-alert-2 {
+		temperature = <85000>; /* millicelsius */
+		hysteresis = <10000>; /* millicelsius */
+		type = "passive";
+	};
+	cpu-alert-3 {
+		temperature = <90000>; /* millicelsius */
+		hysteresis = <10000>; /* millicelsius */
+		type = "passive";
+	};
+	cpu-alert-4 {
+		temperature = <95000>; /* millicelsius */
+		hysteresis = <10000>; /* millicelsius */
+		type = "passive";
+	};
+	cpu-alert-5 {
+		temperature = <100000>; /* millicelsius */
+		hysteresis = <10000>; /* millicelsius */
+		type = "passive";
+	};
+	cpu-alert-6 {
+		temperature = <110000>; /* millicelsius */
+		hysteresis = <10000>; /* millicelsius */
+		type = "passive";
+	};
+	/* HW Trip point */
+	cpu-crit-0 {
+		temperature = <115000>; /* millicelsius */
+		hysteresis = <0>; /* millicelsius */
+		type = "critical";
+	};
+};
diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi b/arch/arm64/boot/dts/exynos/exynos7.dtsi
index c662f98..fc9d130 100644
--- a/arch/arm64/boot/dts/exynos/exynos7.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi
@@ -27,6 +27,7 @@ 
 		pinctrl6 = &pinctrl_fsys0;
 		pinctrl7 = &pinctrl_fsys1;
 		pinctrl8 = &pinctrl_bus1;
+		tmuctrl0 = &tmuctrl_0;
 	};
 
 	cpus {
@@ -538,6 +539,25 @@ 
 			clocks = <&clock_peric0 PCLK_PWM>;
 			clock-names = "timers";
 		};
+
+		tmuctrl_0: tmu@10060000 {
+			compatible = "samsung,exynos7-tmu";
+			reg = <0x10060000 0x200>;
+			interrupts = <0 108 0>;
+			clocks = <&clock_peris PCLK_TMU>,
+				 <&clock_peris SCLK_TMU>;
+			clock-names = "tmu_apbif", "tmu_sclk";
+			#include "exynos7-tmu-sensor-conf.dtsi"
+		};
+
+		thermal-zones {
+			atlas_thermal: atlas-thermal {
+				polling-delay-passive = <0>; /* milliseconds */
+				polling-delay = <0>; /* milliseconds */
+				thermal-sensors = <&tmuctrl_0>;
+				#include "exynos7-trip-points.dtsi"
+			};
+		};
 	};
 };