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@xxxxxxxxxx> >>> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> >>> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> >>> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> >>> --- >>> 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@xxxxxxxxxxx> Best regards, Krzysztof -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html