diff mbox

ARM: dts: Add CPU cooling binding for Exynos3250-based Rinato/Monk board

Message ID 1435815465-501-1-git-send-email-cw00.choi@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Chanwoo Choi July 2, 2015, 5:37 a.m. UTC
This patch add the cooling device to control the overheating issue on
Exynos3250-based Rinato/Monk board.

Cc: Kukjin Kim <kgene@kernel.org>
Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
---
Depends on:
This patch needs the cpufreq support of Exynos3250 SoC. So, this patch has the
dependency on patch[1] which support the generic cpufreq for Exynos3250 SoC.
[1] https://lkml.org/lkml/2015/7/1/696
    : [PATCH v6 0/3] cpufreq: Use cpufreq-dt driver for Exynos3250

 arch/arm/boot/dts/exynos3250-monk.dts   | 15 +++++++++++++++
 arch/arm/boot/dts/exynos3250-rinato.dts | 15 +++++++++++++++
 arch/arm/boot/dts/exynos3250.dtsi       |  1 +
 3 files changed, 31 insertions(+)

Comments

Krzysztof Kozlowski July 2, 2015, 5:54 a.m. UTC | #1
On 02.07.2015 14:37, Chanwoo Choi wrote:
> This patch add the cooling device to control the overheating issue on
> Exynos3250-based Rinato/Monk board.
> 
> Cc: Kukjin Kim <kgene@kernel.org>
> Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> Depends on:
> This patch needs the cpufreq support of Exynos3250 SoC. So, this patch has the
> dependency on patch[1] which support the generic cpufreq for Exynos3250 SoC.
> [1] https://lkml.org/lkml/2015/7/1/696
>     : [PATCH v6 0/3] cpufreq: Use cpufreq-dt driver for Exynos3250
> 
>  arch/arm/boot/dts/exynos3250-monk.dts   | 15 +++++++++++++++
>  arch/arm/boot/dts/exynos3250-rinato.dts | 15 +++++++++++++++
>  arch/arm/boot/dts/exynos3250.dtsi       |  1 +
>  3 files changed, 31 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
> index 7863265d4868..540a0adf2be6 100644
> --- a/arch/arm/boot/dts/exynos3250-monk.dts
> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
> @@ -116,6 +116,21 @@
>  		min-microvolt = <1100000>;
>  		max-microvolt = <2700000>;
>  	};
> +
> +	thermal-zones {
> +		cpu_thermal: cpu-thermal {
> +			cooling-maps {
> +				map0 {
> +					/* Correspond to 500MHz at freq_table */
> +					cooling-device = <&cpu0 5 5>;
> +				};
> +				map1 {
> +					/* Correspond to 200MHz at freq_table */
> +					cooling-device = <&cpu0 8 8>;
> +				};
> +			};
> +		};
> +	};
>  };
>  
>  &adc {
> diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
> index ddd7ac283045..0e62a6435e07 100644
> --- a/arch/arm/boot/dts/exynos3250-rinato.dts
> +++ b/arch/arm/boot/dts/exynos3250-rinato.dts
> @@ -107,6 +107,21 @@
>  		min-microvolt = <1100000>;
>  		max-microvolt = <2700000>;
>  	};
> +
> +	thermal-zones {
> +		cpu_thermal: cpu-thermal {
> +			cooling-maps {
> +				map0 {
> +					/* Corresponds to 500MHz */
> +					cooling-device = <&cpu0 5 5>;
> +				};
> +				map1 {
> +					/* Corresponds to 200MHz */
> +					cooling-device = <&cpu0 8 8>;
> +				};
> +			};
> +		};
> +	};
>  };
>  
>  &adc {
> diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
> index e0f3b2ed41a3..a4931b660ddb 100644
> --- a/arch/arm/boot/dts/exynos3250.dtsi
> +++ b/arch/arm/boot/dts/exynos3250.dtsi
> @@ -55,6 +55,7 @@
>  			clock-frequency = <1000000000>;
>  			clocks = <&cmu CLK_ARM_CLK>;
>  			clock-names = "cpu";
> +			#cooling-cells = <2>;
>  

Don't you need also cooling-{min,max}-state properties?

Best regards,
Krzysztof

>  			operating-points = <
>  				1000000 1150000
>
Chanwoo Choi July 2, 2015, 6:11 a.m. UTC | #2
On 07/02/2015 02:54 PM, Krzysztof Kozlowski wrote:
> On 02.07.2015 14:37, Chanwoo Choi wrote:
>> This patch add the cooling device to control the overheating issue on
>> Exynos3250-based Rinato/Monk board.
>>
>> Cc: Kukjin Kim <kgene@kernel.org>
>> Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
>> ---
>> Depends on:
>> This patch needs the cpufreq support of Exynos3250 SoC. So, this patch has the
>> dependency on patch[1] which support the generic cpufreq for Exynos3250 SoC.
>> [1] https://lkml.org/lkml/2015/7/1/696
>>     : [PATCH v6 0/3] cpufreq: Use cpufreq-dt driver for Exynos3250
>>
>>  arch/arm/boot/dts/exynos3250-monk.dts   | 15 +++++++++++++++
>>  arch/arm/boot/dts/exynos3250-rinato.dts | 15 +++++++++++++++
>>  arch/arm/boot/dts/exynos3250.dtsi       |  1 +
>>  3 files changed, 31 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
>> index 7863265d4868..540a0adf2be6 100644
>> --- a/arch/arm/boot/dts/exynos3250-monk.dts
>> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
>> @@ -116,6 +116,21 @@
>>  		min-microvolt = <1100000>;
>>  		max-microvolt = <2700000>;
>>  	};
>> +
>> +	thermal-zones {
>> +		cpu_thermal: cpu-thermal {
>> +			cooling-maps {
>> +				map0 {
>> +					/* Correspond to 500MHz at freq_table */
>> +					cooling-device = <&cpu0 5 5>;
>> +				};
>> +				map1 {
>> +					/* Correspond to 200MHz at freq_table */
>> +					cooling-device = <&cpu0 8 8>;
>> +				};
>> +			};
>> +		};
>> +	};
>>  };
>>  
>>  &adc {
>> diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
>> index ddd7ac283045..0e62a6435e07 100644
>> --- a/arch/arm/boot/dts/exynos3250-rinato.dts
>> +++ b/arch/arm/boot/dts/exynos3250-rinato.dts
>> @@ -107,6 +107,21 @@
>>  		min-microvolt = <1100000>;
>>  		max-microvolt = <2700000>;
>>  	};
>> +
>> +	thermal-zones {
>> +		cpu_thermal: cpu-thermal {
>> +			cooling-maps {
>> +				map0 {
>> +					/* Corresponds to 500MHz */
>> +					cooling-device = <&cpu0 5 5>;
>> +				};
>> +				map1 {
>> +					/* Corresponds to 200MHz */
>> +					cooling-device = <&cpu0 8 8>;
>> +				};
>> +			};
>> +		};
>> +	};
>>  };
>>  
>>  &adc {
>> diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
>> index e0f3b2ed41a3..a4931b660ddb 100644
>> --- a/arch/arm/boot/dts/exynos3250.dtsi
>> +++ b/arch/arm/boot/dts/exynos3250.dtsi
>> @@ -55,6 +55,7 @@
>>  			clock-frequency = <1000000000>;
>>  			clocks = <&cmu CLK_ARM_CLK>;
>>  			clock-names = "cpu";
>> +			#cooling-cells = <2>;
>>  
> 
> Don't you need also cooling-{min,max}-state properties?

Yes, it is well working without cooling-{min,max}-state or cooling-{min,max}-level.

I look for the some code to parse "cooling-{min,max}-state or cooling-{min,max}-level"
in drivers/thermal/*. But, there are no any code to parse it.

But, Documentation/devicetree/bindings/thermal/thermal.txt contains just the 'cooling-{min,max}-state.

I think that there are mismatch between document and thermal core driver.

Thanks,
Chanwoo Choi
Krzysztof Kozlowski July 2, 2015, 7:17 a.m. UTC | #3
On 02.07.2015 15:11, Chanwoo Choi wrote:
> On 07/02/2015 02:54 PM, Krzysztof Kozlowski wrote:
>> On 02.07.2015 14:37, Chanwoo Choi wrote:
>>> This patch add the cooling device to control the overheating issue on
>>> Exynos3250-based Rinato/Monk board.
>>>
>>> Cc: Kukjin Kim <kgene@kernel.org>
>>> Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>>> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
>>> ---
>>> Depends on:
>>> This patch needs the cpufreq support of Exynos3250 SoC. So, this patch has the
>>> dependency on patch[1] which support the generic cpufreq for Exynos3250 SoC.
>>> [1] https://lkml.org/lkml/2015/7/1/696
>>>     : [PATCH v6 0/3] cpufreq: Use cpufreq-dt driver for Exynos3250
>>>
>>>  arch/arm/boot/dts/exynos3250-monk.dts   | 15 +++++++++++++++
>>>  arch/arm/boot/dts/exynos3250-rinato.dts | 15 +++++++++++++++
>>>  arch/arm/boot/dts/exynos3250.dtsi       |  1 +
>>>  3 files changed, 31 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
>>> index 7863265d4868..540a0adf2be6 100644
>>> --- a/arch/arm/boot/dts/exynos3250-monk.dts
>>> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
>>> @@ -116,6 +116,21 @@
>>>  		min-microvolt = <1100000>;
>>>  		max-microvolt = <2700000>;
>>>  	};
>>> +
>>> +	thermal-zones {
>>> +		cpu_thermal: cpu-thermal {
>>> +			cooling-maps {
>>> +				map0 {
>>> +					/* Correspond to 500MHz at freq_table */
>>> +					cooling-device = <&cpu0 5 5>;
>>> +				};
>>> +				map1 {
>>> +					/* Correspond to 200MHz at freq_table */
>>> +					cooling-device = <&cpu0 8 8>;
>>> +				};
>>> +			};
>>> +		};
>>> +	};
>>>  };
>>>  
>>>  &adc {
>>> diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
>>> index ddd7ac283045..0e62a6435e07 100644
>>> --- a/arch/arm/boot/dts/exynos3250-rinato.dts
>>> +++ b/arch/arm/boot/dts/exynos3250-rinato.dts
>>> @@ -107,6 +107,21 @@
>>>  		min-microvolt = <1100000>;
>>>  		max-microvolt = <2700000>;
>>>  	};
>>> +
>>> +	thermal-zones {
>>> +		cpu_thermal: cpu-thermal {
>>> +			cooling-maps {
>>> +				map0 {
>>> +					/* Corresponds to 500MHz */
>>> +					cooling-device = <&cpu0 5 5>;
>>> +				};
>>> +				map1 {
>>> +					/* Corresponds to 200MHz */
>>> +					cooling-device = <&cpu0 8 8>;
>>> +				};
>>> +			};
>>> +		};
>>> +	};
>>>  };
>>>  
>>>  &adc {
>>> diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
>>> index e0f3b2ed41a3..a4931b660ddb 100644
>>> --- a/arch/arm/boot/dts/exynos3250.dtsi
>>> +++ b/arch/arm/boot/dts/exynos3250.dtsi
>>> @@ -55,6 +55,7 @@
>>>  			clock-frequency = <1000000000>;
>>>  			clocks = <&cmu CLK_ARM_CLK>;
>>>  			clock-names = "cpu";
>>> +			#cooling-cells = <2>;
>>>  
>>
>> Don't you need also cooling-{min,max}-state properties?
> 
> Yes, it is well working without cooling-{min,max}-state or cooling-{min,max}-level.
> 
> I look for the some code to parse "cooling-{min,max}-state or cooling-{min,max}-level"
> in drivers/thermal/*. But, there are no any code to parse it.
> 
> But, Documentation/devicetree/bindings/thermal/thermal.txt contains just the 'cooling-{min,max}-state.
> 
> I think that there are mismatch between document and thermal core driver.

Thanks for explanation, looks good.
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

Best regards,
Krzysztof
Krzysztof Kozlowski July 6, 2015, 1:08 a.m. UTC | #4
2015-07-02 16:17 GMT+09:00 Krzysztof Kozlowski <k.kozlowski@samsung.com>:
> On 02.07.2015 15:11, Chanwoo Choi wrote:
>> On 07/02/2015 02:54 PM, Krzysztof Kozlowski wrote:
>>> On 02.07.2015 14:37, Chanwoo Choi wrote:
>>>> This patch add the cooling device to control the overheating issue on
>>>> Exynos3250-based Rinato/Monk board.
>>>>
>>>> Cc: Kukjin Kim <kgene@kernel.org>
>>>> Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>>>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>>>> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
>>>> ---
>>>> Depends on:
>>>> This patch needs the cpufreq support of Exynos3250 SoC. So, this patch has the
>>>> dependency on patch[1] which support the generic cpufreq for Exynos3250 SoC.
>>>> [1] https://lkml.org/lkml/2015/7/1/696
>>>>     : [PATCH v6 0/3] cpufreq: Use cpufreq-dt driver for Exynos3250
>>>>
>>>>  arch/arm/boot/dts/exynos3250-monk.dts   | 15 +++++++++++++++
>>>>  arch/arm/boot/dts/exynos3250-rinato.dts | 15 +++++++++++++++
>>>>  arch/arm/boot/dts/exynos3250.dtsi       |  1 +
>>>>  3 files changed, 31 insertions(+)
>>>>
>>>> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
>>>> index 7863265d4868..540a0adf2be6 100644
>>>> --- a/arch/arm/boot/dts/exynos3250-monk.dts
>>>> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
>>>> @@ -116,6 +116,21 @@
>>>>             min-microvolt = <1100000>;
>>>>             max-microvolt = <2700000>;
>>>>     };
>>>> +
>>>> +   thermal-zones {
>>>> +           cpu_thermal: cpu-thermal {
>>>> +                   cooling-maps {
>>>> +                           map0 {
>>>> +                                   /* Correspond to 500MHz at freq_table */
>>>> +                                   cooling-device = <&cpu0 5 5>;
>>>> +                           };
>>>> +                           map1 {
>>>> +                                   /* Correspond to 200MHz at freq_table */
>>>> +                                   cooling-device = <&cpu0 8 8>;
>>>> +                           };
>>>> +                   };
>>>> +           };
>>>> +   };
>>>>  };
>>>>
>>>>  &adc {
>>>> diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
>>>> index ddd7ac283045..0e62a6435e07 100644
>>>> --- a/arch/arm/boot/dts/exynos3250-rinato.dts
>>>> +++ b/arch/arm/boot/dts/exynos3250-rinato.dts
>>>> @@ -107,6 +107,21 @@
>>>>             min-microvolt = <1100000>;
>>>>             max-microvolt = <2700000>;
>>>>     };
>>>> +
>>>> +   thermal-zones {
>>>> +           cpu_thermal: cpu-thermal {
>>>> +                   cooling-maps {
>>>> +                           map0 {
>>>> +                                   /* Corresponds to 500MHz */
>>>> +                                   cooling-device = <&cpu0 5 5>;
>>>> +                           };
>>>> +                           map1 {
>>>> +                                   /* Corresponds to 200MHz */
>>>> +                                   cooling-device = <&cpu0 8 8>;
>>>> +                           };
>>>> +                   };
>>>> +           };
>>>> +   };
>>>>  };
>>>>
>>>>  &adc {
>>>> diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
>>>> index e0f3b2ed41a3..a4931b660ddb 100644
>>>> --- a/arch/arm/boot/dts/exynos3250.dtsi
>>>> +++ b/arch/arm/boot/dts/exynos3250.dtsi
>>>> @@ -55,6 +55,7 @@
>>>>                     clock-frequency = <1000000000>;
>>>>                     clocks = <&cmu CLK_ARM_CLK>;
>>>>                     clock-names = "cpu";
>>>> +                   #cooling-cells = <2>;
>>>>
>>>
>>> Don't you need also cooling-{min,max}-state properties?
>>
>> Yes, it is well working without cooling-{min,max}-state or cooling-{min,max}-level.
>>
>> I look for the some code to parse "cooling-{min,max}-state or cooling-{min,max}-level"
>> in drivers/thermal/*. But, there are no any code to parse it.
>>
>> But, Documentation/devicetree/bindings/thermal/thermal.txt contains just the 'cooling-{min,max}-state.
>>
>> I think that there are mismatch between document and thermal core driver.
>
> Thanks for explanation, looks good.
> Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>
> Best regards,
> Krzysztof

Dear Kukjin,

Recent four patchsets (4210 CPU OPP in DTS, cpufreq-dt 5250,
cpufreq-dt 3250, this patch) are actually an one continuous chain.
Dependencies are already in mainline. Are you gonna to pick up
everything?

Best regards,
Krzysztof
kgene@kernel.org July 7, 2015, 2:40 p.m. UTC | #5
Krzysztof Kozlowski wrote:
> 
> 2015-07-02 16:17 GMT+09:00 Krzysztof Kozlowski <k.kozlowski@samsung.com>:
> > On 02.07.2015 15:11, Chanwoo Choi wrote:
> >> On 07/02/2015 02:54 PM, Krzysztof Kozlowski wrote:
> >>> On 02.07.2015 14:37, Chanwoo Choi wrote:
> >>>> This patch add the cooling device to control the overheating issue on
> >>>> Exynos3250-based Rinato/Monk board.
> >>>>
> >>>> Cc: Kukjin Kim <kgene@kernel.org>
> >>>> Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> >>>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> >>>> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
> >>>> ---
> >>>> Depends on:
> >>>> This patch needs the cpufreq support of Exynos3250 SoC. So, this patch has the
> >>>> dependency on patch[1] which support the generic cpufreq for Exynos3250 SoC.
> >>>> [1] https://lkml.org/lkml/2015/7/1/696
> >>>>     : [PATCH v6 0/3] cpufreq: Use cpufreq-dt driver for Exynos3250
> >>>>
> >>>>  arch/arm/boot/dts/exynos3250-monk.dts   | 15 +++++++++++++++
> >>>>  arch/arm/boot/dts/exynos3250-rinato.dts | 15 +++++++++++++++
> >>>>  arch/arm/boot/dts/exynos3250.dtsi       |  1 +
> >>>>  3 files changed, 31 insertions(+)
> >>>>
> >>>> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
> >>>> index 7863265d4868..540a0adf2be6 100644
> >>>> --- a/arch/arm/boot/dts/exynos3250-monk.dts
> >>>> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
> >>>> @@ -116,6 +116,21 @@
> >>>>             min-microvolt = <1100000>;
> >>>>             max-microvolt = <2700000>;
> >>>>     };
> >>>> +
> >>>> +   thermal-zones {
> >>>> +           cpu_thermal: cpu-thermal {
> >>>> +                   cooling-maps {
> >>>> +                           map0 {
> >>>> +                                   /* Correspond to 500MHz at freq_table */
> >>>> +                                   cooling-device = <&cpu0 5 5>;
> >>>> +                           };
> >>>> +                           map1 {
> >>>> +                                   /* Correspond to 200MHz at freq_table */
> >>>> +                                   cooling-device = <&cpu0 8 8>;
> >>>> +                           };
> >>>> +                   };
> >>>> +           };
> >>>> +   };
> >>>>  };
> >>>>
> >>>>  &adc {
> >>>> diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
> >>>> index ddd7ac283045..0e62a6435e07 100644
> >>>> --- a/arch/arm/boot/dts/exynos3250-rinato.dts
> >>>> +++ b/arch/arm/boot/dts/exynos3250-rinato.dts
> >>>> @@ -107,6 +107,21 @@
> >>>>             min-microvolt = <1100000>;
> >>>>             max-microvolt = <2700000>;
> >>>>     };
> >>>> +
> >>>> +   thermal-zones {
> >>>> +           cpu_thermal: cpu-thermal {
> >>>> +                   cooling-maps {
> >>>> +                           map0 {
> >>>> +                                   /* Corresponds to 500MHz */
> >>>> +                                   cooling-device = <&cpu0 5 5>;
> >>>> +                           };
> >>>> +                           map1 {
> >>>> +                                   /* Corresponds to 200MHz */
> >>>> +                                   cooling-device = <&cpu0 8 8>;
> >>>> +                           };
> >>>> +                   };
> >>>> +           };
> >>>> +   };
> >>>>  };
> >>>>
> >>>>  &adc {
> >>>> diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
> >>>> index e0f3b2ed41a3..a4931b660ddb 100644
> >>>> --- a/arch/arm/boot/dts/exynos3250.dtsi
> >>>> +++ b/arch/arm/boot/dts/exynos3250.dtsi
> >>>> @@ -55,6 +55,7 @@
> >>>>                     clock-frequency = <1000000000>;
> >>>>                     clocks = <&cmu CLK_ARM_CLK>;
> >>>>                     clock-names = "cpu";
> >>>> +                   #cooling-cells = <2>;
> >>>>
> >>>
> >>> Don't you need also cooling-{min,max}-state properties?
> >>
> >> Yes, it is well working without cooling-{min,max}-state or cooling-{min,max}-level.
> >>
> >> I look for the some code to parse "cooling-{min,max}-state or cooling-{min,max}-level"
> >> in drivers/thermal/*. But, there are no any code to parse it.
> >>
> >> But, Documentation/devicetree/bindings/thermal/thermal.txt contains just the 'cooling-{min,max}-
> state.
> >>
> >> I think that there are mismatch between document and thermal core driver.
> >
> > Thanks for explanation, looks good.
> > Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> >
> > Best regards,
> > Krzysztof
> 
> Dear Kukjin,
> 
> Recent four patchsets (4210 CPU OPP in DTS, cpufreq-dt 5250,
> cpufreq-dt 3250, this patch) are actually an one continuous chain.
> Dependencies are already in mainline. Are you gonna to pick up
> everything?
> 
Yes, I want and I will. BTW maybe clk change is required together? If so, as you
know we need to get ack from clk guy. Is my understanding right?

Thanks,
Kukjin
Krzysztof Kozlowski July 8, 2015, 12:19 a.m. UTC | #6
On 07.07.2015 23:40, Kukjin Kim wrote:
> Krzysztof Kozlowski wrote:
>>
>> 2015-07-02 16:17 GMT+09:00 Krzysztof Kozlowski <k.kozlowski@samsung.com>:
>>> On 02.07.2015 15:11, Chanwoo Choi wrote:
>>>> On 07/02/2015 02:54 PM, Krzysztof Kozlowski wrote:
>>>>> On 02.07.2015 14:37, Chanwoo Choi wrote:
>>>>>> This patch add the cooling device to control the overheating issue on
>>>>>> Exynos3250-based Rinato/Monk board.
>>>>>>
>>>>>> Cc: Kukjin Kim <kgene@kernel.org>
>>>>>> Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>>>>>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>>>>>> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
>>>>>> ---
>>>>>> Depends on:
>>>>>> This patch needs the cpufreq support of Exynos3250 SoC. So, this patch has the
>>>>>> dependency on patch[1] which support the generic cpufreq for Exynos3250 SoC.
>>>>>> [1] https://lkml.org/lkml/2015/7/1/696
>>>>>>     : [PATCH v6 0/3] cpufreq: Use cpufreq-dt driver for Exynos3250
>>>>>>
>>>>>>  arch/arm/boot/dts/exynos3250-monk.dts   | 15 +++++++++++++++
>>>>>>  arch/arm/boot/dts/exynos3250-rinato.dts | 15 +++++++++++++++
>>>>>>  arch/arm/boot/dts/exynos3250.dtsi       |  1 +
>>>>>>  3 files changed, 31 insertions(+)
>>>>>>
>>>>>> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
>>>>>> index 7863265d4868..540a0adf2be6 100644
>>>>>> --- a/arch/arm/boot/dts/exynos3250-monk.dts
>>>>>> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
>>>>>> @@ -116,6 +116,21 @@
>>>>>>             min-microvolt = <1100000>;
>>>>>>             max-microvolt = <2700000>;
>>>>>>     };
>>>>>> +
>>>>>> +   thermal-zones {
>>>>>> +           cpu_thermal: cpu-thermal {
>>>>>> +                   cooling-maps {
>>>>>> +                           map0 {
>>>>>> +                                   /* Correspond to 500MHz at freq_table */
>>>>>> +                                   cooling-device = <&cpu0 5 5>;
>>>>>> +                           };
>>>>>> +                           map1 {
>>>>>> +                                   /* Correspond to 200MHz at freq_table */
>>>>>> +                                   cooling-device = <&cpu0 8 8>;
>>>>>> +                           };
>>>>>> +                   };
>>>>>> +           };
>>>>>> +   };
>>>>>>  };
>>>>>>
>>>>>>  &adc {
>>>>>> diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
>>>>>> index ddd7ac283045..0e62a6435e07 100644
>>>>>> --- a/arch/arm/boot/dts/exynos3250-rinato.dts
>>>>>> +++ b/arch/arm/boot/dts/exynos3250-rinato.dts
>>>>>> @@ -107,6 +107,21 @@
>>>>>>             min-microvolt = <1100000>;
>>>>>>             max-microvolt = <2700000>;
>>>>>>     };
>>>>>> +
>>>>>> +   thermal-zones {
>>>>>> +           cpu_thermal: cpu-thermal {
>>>>>> +                   cooling-maps {
>>>>>> +                           map0 {
>>>>>> +                                   /* Corresponds to 500MHz */
>>>>>> +                                   cooling-device = <&cpu0 5 5>;
>>>>>> +                           };
>>>>>> +                           map1 {
>>>>>> +                                   /* Corresponds to 200MHz */
>>>>>> +                                   cooling-device = <&cpu0 8 8>;
>>>>>> +                           };
>>>>>> +                   };
>>>>>> +           };
>>>>>> +   };
>>>>>>  };
>>>>>>
>>>>>>  &adc {
>>>>>> diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
>>>>>> index e0f3b2ed41a3..a4931b660ddb 100644
>>>>>> --- a/arch/arm/boot/dts/exynos3250.dtsi
>>>>>> +++ b/arch/arm/boot/dts/exynos3250.dtsi
>>>>>> @@ -55,6 +55,7 @@
>>>>>>                     clock-frequency = <1000000000>;
>>>>>>                     clocks = <&cmu CLK_ARM_CLK>;
>>>>>>                     clock-names = "cpu";
>>>>>> +                   #cooling-cells = <2>;
>>>>>>
>>>>>
>>>>> Don't you need also cooling-{min,max}-state properties?
>>>>
>>>> Yes, it is well working without cooling-{min,max}-state or cooling-{min,max}-level.
>>>>
>>>> I look for the some code to parse "cooling-{min,max}-state or cooling-{min,max}-level"
>>>> in drivers/thermal/*. But, there are no any code to parse it.
>>>>
>>>> But, Documentation/devicetree/bindings/thermal/thermal.txt contains just the 'cooling-{min,max}-
>> state.
>>>>
>>>> I think that there are mismatch between document and thermal core driver.
>>>
>>> Thanks for explanation, looks good.
>>> Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>>>
>>> Best regards,
>>> Krzysztof
>>
>> Dear Kukjin,
>>
>> Recent four patchsets (4210 CPU OPP in DTS, cpufreq-dt 5250,
>> cpufreq-dt 3250, this patch) are actually an one continuous chain.
>> Dependencies are already in mainline. Are you gonna to pick up
>> everything?
>>
> Yes, I want and I will. BTW maybe clk change is required together? If so, as you
> know we need to get ack from clk guy. Is my understanding right?

Right. I think the samsung clock and cpufreq patches still need acks.

Best regards,
Krzysztof
Chanwoo Choi July 29, 2015, 6:35 a.m. UTC | #7
Dear Kukjin,

Please pick this patch because exynos3250-cpufreq patch-set
was already merged on linux-samsung.git.

Thanks,
Chanwoo Choi

On 07/08/2015 09:19 AM, Krzysztof Kozlowski wrote:
> On 07.07.2015 23:40, Kukjin Kim wrote:
>> Krzysztof Kozlowski wrote:
>>>
>>> 2015-07-02 16:17 GMT+09:00 Krzysztof Kozlowski <k.kozlowski@samsung.com>:
>>>> On 02.07.2015 15:11, Chanwoo Choi wrote:
>>>>> On 07/02/2015 02:54 PM, Krzysztof Kozlowski wrote:
>>>>>> On 02.07.2015 14:37, Chanwoo Choi wrote:
>>>>>>> This patch add the cooling device to control the overheating issue on
>>>>>>> Exynos3250-based Rinato/Monk board.
>>>>>>>
>>>>>>> Cc: Kukjin Kim <kgene@kernel.org>
>>>>>>> Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>>>>>>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>>>>>>> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
>>>>>>> ---
>>>>>>> Depends on:
>>>>>>> This patch needs the cpufreq support of Exynos3250 SoC. So, this patch has the
>>>>>>> dependency on patch[1] which support the generic cpufreq for Exynos3250 SoC.
>>>>>>> [1] https://lkml.org/lkml/2015/7/1/696
>>>>>>>     : [PATCH v6 0/3] cpufreq: Use cpufreq-dt driver for Exynos3250
>>>>>>>
>>>>>>>  arch/arm/boot/dts/exynos3250-monk.dts   | 15 +++++++++++++++
>>>>>>>  arch/arm/boot/dts/exynos3250-rinato.dts | 15 +++++++++++++++
>>>>>>>  arch/arm/boot/dts/exynos3250.dtsi       |  1 +
>>>>>>>  3 files changed, 31 insertions(+)
>>>>>>>
>>>>>>> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
>>>>>>> index 7863265d4868..540a0adf2be6 100644
>>>>>>> --- a/arch/arm/boot/dts/exynos3250-monk.dts
>>>>>>> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
>>>>>>> @@ -116,6 +116,21 @@
>>>>>>>             min-microvolt = <1100000>;
>>>>>>>             max-microvolt = <2700000>;
>>>>>>>     };
>>>>>>> +
>>>>>>> +   thermal-zones {
>>>>>>> +           cpu_thermal: cpu-thermal {
>>>>>>> +                   cooling-maps {
>>>>>>> +                           map0 {
>>>>>>> +                                   /* Correspond to 500MHz at freq_table */
>>>>>>> +                                   cooling-device = <&cpu0 5 5>;
>>>>>>> +                           };
>>>>>>> +                           map1 {
>>>>>>> +                                   /* Correspond to 200MHz at freq_table */
>>>>>>> +                                   cooling-device = <&cpu0 8 8>;
>>>>>>> +                           };
>>>>>>> +                   };
>>>>>>> +           };
>>>>>>> +   };
>>>>>>>  };
>>>>>>>
>>>>>>>  &adc {
>>>>>>> diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
>>>>>>> index ddd7ac283045..0e62a6435e07 100644
>>>>>>> --- a/arch/arm/boot/dts/exynos3250-rinato.dts
>>>>>>> +++ b/arch/arm/boot/dts/exynos3250-rinato.dts
>>>>>>> @@ -107,6 +107,21 @@
>>>>>>>             min-microvolt = <1100000>;
>>>>>>>             max-microvolt = <2700000>;
>>>>>>>     };
>>>>>>> +
>>>>>>> +   thermal-zones {
>>>>>>> +           cpu_thermal: cpu-thermal {
>>>>>>> +                   cooling-maps {
>>>>>>> +                           map0 {
>>>>>>> +                                   /* Corresponds to 500MHz */
>>>>>>> +                                   cooling-device = <&cpu0 5 5>;
>>>>>>> +                           };
>>>>>>> +                           map1 {
>>>>>>> +                                   /* Corresponds to 200MHz */
>>>>>>> +                                   cooling-device = <&cpu0 8 8>;
>>>>>>> +                           };
>>>>>>> +                   };
>>>>>>> +           };
>>>>>>> +   };
>>>>>>>  };
>>>>>>>
>>>>>>>  &adc {
>>>>>>> diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
>>>>>>> index e0f3b2ed41a3..a4931b660ddb 100644
>>>>>>> --- a/arch/arm/boot/dts/exynos3250.dtsi
>>>>>>> +++ b/arch/arm/boot/dts/exynos3250.dtsi
>>>>>>> @@ -55,6 +55,7 @@
>>>>>>>                     clock-frequency = <1000000000>;
>>>>>>>                     clocks = <&cmu CLK_ARM_CLK>;
>>>>>>>                     clock-names = "cpu";
>>>>>>> +                   #cooling-cells = <2>;
>>>>>>>
>>>>>>
>>>>>> Don't you need also cooling-{min,max}-state properties?
>>>>>
>>>>> Yes, it is well working without cooling-{min,max}-state or cooling-{min,max}-level.
>>>>>
>>>>> I look for the some code to parse "cooling-{min,max}-state or cooling-{min,max}-level"
>>>>> in drivers/thermal/*. But, there are no any code to parse it.
>>>>>
>>>>> But, Documentation/devicetree/bindings/thermal/thermal.txt contains just the 'cooling-{min,max}-
>>> state.
>>>>>
>>>>> I think that there are mismatch between document and thermal core driver.
>>>>
>>>> Thanks for explanation, looks good.
>>>> Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>>>>
>>>> Best regards,
>>>> Krzysztof
>>>
>>> Dear Kukjin,
>>>
>>> Recent four patchsets (4210 CPU OPP in DTS, cpufreq-dt 5250,
>>> cpufreq-dt 3250, this patch) are actually an one continuous chain.
>>> Dependencies are already in mainline. Are you gonna to pick up
>>> everything?
>>>
>> Yes, I want and I will. BTW maybe clk change is required together? If so, as you
>> know we need to get ack from clk guy. Is my understanding right?
> 
> Right. I think the samsung clock and cpufreq patches still need acks.
> 
> Best regards,
> Krzysztof
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
kgene@kernel.org July 30, 2015, 2:03 p.m. UTC | #8
On 07/29/15 15:35, Chanwoo Choi wrote:
> Dear Kukjin,
> 
> Please pick this patch because exynos3250-cpufreq patch-set
> was already merged on linux-samsung.git.
> 
Applied, thanks.

- Kukjin

> Thanks,
> Chanwoo Choi
> 
> On 07/08/2015 09:19 AM, Krzysztof Kozlowski wrote:
>> On 07.07.2015 23:40, Kukjin Kim wrote:
>>> Krzysztof Kozlowski wrote:
>>>>
>>>> 2015-07-02 16:17 GMT+09:00 Krzysztof Kozlowski <k.kozlowski@samsung.com>:
>>>>> On 02.07.2015 15:11, Chanwoo Choi wrote:
>>>>>> On 07/02/2015 02:54 PM, Krzysztof Kozlowski wrote:
>>>>>>> On 02.07.2015 14:37, Chanwoo Choi wrote:
>>>>>>>> This patch add the cooling device to control the overheating issue on
>>>>>>>> Exynos3250-based Rinato/Monk board.
>>>>>>>>
>>>>>>>> Cc: Kukjin Kim <kgene@kernel.org>
>>>>>>>> Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>>>>>>>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>>>>>>>> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
>>>>>>>> ---
>>>>>>>> Depends on:
>>>>>>>> This patch needs the cpufreq support of Exynos3250 SoC. So, this patch has the
>>>>>>>> dependency on patch[1] which support the generic cpufreq for Exynos3250 SoC.
>>>>>>>> [1] https://lkml.org/lkml/2015/7/1/696
>>>>>>>>     : [PATCH v6 0/3] cpufreq: Use cpufreq-dt driver for Exynos3250
>>>>>>>>
>>>>>>>>  arch/arm/boot/dts/exynos3250-monk.dts   | 15 +++++++++++++++
>>>>>>>>  arch/arm/boot/dts/exynos3250-rinato.dts | 15 +++++++++++++++
>>>>>>>>  arch/arm/boot/dts/exynos3250.dtsi       |  1 +
>>>>>>>>  3 files changed, 31 insertions(+)
>>>>>>>>
>>>>>>>> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
>>>>>>>> index 7863265d4868..540a0adf2be6 100644
>>>>>>>> --- a/arch/arm/boot/dts/exynos3250-monk.dts
>>>>>>>> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
>>>>>>>> @@ -116,6 +116,21 @@
>>>>>>>>             min-microvolt = <1100000>;
>>>>>>>>             max-microvolt = <2700000>;
>>>>>>>>     };
>>>>>>>> +
>>>>>>>> +   thermal-zones {
>>>>>>>> +           cpu_thermal: cpu-thermal {
>>>>>>>> +                   cooling-maps {
>>>>>>>> +                           map0 {
>>>>>>>> +                                   /* Correspond to 500MHz at freq_table */
>>>>>>>> +                                   cooling-device = <&cpu0 5 5>;
>>>>>>>> +                           };
>>>>>>>> +                           map1 {
>>>>>>>> +                                   /* Correspond to 200MHz at freq_table */
>>>>>>>> +                                   cooling-device = <&cpu0 8 8>;
>>>>>>>> +                           };
>>>>>>>> +                   };
>>>>>>>> +           };
>>>>>>>> +   };
>>>>>>>>  };
>>>>>>>>
>>>>>>>>  &adc {
>>>>>>>> diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
>>>>>>>> index ddd7ac283045..0e62a6435e07 100644
>>>>>>>> --- a/arch/arm/boot/dts/exynos3250-rinato.dts
>>>>>>>> +++ b/arch/arm/boot/dts/exynos3250-rinato.dts
>>>>>>>> @@ -107,6 +107,21 @@
>>>>>>>>             min-microvolt = <1100000>;
>>>>>>>>             max-microvolt = <2700000>;
>>>>>>>>     };
>>>>>>>> +
>>>>>>>> +   thermal-zones {
>>>>>>>> +           cpu_thermal: cpu-thermal {
>>>>>>>> +                   cooling-maps {
>>>>>>>> +                           map0 {
>>>>>>>> +                                   /* Corresponds to 500MHz */
>>>>>>>> +                                   cooling-device = <&cpu0 5 5>;
>>>>>>>> +                           };
>>>>>>>> +                           map1 {
>>>>>>>> +                                   /* Corresponds to 200MHz */
>>>>>>>> +                                   cooling-device = <&cpu0 8 8>;
>>>>>>>> +                           };
>>>>>>>> +                   };
>>>>>>>> +           };
>>>>>>>> +   };
>>>>>>>>  };
>>>>>>>>
>>>>>>>>  &adc {
>>>>>>>> diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
>>>>>>>> index e0f3b2ed41a3..a4931b660ddb 100644
>>>>>>>> --- a/arch/arm/boot/dts/exynos3250.dtsi
>>>>>>>> +++ b/arch/arm/boot/dts/exynos3250.dtsi
>>>>>>>> @@ -55,6 +55,7 @@
>>>>>>>>                     clock-frequency = <1000000000>;
>>>>>>>>                     clocks = <&cmu CLK_ARM_CLK>;
>>>>>>>>                     clock-names = "cpu";
>>>>>>>> +                   #cooling-cells = <2>;
>>>>>>>>
>>>>>>>
>>>>>>> Don't you need also cooling-{min,max}-state properties?
>>>>>>
>>>>>> Yes, it is well working without cooling-{min,max}-state or cooling-{min,max}-level.
>>>>>>
>>>>>> I look for the some code to parse "cooling-{min,max}-state or cooling-{min,max}-level"
>>>>>> in drivers/thermal/*. But, there are no any code to parse it.
>>>>>>
>>>>>> But, Documentation/devicetree/bindings/thermal/thermal.txt contains just the 'cooling-{min,max}-
>>>> state.
>>>>>>
>>>>>> I think that there are mismatch between document and thermal core driver.
>>>>>
>>>>> Thanks for explanation, looks good.
>>>>> Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>>>>>
>>>>> Best regards,
>>>>> Krzysztof
>>>>
>>>> Dear Kukjin,
>>>>
>>>> Recent four patchsets (4210 CPU OPP in DTS, cpufreq-dt 5250,
>>>> cpufreq-dt 3250, this patch) are actually an one continuous chain.
>>>> Dependencies are already in mainline. Are you gonna to pick up
>>>> everything?
>>>>
>>> Yes, I want and I will. BTW maybe clk change is required together? If so, as you
>>> know we need to get ack from clk guy. Is my understanding right?
>>
>> Right. I think the samsung clock and cpufreq patches still need acks.
>>
>> Best regards,
>> Krzysztof
diff mbox

Patch

diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
index 7863265d4868..540a0adf2be6 100644
--- a/arch/arm/boot/dts/exynos3250-monk.dts
+++ b/arch/arm/boot/dts/exynos3250-monk.dts
@@ -116,6 +116,21 @@ 
 		min-microvolt = <1100000>;
 		max-microvolt = <2700000>;
 	};
+
+	thermal-zones {
+		cpu_thermal: cpu-thermal {
+			cooling-maps {
+				map0 {
+					/* Correspond to 500MHz at freq_table */
+					cooling-device = <&cpu0 5 5>;
+				};
+				map1 {
+					/* Correspond to 200MHz at freq_table */
+					cooling-device = <&cpu0 8 8>;
+				};
+			};
+		};
+	};
 };
 
 &adc {
diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts
index ddd7ac283045..0e62a6435e07 100644
--- a/arch/arm/boot/dts/exynos3250-rinato.dts
+++ b/arch/arm/boot/dts/exynos3250-rinato.dts
@@ -107,6 +107,21 @@ 
 		min-microvolt = <1100000>;
 		max-microvolt = <2700000>;
 	};
+
+	thermal-zones {
+		cpu_thermal: cpu-thermal {
+			cooling-maps {
+				map0 {
+					/* Corresponds to 500MHz */
+					cooling-device = <&cpu0 5 5>;
+				};
+				map1 {
+					/* Corresponds to 200MHz */
+					cooling-device = <&cpu0 8 8>;
+				};
+			};
+		};
+	};
 };
 
 &adc {
diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
index e0f3b2ed41a3..a4931b660ddb 100644
--- a/arch/arm/boot/dts/exynos3250.dtsi
+++ b/arch/arm/boot/dts/exynos3250.dtsi
@@ -55,6 +55,7 @@ 
 			clock-frequency = <1000000000>;
 			clocks = <&cmu CLK_ARM_CLK>;
 			clock-names = "cpu";
+			#cooling-cells = <2>;
 
 			operating-points = <
 				1000000 1150000