Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: Adding CPU cooling binding for Exynos SoCs

Presented patch aims to move data necessary for correct CPU cooling device
configuration from exynos_tmu_data.c to device tree.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>

authored by

Lukasz Majewski and committed by
Kukjin Kim
bf4a0bed 233e274a

+76 -4
+15
arch/arm/boot/dts/exynos4210-trats.dts
··· 430 430 status = "okay"; 431 431 }; 432 432 433 + thermal-zones { 434 + cpu_thermal: cpu-thermal { 435 + cooling-maps { 436 + map0 { 437 + /* Corresponds to 800MHz at freq_table */ 438 + cooling-device = <&cpu0 2 2>; 439 + }; 440 + map1 { 441 + /* Corresponds to 200MHz at freq_table */ 442 + cooling-device = <&cpu0 4 4>; 443 + }; 444 + }; 445 + }; 446 + }; 447 + 433 448 camera { 434 449 pinctrl-names = "default"; 435 450 pinctrl-0 = <>;
+4 -1
arch/arm/boot/dts/exynos4210.dtsi
··· 35 35 #address-cells = <1>; 36 36 #size-cells = <0>; 37 37 38 - cpu@900 { 38 + cpu0: cpu@900 { 39 39 device_type = "cpu"; 40 40 compatible = "arm,cortex-a9"; 41 41 reg = <0x900>; 42 + cooling-min-level = <4>; 43 + cooling-max-level = <2>; 44 + #cooling-cells = <2>; /* min followed by max */ 42 45 }; 43 46 44 47 cpu@901 {
+4 -1
arch/arm/boot/dts/exynos4212.dtsi
··· 26 26 #address-cells = <1>; 27 27 #size-cells = <0>; 28 28 29 - cpu@A00 { 29 + cpu0: cpu@A00 { 30 30 device_type = "cpu"; 31 31 compatible = "arm,cortex-a9"; 32 32 reg = <0xA00>; 33 + cooling-min-level = <13>; 34 + cooling-max-level = <7>; 35 + #cooling-cells = <2>; /* min followed by max */ 33 36 }; 34 37 35 38 cpu@A01 {
+15
arch/arm/boot/dts/exynos4412-odroid-common.dtsi
··· 423 423 vtmu-supply = <&ldo10_reg>; 424 424 status = "okay"; 425 425 }; 426 + 427 + thermal-zones { 428 + cpu_thermal: cpu-thermal { 429 + cooling-maps { 430 + map0 { 431 + /* Corresponds to 800MHz at freq_table */ 432 + cooling-device = <&cpu0 7 7>; 433 + }; 434 + map1 { 435 + /* Corresponds to 200MHz at freq_table */ 436 + cooling-device = <&cpu0 13 13>; 437 + }; 438 + }; 439 + }; 440 + }; 426 441 }; 427 442 428 443 &pinctrl_1 {
+15
arch/arm/boot/dts/exynos4412-trats2.dts
··· 927 927 pulldown-ohm = <100000>; /* 100K */ 928 928 io-channels = <&adc 2>; /* Battery temperature */ 929 929 }; 930 + 931 + thermal-zones { 932 + cpu_thermal: cpu-thermal { 933 + cooling-maps { 934 + map0 { 935 + /* Corresponds to 800MHz at freq_table */ 936 + cooling-device = <&cpu0 7 7>; 937 + }; 938 + map1 { 939 + /* Corresponds to 200MHz at freq_table */ 940 + cooling-device = <&cpu0 13 13>; 941 + }; 942 + }; 943 + }; 944 + }; 930 945 }; 931 946 932 947 &pmu_system_controller {
+4 -1
arch/arm/boot/dts/exynos4412.dtsi
··· 26 26 #address-cells = <1>; 27 27 #size-cells = <0>; 28 28 29 - cpu@A00 { 29 + cpu0: cpu@A00 { 30 30 device_type = "cpu"; 31 31 compatible = "arm,cortex-a9"; 32 32 reg = <0xA00>; 33 + cooling-min-level = <13>; 34 + cooling-max-level = <7>; 35 + #cooling-cells = <2>; /* min followed by max */ 33 36 }; 34 37 35 38 cpu@A01 {
+19 -1
arch/arm/boot/dts/exynos5250.dtsi
··· 58 58 #address-cells = <1>; 59 59 #size-cells = <0>; 60 60 61 - cpu@0 { 61 + cpu0: cpu@0 { 62 62 device_type = "cpu"; 63 63 compatible = "arm,cortex-a15"; 64 64 reg = <0>; 65 65 clock-frequency = <1700000000>; 66 + cooling-min-level = <15>; 67 + cooling-max-level = <9>; 68 + #cooling-cells = <2>; /* min followed by max */ 66 69 }; 67 70 cpu@1 { 68 71 device_type = "cpu"; ··· 244 241 interrupts = <0 65 0>; 245 242 clocks = <&clock CLK_TMU>; 246 243 clock-names = "tmu_apbif"; 244 + }; 245 + 246 + thermal-zones { 247 + cpu_thermal: cpu-thermal { 248 + cooling-maps { 249 + map0 { 250 + /* Corresponds to 800MHz at freq_table */ 251 + cooling-device = <&cpu0 9 9>; 252 + }; 253 + map1 { 254 + /* Corresponds to 200MHz at freq_table */ 255 + cooling-device = <&cpu0 15 15>; 256 + }; 257 + }; 258 + }; 247 259 }; 248 260 249 261 serial@12C00000 {