[PATCH] ARM: dts: Add CPU cooling binding for Exynos3250-based Rinato/Monk board
Krzysztof Kozlowski
k.kozlowski at samsung.com
Thu Jul 2 00:17:16 PDT 2015
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 at kernel.org>
>>> Cc: Krzysztof Kozlowski <k.kozlowski at samsung.com>
>>> Signed-off-by: Chanwoo Choi <cw00.choi at samsung.com>
>>> Acked-by: Kyungmin Park <kyungmin.park at 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 at samsung.com>
Best regards,
Krzysztof
More information about the linux-arm-kernel
mailing list