Message ID | 1421242874-3425-14-git-send-email-l.majewski@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Jan 14, 2015 at 02:41:11PM +0100, Lukasz Majewski wrote: > Presented device tree bindings provide data already hardcoded in the > exynos_tmu_data.c file. > After this commit, it should be possible to reuse common thermal core > framework in Exynos SoCs. > > Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> > --- > Changes for v2: > - Add proper TMU entries for exynos3250.dtsi > Changes for v3: > - Remove "type" DT properties, which will be extracted from compatible > - "samsung,tmu_" prefix for TMU specific properties has been added > > --- > arch/arm/boot/dts/exynos3250.dtsi | 2 ++ > arch/arm/boot/dts/exynos4.dtsi | 4 ++++ > arch/arm/boot/dts/exynos4210.dtsi | 21 ++++++++++++++++++++- > arch/arm/boot/dts/exynos4x12.dtsi | 1 + > arch/arm/boot/dts/exynos5250.dtsi | 5 +++-- > arch/arm/boot/dts/exynos5420.dtsi | 28 ++++++++++++++++++++++++++++ > arch/arm/boot/dts/exynos5440.dtsi | 18 ++++++++++++++++++ > 7 files changed, 76 insertions(+), 3 deletions(-) > > diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi > index 2246549..8cc078c 100644 > --- a/arch/arm/boot/dts/exynos3250.dtsi > +++ b/arch/arm/boot/dts/exynos3250.dtsi > @@ -18,6 +18,7 @@ > */ > > #include "skeleton.dtsi" > +#include "exynos4-cpu-thermal.dtsi" > #include <dt-bindings/clock/exynos3250.h> > > / { > @@ -188,6 +189,7 @@ > interrupts = <0 216 0>; > clocks = <&cmu CLK_TMU_APBIF>; > clock-names = "tmu_apbif"; > + #include "exynos4412-tmu-sensor-conf.dtsi" > status = "disabled"; > }; > > diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi > index b8168f1..f18d746 100644 > --- a/arch/arm/boot/dts/exynos4.dtsi > +++ b/arch/arm/boot/dts/exynos4.dtsi > @@ -645,4 +645,8 @@ > samsung,sysreg = <&sys_reg>; > status = "disabled"; > }; > + > + tmu: tmu@100C0000 { > + #include "exynos4412-tmu-sensor-conf.dtsi" > + }; > }; > diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi > index 2e66df8..7f0e012 100644 > --- a/arch/arm/boot/dts/exynos4210.dtsi > +++ b/arch/arm/boot/dts/exynos4210.dtsi > @@ -21,6 +21,7 @@ > > #include "exynos4.dtsi" > #include "exynos4210-pinctrl.dtsi" > +#include "exynos4-cpu-thermal.dtsi" > > / { > compatible = "samsung,exynos4210", "samsung,exynos4"; > @@ -146,16 +147,34 @@ > reg = <0x03860000 0x1000>; > }; > > - tmu@100C0000 { > + tmu: tmu@100C0000 { > compatible = "samsung,exynos4210-tmu"; > interrupt-parent = <&combiner>; > reg = <0x100C0000 0x100>; > interrupts = <2 4>; > clocks = <&clock CLK_TMU_APBIF>; > clock-names = "tmu_apbif"; > + samsung,tmu_gain = <15>; > + samsung,tmu_reference_voltage = <7>; > status = "disabled"; > }; > > + thermal-zones { > + cpu_thermal: cpu-thermal { > + trips { > + cpu_alert0: cpu-alert-0 { > + temperature = <85000>; /* millicelsius */ > + }; > + cpu_alert1: cpu-alert-1 { > + temperature = <100000>; /* millicelsius */ > + }; > + cpu_alert2: cpu-alert-2 { > + temperature = <110000>; /* millicelsius */ > + }; > + }; > + }; > + }; > + > g2d@12800000 { > compatible = "samsung,s5pv210-g2d"; > reg = <0x12800000 0x1000>; > diff --git a/arch/arm/boot/dts/exynos4x12.dtsi b/arch/arm/boot/dts/exynos4x12.dtsi > index 93b7040..3ee2031 100644 > --- a/arch/arm/boot/dts/exynos4x12.dtsi > +++ b/arch/arm/boot/dts/exynos4x12.dtsi > @@ -19,6 +19,7 @@ > > #include "exynos4.dtsi" > #include "exynos4x12-pinctrl.dtsi" > +#include "exynos4-cpu-thermal.dtsi" > > / { > aliases { > diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi > index dd5c3a0..07fd73a 100644 > --- a/arch/arm/boot/dts/exynos5250.dtsi > +++ b/arch/arm/boot/dts/exynos5250.dtsi > @@ -20,7 +20,7 @@ > #include <dt-bindings/clock/exynos5250.h> > #include "exynos5.dtsi" > #include "exynos5250-pinctrl.dtsi" > - > +#include "exynos4-cpu-thermal.dtsi" > #include <dt-bindings/clock/exynos-audss-clk.h> > > / { > @@ -236,12 +236,13 @@ > status = "disabled"; > }; > > - tmu@10060000 { > + tmu: tmu@10060000 { > compatible = "samsung,exynos5250-tmu"; > reg = <0x10060000 0x100>; > interrupts = <0 65 0>; > clocks = <&clock CLK_TMU>; > clock-names = "tmu_apbif"; > + #include "exynos4412-tmu-sensor-conf.dtsi" > }; > > thermal-zones { > diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi > index 517e50f..f5771e5 100644 > --- a/arch/arm/boot/dts/exynos5420.dtsi > +++ b/arch/arm/boot/dts/exynos5420.dtsi > @@ -761,6 +761,7 @@ > interrupts = <0 65 0>; > clocks = <&clock CLK_TMU>; > clock-names = "tmu_apbif"; > + #include "exynos4412-tmu-sensor-conf.dtsi" > }; > > tmu_cpu1: tmu@10064000 { > @@ -769,6 +770,7 @@ > interrupts = <0 183 0>; > clocks = <&clock CLK_TMU>; > clock-names = "tmu_apbif"; > + #include "exynos4412-tmu-sensor-conf.dtsi" > }; > > tmu_cpu2: tmu@10068000 { > @@ -777,6 +779,7 @@ > interrupts = <0 184 0>; > clocks = <&clock CLK_TMU>, <&clock CLK_TMU>; > clock-names = "tmu_apbif", "tmu_triminfo_apbif"; > + #include "exynos4412-tmu-sensor-conf.dtsi" > }; > > tmu_cpu3: tmu@1006c000 { > @@ -785,6 +788,7 @@ > interrupts = <0 185 0>; > clocks = <&clock CLK_TMU>, <&clock CLK_TMU_GPU>; > clock-names = "tmu_apbif", "tmu_triminfo_apbif"; > + #include "exynos4412-tmu-sensor-conf.dtsi" > }; > > tmu_gpu: tmu@100a0000 { > @@ -793,6 +797,30 @@ > interrupts = <0 215 0>; > clocks = <&clock CLK_TMU_GPU>, <&clock CLK_TMU>; > clock-names = "tmu_apbif", "tmu_triminfo_apbif"; > + #include "exynos4412-tmu-sensor-conf.dtsi" > + }; > + > + thermal-zones { > + cpu0_thermal: cpu0-thermal { > + thermal-sensors = <&tmu_cpu0>; > + #include "exynos5420-trip-points.dtsi" > + }; > + cpu1_thermal: cpu1-thermal { > + thermal-sensors = <&tmu_cpu1>; > + #include "exynos5420-trip-points.dtsi" > + }; > + cpu2_thermal: cpu2-thermal { > + thermal-sensors = <&tmu_cpu2>; > + #include "exynos5420-trip-points.dtsi" > + }; > + cpu3_thermal: cpu3-thermal { > + thermal-sensors = <&tmu_cpu3>; > + #include "exynos5420-trip-points.dtsi" > + }; > + gpu_thermal: gpu-thermal { > + thermal-sensors = <&tmu_gpu>; > + #include "exynos5420-trip-points.dtsi" > + }; > }; > > watchdog: watchdog@101D0000 { > diff --git a/arch/arm/boot/dts/exynos5440.dtsi b/arch/arm/boot/dts/exynos5440.dtsi > index 8f3373c..59d9416 100644 > --- a/arch/arm/boot/dts/exynos5440.dtsi > +++ b/arch/arm/boot/dts/exynos5440.dtsi > @@ -219,6 +219,7 @@ > interrupts = <0 58 0>; > clocks = <&clock CLK_B_125>; > clock-names = "tmu_apbif"; > + #include "exynos5440-tmu-sensor-conf.dtsi" > }; > > tmuctrl_1: tmuctrl@16011C { > @@ -227,6 +228,7 @@ > interrupts = <0 58 0>; > clocks = <&clock CLK_B_125>; > clock-names = "tmu_apbif"; > + #include "exynos5440-tmu-sensor-conf.dtsi" > }; > > tmuctrl_2: tmuctrl@160120 { > @@ -235,6 +237,22 @@ > interrupts = <0 58 0>; > clocks = <&clock CLK_B_125>; > clock-names = "tmu_apbif"; > + #include "exynos5440-tmu-sensor-conf.dtsi" > + }; > + > + thermal-zones { > + cpu0_thermal: cpu0-thermal { > + thermal-sensors = <&tmuctrl_0>; > + #include "exynos5440-trip-points.dtsi" > + }; > + cpu1_thermal: cpu1-thermal { > + thermal-sensors = <&tmuctrl_1>; > + #include "exynos5440-trip-points.dtsi" > + }; > + cpu2_thermal: cpu2-thermal { > + thermal-sensors = <&tmuctrl_2>; > + #include "exynos5440-trip-points.dtsi" > + }; For all thermal zones added in this patch, can you please make sure they all've got the mandatory fields? > }; > > sata@210000 { > -- > 2.0.0.rc2 >
Hi Eduardo, > On Wed, Jan 14, 2015 at 02:41:11PM +0100, Lukasz Majewski wrote: > > Presented device tree bindings provide data already hardcoded in the > > exynos_tmu_data.c file. > > After this commit, it should be possible to reuse common thermal > > core framework in Exynos SoCs. > > > > Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> > > --- > > Changes for v2: > > - Add proper TMU entries for exynos3250.dtsi > > Changes for v3: > > - Remove "type" DT properties, which will be extracted from > > compatible > > - "samsung,tmu_" prefix for TMU specific properties has been added > > > > --- > > arch/arm/boot/dts/exynos3250.dtsi | 2 ++ > > arch/arm/boot/dts/exynos4.dtsi | 4 ++++ > > arch/arm/boot/dts/exynos4210.dtsi | 21 ++++++++++++++++++++- > > arch/arm/boot/dts/exynos4x12.dtsi | 1 + > > arch/arm/boot/dts/exynos5250.dtsi | 5 +++-- > > arch/arm/boot/dts/exynos5420.dtsi | 28 ++++++++++++++++++++++++++++ > > arch/arm/boot/dts/exynos5440.dtsi | 18 ++++++++++++++++++ > > 7 files changed, 76 insertions(+), 3 deletions(-) > > > > diff --git a/arch/arm/boot/dts/exynos3250.dtsi > > b/arch/arm/boot/dts/exynos3250.dtsi index 2246549..8cc078c 100644 > > --- a/arch/arm/boot/dts/exynos3250.dtsi > > +++ b/arch/arm/boot/dts/exynos3250.dtsi > > @@ -18,6 +18,7 @@ > > */ > > > > #include "skeleton.dtsi" > > +#include "exynos4-cpu-thermal.dtsi" > > #include <dt-bindings/clock/exynos3250.h> > > > > / { > > @@ -188,6 +189,7 @@ > > interrupts = <0 216 0>; > > clocks = <&cmu CLK_TMU_APBIF>; > > clock-names = "tmu_apbif"; > > + #include "exynos4412-tmu-sensor-conf.dtsi" > > status = "disabled"; > > }; > > > > diff --git a/arch/arm/boot/dts/exynos4.dtsi > > b/arch/arm/boot/dts/exynos4.dtsi index b8168f1..f18d746 100644 > > --- a/arch/arm/boot/dts/exynos4.dtsi > > +++ b/arch/arm/boot/dts/exynos4.dtsi > > @@ -645,4 +645,8 @@ > > samsung,sysreg = <&sys_reg>; > > status = "disabled"; > > }; > > + > > + tmu: tmu@100C0000 { > > + #include "exynos4412-tmu-sensor-conf.dtsi" > > + }; > > }; > > diff --git a/arch/arm/boot/dts/exynos4210.dtsi > > b/arch/arm/boot/dts/exynos4210.dtsi index 2e66df8..7f0e012 100644 > > --- a/arch/arm/boot/dts/exynos4210.dtsi > > +++ b/arch/arm/boot/dts/exynos4210.dtsi > > @@ -21,6 +21,7 @@ > > > > #include "exynos4.dtsi" > > #include "exynos4210-pinctrl.dtsi" > > +#include "exynos4-cpu-thermal.dtsi" > > > > / { > > compatible = "samsung,exynos4210", "samsung,exynos4"; > > @@ -146,16 +147,34 @@ > > reg = <0x03860000 0x1000>; > > }; > > > > - tmu@100C0000 { > > + tmu: tmu@100C0000 { > > compatible = "samsung,exynos4210-tmu"; > > interrupt-parent = <&combiner>; > > reg = <0x100C0000 0x100>; > > interrupts = <2 4>; > > clocks = <&clock CLK_TMU_APBIF>; > > clock-names = "tmu_apbif"; > > + samsung,tmu_gain = <15>; > > + samsung,tmu_reference_voltage = <7>; > > status = "disabled"; > > }; > > > > + thermal-zones { > > + cpu_thermal: cpu-thermal { > > + trips { > > + cpu_alert0: cpu-alert-0 { > > + temperature = <85000>; /* > > millicelsius */ > > + }; > > + cpu_alert1: cpu-alert-1 { > > + temperature = <100000>; /* > > millicelsius */ > > + }; > > + cpu_alert2: cpu-alert-2 { > > + temperature = <110000>; /* > > millicelsius */ > > + }; > > + }; > > + }; > > + }; > > + > > g2d@12800000 { > > compatible = "samsung,s5pv210-g2d"; > > reg = <0x12800000 0x1000>; > > diff --git a/arch/arm/boot/dts/exynos4x12.dtsi > > b/arch/arm/boot/dts/exynos4x12.dtsi index 93b7040..3ee2031 100644 > > --- a/arch/arm/boot/dts/exynos4x12.dtsi > > +++ b/arch/arm/boot/dts/exynos4x12.dtsi > > @@ -19,6 +19,7 @@ > > > > #include "exynos4.dtsi" > > #include "exynos4x12-pinctrl.dtsi" > > +#include "exynos4-cpu-thermal.dtsi" > > > > / { > > aliases { > > diff --git a/arch/arm/boot/dts/exynos5250.dtsi > > b/arch/arm/boot/dts/exynos5250.dtsi index dd5c3a0..07fd73a 100644 > > --- a/arch/arm/boot/dts/exynos5250.dtsi > > +++ b/arch/arm/boot/dts/exynos5250.dtsi > > @@ -20,7 +20,7 @@ > > #include <dt-bindings/clock/exynos5250.h> > > #include "exynos5.dtsi" > > #include "exynos5250-pinctrl.dtsi" > > - > > +#include "exynos4-cpu-thermal.dtsi" > > #include <dt-bindings/clock/exynos-audss-clk.h> > > > > / { > > @@ -236,12 +236,13 @@ > > status = "disabled"; > > }; > > > > - tmu@10060000 { > > + tmu: tmu@10060000 { > > compatible = "samsung,exynos5250-tmu"; > > reg = <0x10060000 0x100>; > > interrupts = <0 65 0>; > > clocks = <&clock CLK_TMU>; > > clock-names = "tmu_apbif"; > > + #include "exynos4412-tmu-sensor-conf.dtsi" > > }; > > > > thermal-zones { > > diff --git a/arch/arm/boot/dts/exynos5420.dtsi > > b/arch/arm/boot/dts/exynos5420.dtsi index 517e50f..f5771e5 100644 > > --- a/arch/arm/boot/dts/exynos5420.dtsi > > +++ b/arch/arm/boot/dts/exynos5420.dtsi > > @@ -761,6 +761,7 @@ > > interrupts = <0 65 0>; > > clocks = <&clock CLK_TMU>; > > clock-names = "tmu_apbif"; > > + #include "exynos4412-tmu-sensor-conf.dtsi" > > }; > > > > tmu_cpu1: tmu@10064000 { > > @@ -769,6 +770,7 @@ > > interrupts = <0 183 0>; > > clocks = <&clock CLK_TMU>; > > clock-names = "tmu_apbif"; > > + #include "exynos4412-tmu-sensor-conf.dtsi" > > }; > > > > tmu_cpu2: tmu@10068000 { > > @@ -777,6 +779,7 @@ > > interrupts = <0 184 0>; > > clocks = <&clock CLK_TMU>, <&clock CLK_TMU>; > > clock-names = "tmu_apbif", "tmu_triminfo_apbif"; > > + #include "exynos4412-tmu-sensor-conf.dtsi" > > }; > > > > tmu_cpu3: tmu@1006c000 { > > @@ -785,6 +788,7 @@ > > interrupts = <0 185 0>; > > clocks = <&clock CLK_TMU>, <&clock CLK_TMU_GPU>; > > clock-names = "tmu_apbif", "tmu_triminfo_apbif"; > > + #include "exynos4412-tmu-sensor-conf.dtsi" > > }; > > > > tmu_gpu: tmu@100a0000 { > > @@ -793,6 +797,30 @@ > > interrupts = <0 215 0>; > > clocks = <&clock CLK_TMU_GPU>, <&clock CLK_TMU>; > > clock-names = "tmu_apbif", "tmu_triminfo_apbif"; > > + #include "exynos4412-tmu-sensor-conf.dtsi" > > + }; > > + > > + thermal-zones { > > + cpu0_thermal: cpu0-thermal { > > + thermal-sensors = <&tmu_cpu0>; > > + #include "exynos5420-trip-points.dtsi" > > + }; > > + cpu1_thermal: cpu1-thermal { > > + thermal-sensors = <&tmu_cpu1>; > > + #include "exynos5420-trip-points.dtsi" > > + }; > > + cpu2_thermal: cpu2-thermal { > > + thermal-sensors = <&tmu_cpu2>; > > + #include "exynos5420-trip-points.dtsi" > > + }; > > + cpu3_thermal: cpu3-thermal { > > + thermal-sensors = <&tmu_cpu3>; > > + #include "exynos5420-trip-points.dtsi" > > + }; > > + gpu_thermal: gpu-thermal { > > + thermal-sensors = <&tmu_gpu>; > > + #include "exynos5420-trip-points.dtsi" > > + }; > > }; > > > > watchdog: watchdog@101D0000 { > > diff --git a/arch/arm/boot/dts/exynos5440.dtsi > > b/arch/arm/boot/dts/exynos5440.dtsi index 8f3373c..59d9416 100644 > > --- a/arch/arm/boot/dts/exynos5440.dtsi > > +++ b/arch/arm/boot/dts/exynos5440.dtsi > > @@ -219,6 +219,7 @@ > > interrupts = <0 58 0>; > > clocks = <&clock CLK_B_125>; > > clock-names = "tmu_apbif"; > > + #include "exynos5440-tmu-sensor-conf.dtsi" > > }; > > > > tmuctrl_1: tmuctrl@16011C { > > @@ -227,6 +228,7 @@ > > interrupts = <0 58 0>; > > clocks = <&clock CLK_B_125>; > > clock-names = "tmu_apbif"; > > + #include "exynos5440-tmu-sensor-conf.dtsi" > > }; > > > > tmuctrl_2: tmuctrl@160120 { > > @@ -235,6 +237,22 @@ > > interrupts = <0 58 0>; > > clocks = <&clock CLK_B_125>; > > clock-names = "tmu_apbif"; > > + #include "exynos5440-tmu-sensor-conf.dtsi" > > + }; > > + > > + thermal-zones { > > + cpu0_thermal: cpu0-thermal { > > + thermal-sensors = <&tmuctrl_0>; > > + #include "exynos5440-trip-points.dtsi" > > + }; > > + cpu1_thermal: cpu1-thermal { > > + thermal-sensors = <&tmuctrl_1>; > > + #include "exynos5440-trip-points.dtsi" > > + }; > > + cpu2_thermal: cpu2-thermal { > > + thermal-sensors = <&tmuctrl_2>; > > + #include "exynos5440-trip-points.dtsi" > > + }; > > For all thermal zones added in this patch, can you please make sure > they all've got the mandatory fields? This is a better place to put all mandatory fields - not the patch 06/16 - for two reasons: 1. tmu alias (as the sensor) is defined here 2. Here the "real" support (not only for cpu cooling) for thermal-zones is added. > > > }; > > > > sata@210000 { > > -- > > 2.0.0.rc2 > >
diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi index 2246549..8cc078c 100644 --- a/arch/arm/boot/dts/exynos3250.dtsi +++ b/arch/arm/boot/dts/exynos3250.dtsi @@ -18,6 +18,7 @@ */ #include "skeleton.dtsi" +#include "exynos4-cpu-thermal.dtsi" #include <dt-bindings/clock/exynos3250.h> / { @@ -188,6 +189,7 @@ interrupts = <0 216 0>; clocks = <&cmu CLK_TMU_APBIF>; clock-names = "tmu_apbif"; + #include "exynos4412-tmu-sensor-conf.dtsi" status = "disabled"; }; diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index b8168f1..f18d746 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi @@ -645,4 +645,8 @@ samsung,sysreg = <&sys_reg>; status = "disabled"; }; + + tmu: tmu@100C0000 { + #include "exynos4412-tmu-sensor-conf.dtsi" + }; }; diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi index 2e66df8..7f0e012 100644 --- a/arch/arm/boot/dts/exynos4210.dtsi +++ b/arch/arm/boot/dts/exynos4210.dtsi @@ -21,6 +21,7 @@ #include "exynos4.dtsi" #include "exynos4210-pinctrl.dtsi" +#include "exynos4-cpu-thermal.dtsi" / { compatible = "samsung,exynos4210", "samsung,exynos4"; @@ -146,16 +147,34 @@ reg = <0x03860000 0x1000>; }; - tmu@100C0000 { + tmu: tmu@100C0000 { compatible = "samsung,exynos4210-tmu"; interrupt-parent = <&combiner>; reg = <0x100C0000 0x100>; interrupts = <2 4>; clocks = <&clock CLK_TMU_APBIF>; clock-names = "tmu_apbif"; + samsung,tmu_gain = <15>; + samsung,tmu_reference_voltage = <7>; status = "disabled"; }; + thermal-zones { + cpu_thermal: cpu-thermal { + trips { + cpu_alert0: cpu-alert-0 { + temperature = <85000>; /* millicelsius */ + }; + cpu_alert1: cpu-alert-1 { + temperature = <100000>; /* millicelsius */ + }; + cpu_alert2: cpu-alert-2 { + temperature = <110000>; /* millicelsius */ + }; + }; + }; + }; + g2d@12800000 { compatible = "samsung,s5pv210-g2d"; reg = <0x12800000 0x1000>; diff --git a/arch/arm/boot/dts/exynos4x12.dtsi b/arch/arm/boot/dts/exynos4x12.dtsi index 93b7040..3ee2031 100644 --- a/arch/arm/boot/dts/exynos4x12.dtsi +++ b/arch/arm/boot/dts/exynos4x12.dtsi @@ -19,6 +19,7 @@ #include "exynos4.dtsi" #include "exynos4x12-pinctrl.dtsi" +#include "exynos4-cpu-thermal.dtsi" / { aliases { diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi index dd5c3a0..07fd73a 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi @@ -20,7 +20,7 @@ #include <dt-bindings/clock/exynos5250.h> #include "exynos5.dtsi" #include "exynos5250-pinctrl.dtsi" - +#include "exynos4-cpu-thermal.dtsi" #include <dt-bindings/clock/exynos-audss-clk.h> / { @@ -236,12 +236,13 @@ status = "disabled"; }; - tmu@10060000 { + tmu: tmu@10060000 { compatible = "samsung,exynos5250-tmu"; reg = <0x10060000 0x100>; interrupts = <0 65 0>; clocks = <&clock CLK_TMU>; clock-names = "tmu_apbif"; + #include "exynos4412-tmu-sensor-conf.dtsi" }; thermal-zones { diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi index 517e50f..f5771e5 100644 --- a/arch/arm/boot/dts/exynos5420.dtsi +++ b/arch/arm/boot/dts/exynos5420.dtsi @@ -761,6 +761,7 @@ interrupts = <0 65 0>; clocks = <&clock CLK_TMU>; clock-names = "tmu_apbif"; + #include "exynos4412-tmu-sensor-conf.dtsi" }; tmu_cpu1: tmu@10064000 { @@ -769,6 +770,7 @@ interrupts = <0 183 0>; clocks = <&clock CLK_TMU>; clock-names = "tmu_apbif"; + #include "exynos4412-tmu-sensor-conf.dtsi" }; tmu_cpu2: tmu@10068000 { @@ -777,6 +779,7 @@ interrupts = <0 184 0>; clocks = <&clock CLK_TMU>, <&clock CLK_TMU>; clock-names = "tmu_apbif", "tmu_triminfo_apbif"; + #include "exynos4412-tmu-sensor-conf.dtsi" }; tmu_cpu3: tmu@1006c000 { @@ -785,6 +788,7 @@ interrupts = <0 185 0>; clocks = <&clock CLK_TMU>, <&clock CLK_TMU_GPU>; clock-names = "tmu_apbif", "tmu_triminfo_apbif"; + #include "exynos4412-tmu-sensor-conf.dtsi" }; tmu_gpu: tmu@100a0000 { @@ -793,6 +797,30 @@ interrupts = <0 215 0>; clocks = <&clock CLK_TMU_GPU>, <&clock CLK_TMU>; clock-names = "tmu_apbif", "tmu_triminfo_apbif"; + #include "exynos4412-tmu-sensor-conf.dtsi" + }; + + thermal-zones { + cpu0_thermal: cpu0-thermal { + thermal-sensors = <&tmu_cpu0>; + #include "exynos5420-trip-points.dtsi" + }; + cpu1_thermal: cpu1-thermal { + thermal-sensors = <&tmu_cpu1>; + #include "exynos5420-trip-points.dtsi" + }; + cpu2_thermal: cpu2-thermal { + thermal-sensors = <&tmu_cpu2>; + #include "exynos5420-trip-points.dtsi" + }; + cpu3_thermal: cpu3-thermal { + thermal-sensors = <&tmu_cpu3>; + #include "exynos5420-trip-points.dtsi" + }; + gpu_thermal: gpu-thermal { + thermal-sensors = <&tmu_gpu>; + #include "exynos5420-trip-points.dtsi" + }; }; watchdog: watchdog@101D0000 { diff --git a/arch/arm/boot/dts/exynos5440.dtsi b/arch/arm/boot/dts/exynos5440.dtsi index 8f3373c..59d9416 100644 --- a/arch/arm/boot/dts/exynos5440.dtsi +++ b/arch/arm/boot/dts/exynos5440.dtsi @@ -219,6 +219,7 @@ interrupts = <0 58 0>; clocks = <&clock CLK_B_125>; clock-names = "tmu_apbif"; + #include "exynos5440-tmu-sensor-conf.dtsi" }; tmuctrl_1: tmuctrl@16011C { @@ -227,6 +228,7 @@ interrupts = <0 58 0>; clocks = <&clock CLK_B_125>; clock-names = "tmu_apbif"; + #include "exynos5440-tmu-sensor-conf.dtsi" }; tmuctrl_2: tmuctrl@160120 { @@ -235,6 +237,22 @@ interrupts = <0 58 0>; clocks = <&clock CLK_B_125>; clock-names = "tmu_apbif"; + #include "exynos5440-tmu-sensor-conf.dtsi" + }; + + thermal-zones { + cpu0_thermal: cpu0-thermal { + thermal-sensors = <&tmuctrl_0>; + #include "exynos5440-trip-points.dtsi" + }; + cpu1_thermal: cpu1-thermal { + thermal-sensors = <&tmuctrl_1>; + #include "exynos5440-trip-points.dtsi" + }; + cpu2_thermal: cpu2-thermal { + thermal-sensors = <&tmuctrl_2>; + #include "exynos5440-trip-points.dtsi" + }; }; sata@210000 {
Presented device tree bindings provide data already hardcoded in the exynos_tmu_data.c file. After this commit, it should be possible to reuse common thermal core framework in Exynos SoCs. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> --- Changes for v2: - Add proper TMU entries for exynos3250.dtsi Changes for v3: - Remove "type" DT properties, which will be extracted from compatible - "samsung,tmu_" prefix for TMU specific properties has been added --- arch/arm/boot/dts/exynos3250.dtsi | 2 ++ arch/arm/boot/dts/exynos4.dtsi | 4 ++++ arch/arm/boot/dts/exynos4210.dtsi | 21 ++++++++++++++++++++- arch/arm/boot/dts/exynos4x12.dtsi | 1 + arch/arm/boot/dts/exynos5250.dtsi | 5 +++-- arch/arm/boot/dts/exynos5420.dtsi | 28 ++++++++++++++++++++++++++++ arch/arm/boot/dts/exynos5440.dtsi | 18 ++++++++++++++++++ 7 files changed, 76 insertions(+), 3 deletions(-)