Re: [PATCH] arm64: dts: Add tmu node for exynos7

From: pankaj.dubey
Date: Wed Feb 24 2016 - 23:14:29 EST


Hi Krzysztof,

On Thursday 25 February 2016 09:36 AM, Krzysztof Kozlowski wrote:
> On 25.02.2016 12:27, Pankaj Dubey wrote:
>> From: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
>>
>> This patch adds tmu node, related temprature sensor and triping
>> point data for Atlas cpu core found on exynos7 SoC.
>>
>> Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
>
> Yours Sob is missing.
>
> Cc-ed Lukasz Majewski.
>

Due to some technical difficulty Alim posted via my account. He will
re-spin this patch via his account soon.

Thanks,
Pankaj Dubey
> Lukasz,
> Your review or ack would be appreciated.
>
>
>> ---
>> .../boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi | 25 +++++++++
>> .../arm64/boot/dts/exynos/exynos7-trip-points.dtsi | 55 ++++++++++++++++++++
>> arch/arm64/boot/dts/exynos/exynos7.dtsi | 20 +++++++
>> 3 files changed, 100 insertions(+)
>> create mode 100644 arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
>> create mode 100644 arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
>>
>> diff --git a/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi b/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
>> new file mode 100644
>> index 0000000..1d6dcf2
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi
>> @@ -0,0 +1,25 @@
>> +/*
>> + * Device tree sources for Exynos7 TMU sensor configuration
>> + *
>> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
>> + * http://www.samsung.com
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + *
>> + */
>> +
>> +#include <dt-bindings/thermal/thermal_exynos.h>
>> +
>> +#thermal-sensor-cells = <0>;
>> +samsung,tmu_gain = <9>;
>> +samsung,tmu_reference_voltage = <17>;
>> +samsung,tmu_noise_cancel_mode = <4>;
>> +samsung,tmu_efuse_value = <75>;
>> +samsung,tmu_min_efuse_value = <15>;
>> +samsung,tmu_max_efuse_value = <100>;
>> +samsung,tmu_first_point_trim = <25>;
>> +samsung,tmu_second_point_trim = <85>;
>> +samsung,tmu_default_temp_offset = <50>;
>> +samsung,tmu_cal_type = <TYPE_ONE_POINT_TRIMMING>;
>> diff --git a/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi b/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
>> new file mode 100644
>> index 0000000..3970545
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/exynos/exynos7-trip-points.dtsi
>> @@ -0,0 +1,55 @@
>> +/*
>> + * Device tree sources for default Exynos7 thermal zone definition
>> + *
>> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
>> + * http://www.samsung.com
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + *
>> + */
>> +
>> +trips {
>> + cpu-alert-0 {
>> + temperature = <75000>; /* millicelsius */
>> + hysteresis = <10000>; /* millicelsius */
>> + type = "passive";
>> + };
>> + cpu-alert-1 {
>> + temperature = <80000>; /* millicelsius */
>> + hysteresis = <10000>; /* millicelsius */
>> + type = "passive";
>> + };
>> + cpu-alert-2 {
>> + temperature = <85000>; /* millicelsius */
>> + hysteresis = <10000>; /* millicelsius */
>> + type = "passive";
>> + };
>> + cpu-alert-3 {
>> + temperature = <90000>; /* millicelsius */
>> + hysteresis = <10000>; /* millicelsius */
>> + type = "passive";
>> + };
>> + cpu-alert-4 {
>> + temperature = <95000>; /* millicelsius */
>> + hysteresis = <10000>; /* millicelsius */
>> + type = "passive";
>> + };
>> + cpu-alert-5 {
>> + temperature = <100000>; /* millicelsius */
>> + hysteresis = <10000>; /* millicelsius */
>> + type = "passive";
>> + };
>> + cpu-alert-6 {
>> + temperature = <110000>; /* millicelsius */
>> + hysteresis = <10000>; /* millicelsius */
>> + type = "passive";
>> + };
>> + /* HW Trip point */
>
> The comment looks unnecessary, all of these are HW trip points, right?
>
>> + cpu-crit-0 {
>> + temperature = <115000>; /* millicelsius */
>> + hysteresis = <0>; /* millicelsius */
>> + type = "critical";
>> + };
>> +};
>> diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi b/arch/arm64/boot/dts/exynos/exynos7.dtsi
>> index c662f98..fc9d130 100644
>> --- a/arch/arm64/boot/dts/exynos/exynos7.dtsi
>> +++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi
>> @@ -27,6 +27,7 @@
>> pinctrl6 = &pinctrl_fsys0;
>> pinctrl7 = &pinctrl_fsys1;
>> pinctrl8 = &pinctrl_bus1;
>> + tmuctrl0 = &tmuctrl_0;
>
> Why the alias is needed?
>
>> };
>>
>> cpus {
>> @@ -538,6 +539,25 @@
>> clocks = <&clock_peric0 PCLK_PWM>;
>> clock-names = "timers";
>> };
>> +
>> + tmuctrl_0: tmu@10060000 {
>> + compatible = "samsung,exynos7-tmu";
>> + reg = <0x10060000 0x200>;
>> + interrupts = <0 108 0>;
>> + clocks = <&clock_peris PCLK_TMU>,
>> + <&clock_peris SCLK_TMU>;
>> + clock-names = "tmu_apbif", "tmu_sclk";
>> + #include "exynos7-tmu-sensor-conf.dtsi"
>> + };
>> +
>> + thermal-zones {
>> + atlas_thermal: atlas-thermal {
>
> The atlas is a Exynos7 specific codename. The name of node should be a
> general class of the device, so maybe:
> atlas_thermal: cluster0-thermal
> ?
>
> Best regards,
> Krzysztof
>