* [PATCH 0/5] thermal: rockchip: add tsadc support in thermal driver and IPA thermal control for RV1108 in dts
@ 2017-08-24 10:27 Rocky Hao
2017-08-24 10:27 ` [PATCH 1/5] dt-bindings: rockchip-thermal: Support the RV1108 SoC compatible Rocky Hao
` (4 more replies)
0 siblings, 5 replies; 18+ messages in thread
From: Rocky Hao @ 2017-08-24 10:27 UTC (permalink / raw)
To: rui.zhang-ral2JQCrhuEAvxtiuMwx3w,
edubezval-Re5JQEeQqe8AvxtiuMwx3w, heiko-4mtYJXux2i+zQB+pC5nmwQ,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8,
catalin.marinas-5wv7dgnIgG8, will.deacon-5wv7dgnIgG8
Cc: shawn.lin-TNX95d0MmH7DzftRWevZcw, cl-TNX95d0MmH7DzftRWevZcw,
william.wu-TNX95d0MmH7DzftRWevZcw,
linux-pm-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, xxx-TNX95d0MmH7DzftRWevZcw,
jay.xu-TNX95d0MmH7DzftRWevZcw, wxt-TNX95d0MmH7DzftRWevZcw,
huangtao-TNX95d0MmH7DzftRWevZcw, rocky.hao-TNX95d0MmH7DzftRWevZcw
This series patches add the tsadc support in thermal driver and in devicetree for RV1108.
Also add thermal control with Intelligent Power Allocation (IPA) policy by default. Please
refer to https://developer.arm.com/open-source/intelligent-power-allocation for more information
about IPA.
Rocky Hao (5):
dt-bindings: rockchip-thermal: Support the RV1108 SoC compatible
thermal: rockchip: Support the RV1108 SoC in thermal driver
arm: dts: rockchip: add tsadc node for RV1108 SoC
arm: dts: rockchip: add thermal nodes for RV1108 SoC
arm: dts: rockchip: enable tsadc module on RV1108 evaluation board
.../bindings/thermal/rockchip-thermal.txt | 1 +
arch/arm/boot/dts/rv1108-evb.dts | 4 ++
arch/arm/boot/dts/rv1108.dtsi | 69 ++++++++++++++++++++++
drivers/thermal/rockchip_thermal.c | 67 +++++++++++++++++++++
4 files changed, 141 insertions(+)
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 1/5] dt-bindings: rockchip-thermal: Support the RV1108 SoC compatible
2017-08-24 10:27 [PATCH 0/5] thermal: rockchip: add tsadc support in thermal driver and IPA thermal control for RV1108 in dts Rocky Hao
@ 2017-08-24 10:27 ` Rocky Hao
2017-08-31 17:57 ` Rob Herring
2017-09-15 1:49 ` Caesar Wang
2017-08-24 10:27 ` [PATCH 2/5] thermal: rockchip: Support the RV1108 SoC in thermal driver Rocky Hao
` (3 subsequent siblings)
4 siblings, 2 replies; 18+ messages in thread
From: Rocky Hao @ 2017-08-24 10:27 UTC (permalink / raw)
To: rui.zhang, edubezval, heiko, robh+dt, mark.rutland,
catalin.marinas, will.deacon
Cc: shawn.lin, cl, william.wu, linux-pm, linux-arm-kernel,
linux-rockchip, linux-kernel, devicetree, xxx, jay.xu, wxt,
huangtao, rocky.hao
Add a new compatible for thermal founding on RV1108 SoCs.
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
---
Documentation/devicetree/bindings/thermal/rockchip-thermal.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt b/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
index e3a6234fb1ac..43d744e5305e 100644
--- a/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
+++ b/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
@@ -2,6 +2,7 @@
Required properties:
- compatible : should be "rockchip,<name>-tsadc"
+ "rockchip,rv1108-tsadc": found on RV1108 SoCs
"rockchip,rk3228-tsadc": found on RK3228 SoCs
"rockchip,rk3288-tsadc": found on RK3288 SoCs
"rockchip,rk3328-tsadc": found on RK3328 SoCs
--
1.9.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 2/5] thermal: rockchip: Support the RV1108 SoC in thermal driver
2017-08-24 10:27 [PATCH 0/5] thermal: rockchip: add tsadc support in thermal driver and IPA thermal control for RV1108 in dts Rocky Hao
2017-08-24 10:27 ` [PATCH 1/5] dt-bindings: rockchip-thermal: Support the RV1108 SoC compatible Rocky Hao
@ 2017-08-24 10:27 ` Rocky Hao
2017-09-15 2:10 ` Caesar Wang
[not found] ` <1503570475-7850-1-git-send-email-rocky.hao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
` (2 subsequent siblings)
4 siblings, 1 reply; 18+ messages in thread
From: Rocky Hao @ 2017-08-24 10:27 UTC (permalink / raw)
To: rui.zhang, edubezval, heiko, robh+dt, mark.rutland,
catalin.marinas, will.deacon
Cc: huangtao, devicetree, linux-pm, shawn.lin, linux-kernel,
linux-rockchip, cl, william.wu, rocky.hao, jay.xu, xxx,
linux-arm-kernel, wxt
RV1108 SOC has one Temperature Sensor for CPU.
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
---
drivers/thermal/rockchip_thermal.c | 67 ++++++++++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+)
diff --git a/drivers/thermal/rockchip_thermal.c b/drivers/thermal/rockchip_thermal.c
index 9da3e1819210..299a8ade71fa 100644
--- a/drivers/thermal/rockchip_thermal.c
+++ b/drivers/thermal/rockchip_thermal.c
@@ -242,6 +242,45 @@ struct tsadc_table {
int temp;
};
+static const struct tsadc_table rv1108_table[] = {
+ {0, -40000},
+ {374, -40000},
+ {382, -35000},
+ {389, -30000},
+ {397, -25000},
+ {405, -20000},
+ {413, -15000},
+ {421, -10000},
+ {429, -5000},
+ {436, 0},
+ {444, 5000},
+ {452, 10000},
+ {460, 15000},
+ {468, 20000},
+ {476, 25000},
+ {483, 30000},
+ {491, 35000},
+ {499, 40000},
+ {507, 45000},
+ {515, 50000},
+ {523, 55000},
+ {531, 60000},
+ {539, 65000},
+ {547, 70000},
+ {555, 75000},
+ {562, 80000},
+ {570, 85000},
+ {578, 90000},
+ {586, 95000},
+ {594, 100000},
+ {602, 105000},
+ {610, 110000},
+ {618, 115000},
+ {626, 120000},
+ {634, 125000},
+ {TSADCV2_DATA_MASK, 125000},
+};
+
static const struct tsadc_table rk3228_code_table[] = {
{0, -40000},
{588, -40000},
@@ -779,6 +818,30 @@ static void rk_tsadcv2_tshut_mode(int chn, void __iomem *regs,
writel_relaxed(val, regs + TSADCV2_INT_EN);
}
+static const struct rockchip_tsadc_chip rv1108_tsadc_data = {
+ .chn_id[SENSOR_CPU] = 0, /* cpu sensor is channel 0 */
+ .chn_num = 1, /* one channel for tsadc */
+
+ .tshut_mode = TSHUT_MODE_GPIO, /* default TSHUT via GPIO give PMIC */
+ .tshut_polarity = TSHUT_LOW_ACTIVE, /* default TSHUT LOW ACTIVE */
+ .tshut_temp = 95000,
+
+ .initialize = rk_tsadcv2_initialize,
+ .irq_ack = rk_tsadcv3_irq_ack,
+ .control = rk_tsadcv3_control,
+ .get_temp = rk_tsadcv2_get_temp,
+ .set_alarm_temp = rk_tsadcv2_alarm_temp,
+ .set_tshut_temp = rk_tsadcv2_tshut_temp,
+ .set_tshut_mode = rk_tsadcv2_tshut_mode,
+
+ .table = {
+ .id = rv1108_table,
+ .length = ARRAY_SIZE(rv1108_table),
+ .data_mask = TSADCV2_DATA_MASK,
+ .mode = ADC_INCREMENT,
+ },
+};
+
static const struct rockchip_tsadc_chip rk3228_tsadc_data = {
.chn_id[SENSOR_CPU] = 0, /* cpu sensor is channel 0 */
.chn_num = 1, /* one channel for tsadc */
@@ -928,6 +991,10 @@ static void rk_tsadcv2_tshut_mode(int chn, void __iomem *regs,
static const struct of_device_id of_rockchip_thermal_match[] = {
{
+ .compatible = "rockchip,rv1108-tsadc",
+ .data = (void *)&rv1108_tsadc_data,
+ },
+ {
.compatible = "rockchip,rk3228-tsadc",
.data = (void *)&rk3228_tsadc_data,
},
--
1.9.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 3/5] arm: dts: rockchip: add tsadc node for RV1108 SoC
[not found] ` <1503570475-7850-1-git-send-email-rocky.hao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
@ 2017-08-24 10:27 ` Rocky Hao
2017-09-15 2:25 ` Caesar Wang
2017-10-17 19:00 ` Heiko Stuebner
2017-08-24 10:27 ` [PATCH 4/5] arm: dts: rockchip: add thermal nodes " Rocky Hao
1 sibling, 2 replies; 18+ messages in thread
From: Rocky Hao @ 2017-08-24 10:27 UTC (permalink / raw)
To: rui.zhang-ral2JQCrhuEAvxtiuMwx3w,
edubezval-Re5JQEeQqe8AvxtiuMwx3w, heiko-4mtYJXux2i+zQB+pC5nmwQ,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8,
catalin.marinas-5wv7dgnIgG8, will.deacon-5wv7dgnIgG8
Cc: shawn.lin-TNX95d0MmH7DzftRWevZcw, cl-TNX95d0MmH7DzftRWevZcw,
william.wu-TNX95d0MmH7DzftRWevZcw,
linux-pm-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, xxx-TNX95d0MmH7DzftRWevZcw,
jay.xu-TNX95d0MmH7DzftRWevZcw, wxt-TNX95d0MmH7DzftRWevZcw,
huangtao-TNX95d0MmH7DzftRWevZcw, rocky.hao-TNX95d0MmH7DzftRWevZcw
Add tsadc needed main information for RV1108 SoC.
750000Hz is the max clock rate supported by tsadc module.
Signed-off-by: Rocky Hao <rocky.hao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
---
arch/arm/boot/dts/rv1108.dtsi | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/arch/arm/boot/dts/rv1108.dtsi b/arch/arm/boot/dts/rv1108.dtsi
index 25fab0b80f53..dbdd8c2180e7 100644
--- a/arch/arm/boot/dts/rv1108.dtsi
+++ b/arch/arm/boot/dts/rv1108.dtsi
@@ -275,6 +275,25 @@
status = "disabled";
};
+ tsadc: tsadc@10370000 {
+ compatible = "rockchip,rv1108-tsadc";
+ reg = <0x10370000 0x100>;
+ interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
+ assigned-clocks = <&cru SCLK_TSADC>;
+ assigned-clock-rates = <750000>;
+ clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
+ clock-names = "tsadc", "apb_pclk";
+ pinctrl-names = "init", "default", "sleep";
+ pinctrl-0 = <&otp_gpio>;
+ pinctrl-1 = <&otp_out>;
+ pinctrl-2 = <&otp_gpio>;
+ resets = <&cru SRST_TSADC>;
+ reset-names = "tsadc-apb";
+ rockchip,hw-tshut-temp = <120000>;
+ #thermal-sensor-cells = <1>;
+ status = "disabled";
+ };
+
adc: adc@1038c000 {
compatible = "rockchip,rv1108-saradc", "rockchip,rk3399-saradc";
reg = <0x1038c000 0x100>;
@@ -642,6 +661,16 @@
};
};
+ tsadc {
+ otp_out: otp-out {
+ rockchip,pins = <0 RK_PB7 RK_FUNC_1 &pcfg_pull_none>;
+ };
+
+ otp_gpio: otp-gpio {
+ rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
uart0 {
uart0_xfer: uart0-xfer {
rockchip,pins = <3 RK_PA6 RK_FUNC_1 &pcfg_pull_up>,
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 4/5] arm: dts: rockchip: add thermal nodes for RV1108 SoC
[not found] ` <1503570475-7850-1-git-send-email-rocky.hao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2017-08-24 10:27 ` [PATCH 3/5] arm: dts: rockchip: add tsadc node for RV1108 SoC Rocky Hao
@ 2017-08-24 10:27 ` Rocky Hao
2017-09-15 6:32 ` rocky.hao
[not found] ` <1503570475-7850-5-git-send-email-rocky.hao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
1 sibling, 2 replies; 18+ messages in thread
From: Rocky Hao @ 2017-08-24 10:27 UTC (permalink / raw)
To: rui.zhang-ral2JQCrhuEAvxtiuMwx3w,
edubezval-Re5JQEeQqe8AvxtiuMwx3w, heiko-4mtYJXux2i+zQB+pC5nmwQ,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8,
catalin.marinas-5wv7dgnIgG8, will.deacon-5wv7dgnIgG8
Cc: huangtao-TNX95d0MmH7DzftRWevZcw,
devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-pm-u79uwXL29TY76Z2rM5mHXA, shawn.lin-TNX95d0MmH7DzftRWevZcw,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
cl-TNX95d0MmH7DzftRWevZcw, william.wu-TNX95d0MmH7DzftRWevZcw,
rocky.hao-TNX95d0MmH7DzftRWevZcw, jay.xu-TNX95d0MmH7DzftRWevZcw,
xxx-TNX95d0MmH7DzftRWevZcw,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
wxt-TNX95d0MmH7DzftRWevZcw
Add thermal zone and dynamic CPU power coefficients for RV1108
Signed-off-by: Rocky Hao <rocky.hao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
---
arch/arm/boot/dts/rv1108.dtsi | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/arch/arm/boot/dts/rv1108.dtsi b/arch/arm/boot/dts/rv1108.dtsi
index dbdd8c2180e7..cae920b6a145 100644
--- a/arch/arm/boot/dts/rv1108.dtsi
+++ b/arch/arm/boot/dts/rv1108.dtsi
@@ -43,6 +43,7 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/rv1108-cru.h>
#include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/thermal/thermal.h>
/ {
#address-cells = <1>;
#size-cells = <1>;
@@ -69,6 +70,8 @@
device_type = "cpu";
compatible = "arm,cortex-a7";
reg = <0xf00>;
+ #cooling-cells = <2>; /* min followed by max */
+ dynamic-power-coefficient = <75>;
};
};
@@ -275,6 +278,43 @@
status = "disabled";
};
+ thermal-zones {
+ soc_thermal: soc-thermal {
+ polling-delay-passive = <20>;
+ polling-delay = <1000>;
+ sustainable-power = <50>;
+
+ thermal-sensors = <&tsadc 0>;
+
+ trips {
+ threshold: trip-point0 {
+ temperature = <70000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+ target: trip-point1 {
+ temperature = <85000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+ soc_crit: soc-crit {
+ temperature = <95000>;
+ hysteresis = <2000>;
+ type = "critical";
+ };
+ };
+
+ cooling-maps {
+ map0 {
+ trip = <&target>;
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ contribution = <4096>;
+ };
+ };
+ };
+
+ };
+
tsadc: tsadc@10370000 {
compatible = "rockchip,rv1108-tsadc";
reg = <0x10370000 0x100>;
--
1.9.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 5/5] arm: dts: rockchip: enable tsadc module on RV1108 evaluation board
2017-08-24 10:27 [PATCH 0/5] thermal: rockchip: add tsadc support in thermal driver and IPA thermal control for RV1108 in dts Rocky Hao
` (2 preceding siblings ...)
[not found] ` <1503570475-7850-1-git-send-email-rocky.hao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
@ 2017-08-24 10:32 ` Rocky Hao
2017-10-17 19:01 ` Heiko Stuebner
2017-10-17 0:15 ` [PATCH 0/5] thermal: rockchip: add tsadc support in thermal driver and IPA thermal control for RV1108 in dts Eduardo Valentin
4 siblings, 1 reply; 18+ messages in thread
From: Rocky Hao @ 2017-08-24 10:32 UTC (permalink / raw)
To: rui.zhang, edubezval, heiko, robh+dt, mark.rutland,
catalin.marinas, will.deacon
Cc: shawn.lin, cl, william.wu, linux-pm, linux-arm-kernel,
linux-rockchip, linux-kernel, devicetree, xxx, jay.xu, wxt,
huangtao, rocky.hao
Enable tsadc module on RV1108 evaluation board
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
---
arch/arm/boot/dts/rv1108-evb.dts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/boot/dts/rv1108-evb.dts b/arch/arm/boot/dts/rv1108-evb.dts
index 39197c3e9e0e..885f760d8ca1 100644
--- a/arch/arm/boot/dts/rv1108-evb.dts
+++ b/arch/arm/boot/dts/rv1108-evb.dts
@@ -218,6 +218,10 @@
status = "okay";
};
+&tsadc {
+ status = "okay";
+};
+
&uart0 {
status = "okay";
};
--
1.9.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 1/5] dt-bindings: rockchip-thermal: Support the RV1108 SoC compatible
2017-08-24 10:27 ` [PATCH 1/5] dt-bindings: rockchip-thermal: Support the RV1108 SoC compatible Rocky Hao
@ 2017-08-31 17:57 ` Rob Herring
2017-09-15 1:49 ` Caesar Wang
1 sibling, 0 replies; 18+ messages in thread
From: Rob Herring @ 2017-08-31 17:57 UTC (permalink / raw)
To: Rocky Hao
Cc: rui.zhang, edubezval, heiko, mark.rutland, catalin.marinas,
will.deacon, shawn.lin, cl, william.wu, linux-pm,
linux-arm-kernel, linux-rockchip, linux-kernel, devicetree, xxx,
jay.xu, wxt, huangtao
On Thu, Aug 24, 2017 at 06:27:51PM +0800, Rocky Hao wrote:
> Add a new compatible for thermal founding on RV1108 SoCs.
>
> Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
> ---
> Documentation/devicetree/bindings/thermal/rockchip-thermal.txt | 1 +
> 1 file changed, 1 insertion(+)
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 1/5] dt-bindings: rockchip-thermal: Support the RV1108 SoC compatible
2017-08-24 10:27 ` [PATCH 1/5] dt-bindings: rockchip-thermal: Support the RV1108 SoC compatible Rocky Hao
2017-08-31 17:57 ` Rob Herring
@ 2017-09-15 1:49 ` Caesar Wang
[not found] ` <12073627-41af-3480-6379-839e07f5e8f3-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
1 sibling, 1 reply; 18+ messages in thread
From: Caesar Wang @ 2017-09-15 1:49 UTC (permalink / raw)
To: Rocky Hao
Cc: rui.zhang, edubezval, heiko, robh+dt, mark.rutland,
catalin.marinas, will.deacon, huangtao, devicetree, linux-pm,
shawn.lin, linux-kernel, linux-rockchip, cl, william.wu, jay.xu,
xxx, linux-arm-kernel, wxt
Hi Rocky,
在 2017年08月24日 18:27, Rocky Hao 写道:
> Add a new compatible for thermal founding on RV1108 SoCs.
>
> Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
> ---
> Documentation/devicetree/bindings/thermal/rockchip-thermal.txt | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt b/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
> index e3a6234fb1ac..43d744e5305e 100644
> --- a/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
> +++ b/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
> @@ -2,6 +2,7 @@
>
> Required properties:
> - compatible : should be "rockchip,<name>-tsadc"
> + "rockchip,rv1108-tsadc": found on RV1108 SoCs
According to the order, we should put the string after the
"rockchip,rk3399-tsadc"..., not here.
> "rockchip,rk3228-tsadc": found on RK3228 SoCs
> "rockchip,rk3288-tsadc": found on RK3288 SoCs
> "rockchip,rk3328-tsadc": found on RK3328 SoCs
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/5] thermal: rockchip: Support the RV1108 SoC in thermal driver
2017-08-24 10:27 ` [PATCH 2/5] thermal: rockchip: Support the RV1108 SoC in thermal driver Rocky Hao
@ 2017-09-15 2:10 ` Caesar Wang
[not found] ` <341e8e9b-21c7-f418-b744-8c18737cb026-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
0 siblings, 1 reply; 18+ messages in thread
From: Caesar Wang @ 2017-09-15 2:10 UTC (permalink / raw)
To: Rocky Hao
Cc: mark.rutland, huangtao, heiko, devicetree, catalin.marinas,
shawn.lin, linux-pm, will.deacon, linux-kernel, edubezval,
linux-rockchip, robh+dt, linux-arm-kernel, william.wu, rui.zhang,
jay.xu, xxx, cl, wxt
Hi Rocky,
在 2017年08月24日 18:27, Rocky Hao 写道:
> RV1108 SOC has one Temperature Sensor for CPU.
>
> Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
> ---
> drivers/thermal/rockchip_thermal.c | 67 ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 67 insertions(+)
>
> diff --git a/drivers/thermal/rockchip_thermal.c b/drivers/thermal/rockchip_thermal.c
> index 9da3e1819210..299a8ade71fa 100644
> --- a/drivers/thermal/rockchip_thermal.c
> +++ b/drivers/thermal/rockchip_thermal.c
> @@ -242,6 +242,45 @@ struct tsadc_table {
> int temp;
> };
>
> +static const struct tsadc_table rv1108_table[] = {
> + {0, -40000},
> + {374, -40000},
> + {382, -35000},
> + {389, -30000},
> + {397, -25000},
> + {405, -20000},
> + {413, -15000},
> + {421, -10000},
> + {429, -5000},
> + {436, 0},
> + {444, 5000},
> + {452, 10000},
> + {460, 15000},
> + {468, 20000},
> + {476, 25000},
> + {483, 30000},
> + {491, 35000},
> + {499, 40000},
> + {507, 45000},
> + {515, 50000},
> + {523, 55000},
> + {531, 60000},
> + {539, 65000},
> + {547, 70000},
> + {555, 75000},
> + {562, 80000},
> + {570, 85000},
> + {578, 90000},
> + {586, 95000},
> + {594, 100000},
> + {602, 105000},
> + {610, 110000},
> + {618, 115000},
> + {626, 120000},
> + {634, 125000},
> + {TSADCV2_DATA_MASK, 125000},
> +};
> +
From the RV1108 TRM said, this table was used for the negative
temperature coefficient.
But the default table is positive temperature coefficient, why?
I think you don't need to use the negative temperature coefficient.
> static const struct tsadc_table rk3228_code_table[] = {
> {0, -40000},
> {588, -40000},
> @@ -779,6 +818,30 @@ static void rk_tsadcv2_tshut_mode(int chn, void __iomem *regs,
> writel_relaxed(val, regs + TSADCV2_INT_EN);
> }
>
> +static const struct rockchip_tsadc_chip rv1108_tsadc_data = {
> + .chn_id[SENSOR_CPU] = 0, /* cpu sensor is channel 0 */
> + .chn_num = 1, /* one channel for tsadc */
> +
> + .tshut_mode = TSHUT_MODE_GPIO, /* default TSHUT via GPIO give PMIC */
> + .tshut_polarity = TSHUT_LOW_ACTIVE, /* default TSHUT LOW ACTIVE */
> + .tshut_temp = 95000,
> +
> + .initialize = rk_tsadcv2_initialize,
> + .irq_ack = rk_tsadcv3_irq_ack,
> + .control = rk_tsadcv3_control,
If you will use the positive temperature coefficient, we need change it.
.control = rk_tsadcv2_control,
> + .get_temp = rk_tsadcv2_get_temp,
> + .set_alarm_temp = rk_tsadcv2_alarm_temp,
> + .set_tshut_temp = rk_tsadcv2_tshut_temp,
> + .set_tshut_mode = rk_tsadcv2_tshut_mode,
> +
> + .table = {
> + .id = rv1108_table,
> + .length = ARRAY_SIZE(rv1108_table),
> + .data_mask = TSADCV2_DATA_MASK,
> + .mode = ADC_INCREMENT,
Ditto
-Caesar
> + },
> +};
> +
> static const struct rockchip_tsadc_chip rk3228_tsadc_data = {
> .chn_id[SENSOR_CPU] = 0, /* cpu sensor is channel 0 */
> .chn_num = 1, /* one channel for tsadc */
> @@ -928,6 +991,10 @@ static void rk_tsadcv2_tshut_mode(int chn, void __iomem *regs,
>
> static const struct of_device_id of_rockchip_thermal_match[] = {
> {
> + .compatible = "rockchip,rv1108-tsadc",
> + .data = (void *)&rv1108_tsadc_data,
> + },
> + {
> .compatible = "rockchip,rk3228-tsadc",
> .data = (void *)&rk3228_tsadc_data,
> },
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 3/5] arm: dts: rockchip: add tsadc node for RV1108 SoC
2017-08-24 10:27 ` [PATCH 3/5] arm: dts: rockchip: add tsadc node for RV1108 SoC Rocky Hao
@ 2017-09-15 2:25 ` Caesar Wang
2017-09-15 3:52 ` rocky.hao
2017-10-17 19:00 ` Heiko Stuebner
1 sibling, 1 reply; 18+ messages in thread
From: Caesar Wang @ 2017-09-15 2:25 UTC (permalink / raw)
To: Rocky Hao
Cc: rui.zhang, edubezval, heiko, robh+dt, mark.rutland,
catalin.marinas, will.deacon, huangtao, devicetree, linux-pm,
shawn.lin, linux-kernel, linux-rockchip, cl, william.wu, jay.xu,
xxx, linux-arm-kernel, wxt
Rocky,
在 2017年08月24日 18:27, Rocky Hao 写道:
> Add tsadc needed main information for RV1108 SoC.
> 750000Hz is the max clock rate supported by tsadc module.
>
> Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
> ---
> arch/arm/boot/dts/rv1108.dtsi | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/arch/arm/boot/dts/rv1108.dtsi b/arch/arm/boot/dts/rv1108.dtsi
> index 25fab0b80f53..dbdd8c2180e7 100644
> --- a/arch/arm/boot/dts/rv1108.dtsi
> +++ b/arch/arm/boot/dts/rv1108.dtsi
> @@ -275,6 +275,25 @@
> status = "disabled";
> };
>
> + tsadc: tsadc@10370000 {
> + compatible = "rockchip,rv1108-tsadc";
> + reg = <0x10370000 0x100>;
> + interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
> + assigned-clocks = <&cru SCLK_TSADC>;
> + assigned-clock-rates = <750000>;
> + clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
> + clock-names = "tsadc", "apb_pclk";
> + pinctrl-names = "init", "default", "sleep";
> + pinctrl-0 = <&otp_gpio>;
> + pinctrl-1 = <&otp_out>;
> + pinctrl-2 = <&otp_gpio>;
> + resets = <&cru SRST_TSADC>;
> + reset-names = "tsadc-apb";
> + rockchip,hw-tshut-temp = <120000>;
From the Patch[4/5], you set the critial temperature is 95 degree. I
will suggest the Tshut temperature is 100 degree.
Think about the the peripherial devices, the 120 degree will damage
some chips.
> + #thermal-sensor-cells = <1>;
> + status = "disabled";
> + };
> +
> adc: adc@1038c000 {
> compatible = "rockchip,rv1108-saradc", "rockchip,rk3399-saradc";
> reg = <0x1038c000 0x100>;
> @@ -642,6 +661,16 @@
> };
> };
>
> + tsadc {
> + otp_out: otp-out {
> + rockchip,pins = <0 RK_PB7 RK_FUNC_1 &pcfg_pull_none>;
> + };
> +
> + otp_gpio: otp-gpio {
> + rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
> + };
> + };
> +
> uart0 {
> uart0_xfer: uart0-xfer {
> rockchip,pins = <3 RK_PA6 RK_FUNC_1 &pcfg_pull_up>,
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/5] thermal: rockchip: Support the RV1108 SoC in thermal driver
[not found] ` <341e8e9b-21c7-f418-b744-8c18737cb026-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
@ 2017-09-15 3:19 ` Caesar Wang
0 siblings, 0 replies; 18+ messages in thread
From: Caesar Wang @ 2017-09-15 3:19 UTC (permalink / raw)
To: Caesar Wang
Cc: Rocky Hao, mark.rutland-5wv7dgnIgG8,
huangtao-TNX95d0MmH7DzftRWevZcw, heiko-4mtYJXux2i+zQB+pC5nmwQ,
devicetree-u79uwXL29TY76Z2rM5mHXA, catalin.marinas-5wv7dgnIgG8,
shawn.lin-TNX95d0MmH7DzftRWevZcw, linux-pm-u79uwXL29TY76Z2rM5mHXA,
will.deacon-5wv7dgnIgG8, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
edubezval-Re5JQEeQqe8AvxtiuMwx3w,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
william.wu-TNX95d0MmH7DzftRWevZcw,
rui.zhang-ral2JQCrhuEAvxtiuMwx3w, jay.xu-TNX95d0MmH7DzftRWevZcw,
xxx-TNX95d0MmH7DzftRWevZcw, cl-TNX95d0MmH7DzftRWevZcw
在 2017年09月15日 10:10, Caesar Wang 写道:
> Hi Rocky,
>
> 在 2017年08月24日 18:27, Rocky Hao 写道:
>> RV1108 SOC has one Temperature Sensor for CPU.
>>
>> Signed-off-by: Rocky Hao <rocky.hao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
Reviewed-by: Caesar Wang <wxt-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
>> ---
>> drivers/thermal/rockchip_thermal.c | 67
>> ++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 67 insertions(+)
>>
>> diff --git a/drivers/thermal/rockchip_thermal.c
>> b/drivers/thermal/rockchip_thermal.c
>> index 9da3e1819210..299a8ade71fa 100644
>> --- a/drivers/thermal/rockchip_thermal.c
>> +++ b/drivers/thermal/rockchip_thermal.c
>> @@ -242,6 +242,45 @@ struct tsadc_table {
>> int temp;
>> };
>> +static const struct tsadc_table rv1108_table[] = {
>> + {0, -40000},
>> + {374, -40000},
>> + {382, -35000},
>> + {389, -30000},
>> + {397, -25000},
>> + {405, -20000},
>> + {413, -15000},
>> + {421, -10000},
>> + {429, -5000},
>> + {436, 0},
>> + {444, 5000},
>> + {452, 10000},
>> + {460, 15000},
>> + {468, 20000},
>> + {476, 25000},
>> + {483, 30000},
>> + {491, 35000},
>> + {499, 40000},
>> + {507, 45000},
>> + {515, 50000},
>> + {523, 55000},
>> + {531, 60000},
>> + {539, 65000},
>> + {547, 70000},
>> + {555, 75000},
>> + {562, 80000},
>> + {570, 85000},
>> + {578, 90000},
>> + {586, 95000},
>> + {594, 100000},
>> + {602, 105000},
>> + {610, 110000},
>> + {618, 115000},
>> + {626, 120000},
>> + {634, 125000},
>> + {TSADCV2_DATA_MASK, 125000},
>> +};
>> +
>
> From the RV1108 TRM said, this table was used for the negative
> temperature coefficient.
> But the default table is positive temperature coefficient, why?
> I think you don't need to use the negative temperature coefficient.
Sorry, the RV1108 TRM document is old on my hand, from the lastest
document Rockchip RV1108 TRM V1.0 Part1-20170505.pdf said,
The RV1108 is negative temprature coefficient, so please set this bit as
1'b1 :(
>
>> static const struct tsadc_table rk3228_code_table[] = {
>> {0, -40000},
>> {588, -40000},
>> @@ -779,6 +818,30 @@ static void rk_tsadcv2_tshut_mode(int chn, void
>> __iomem *regs,
>> writel_relaxed(val, regs + TSADCV2_INT_EN);
>> }
>> +static const struct rockchip_tsadc_chip rv1108_tsadc_data = {
>> + .chn_id[SENSOR_CPU] = 0, /* cpu sensor is channel 0 */
>> + .chn_num = 1, /* one channel for tsadc */
>> +
>> + .tshut_mode = TSHUT_MODE_GPIO, /* default TSHUT via GPIO give
>> PMIC */
>> + .tshut_polarity = TSHUT_LOW_ACTIVE, /* default TSHUT LOW ACTIVE */
>> + .tshut_temp = 95000,
>> +
>> + .initialize = rk_tsadcv2_initialize,
>> + .irq_ack = rk_tsadcv3_irq_ack,
>> + .control = rk_tsadcv3_control,
>
> If you will use the positive temperature coefficient, we need change it.
>
> .control = rk_tsadcv2_control,
>
>
>
>> + .get_temp = rk_tsadcv2_get_temp,
>> + .set_alarm_temp = rk_tsadcv2_alarm_temp,
>> + .set_tshut_temp = rk_tsadcv2_tshut_temp,
>> + .set_tshut_mode = rk_tsadcv2_tshut_mode,
>> +
>> + .table = {
>> + .id = rv1108_table,
>> + .length = ARRAY_SIZE(rv1108_table),
>> + .data_mask = TSADCV2_DATA_MASK,
>> + .mode = ADC_INCREMENT,
>
> Ditto
>
> -Caesar
>
>
>> + },
>> +};
>> +
>> static const struct rockchip_tsadc_chip rk3228_tsadc_data = {
>> .chn_id[SENSOR_CPU] = 0, /* cpu sensor is channel 0 */
>> .chn_num = 1, /* one channel for tsadc */
>> @@ -928,6 +991,10 @@ static void rk_tsadcv2_tshut_mode(int chn, void
>> __iomem *regs,
>> static const struct of_device_id of_rockchip_thermal_match[] = {
>> {
>> + .compatible = "rockchip,rv1108-tsadc",
>> + .data = (void *)&rv1108_tsadc_data,
>> + },
>> + {
>> .compatible = "rockchip,rk3228-tsadc",
>> .data = (void *)&rk3228_tsadc_data,
>> },
>
>
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 1/5] dt-bindings: rockchip-thermal: Support the RV1108 SoC compatible
[not found] ` <12073627-41af-3480-6379-839e07f5e8f3-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
@ 2017-09-15 3:20 ` rocky.hao
0 siblings, 0 replies; 18+ messages in thread
From: rocky.hao @ 2017-09-15 3:20 UTC (permalink / raw)
To: Caesar Wang
Cc: rui.zhang-ral2JQCrhuEAvxtiuMwx3w,
edubezval-Re5JQEeQqe8AvxtiuMwx3w, heiko-4mtYJXux2i+zQB+pC5nmwQ,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8,
catalin.marinas-5wv7dgnIgG8, will.deacon-5wv7dgnIgG8,
huangtao-TNX95d0MmH7DzftRWevZcw,
devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-pm-u79uwXL29TY76Z2rM5mHXA, shawn.lin-TNX95d0MmH7DzftRWevZcw,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
cl-TNX95d0MmH7DzftRWevZcw, william.wu-TNX95d0MmH7DzftRWevZcw,
jay.xu-TNX95d0MmH7DzftRWevZcw, xxx-TNX95d0MmH7DzftRWevZcw,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Hi Caesar,
Thanks for the reply.
在 2017/9/15 9:49, Caesar Wang 写道:
> Hi Rocky,
>
> 在 2017年08月24日 18:27, Rocky Hao 写道:
>> Add a new compatible for thermal founding on RV1108 SoCs.
>>
>> Signed-off-by: Rocky Hao <rocky.hao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
>> ---
>> Documentation/devicetree/bindings/thermal/rockchip-thermal.txt | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git
>> a/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
>> b/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
>> index e3a6234fb1ac..43d744e5305e 100644
>> --- a/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
>> +++ b/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
>> @@ -2,6 +2,7 @@
>> Required properties:
>> - compatible : should be "rockchip,<name>-tsadc"
>> + "rockchip,rv1108-tsadc": found on RV1108 SoCs
>
> According to the order, we should put the string after the
> "rockchip,rk3399-tsadc"..., not here.
It is okay for me.
>> "rockchip,rk3228-tsadc": found on RK3228 SoCs
>> "rockchip,rk3288-tsadc": found on RK3288 SoCs
>> "rockchip,rk3328-tsadc": found on RK3328 SoCs
>
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 3/5] arm: dts: rockchip: add tsadc node for RV1108 SoC
2017-09-15 2:25 ` Caesar Wang
@ 2017-09-15 3:52 ` rocky.hao
0 siblings, 0 replies; 18+ messages in thread
From: rocky.hao @ 2017-09-15 3:52 UTC (permalink / raw)
To: Caesar Wang
Cc: rui.zhang, edubezval, heiko, robh+dt, mark.rutland,
catalin.marinas, will.deacon, huangtao, devicetree, linux-pm,
shawn.lin, linux-kernel, linux-rockchip, cl, william.wu, jay.xu,
xxx, linux-arm-kernel
Hi Caesar,
Thanks for the reply.
在 2017/9/15 10:25, Caesar Wang 写道:
> Rocky,
>
> 在 2017年08月24日 18:27, Rocky Hao 写道:
>> Add tsadc needed main information for RV1108 SoC.
>> 750000Hz is the max clock rate supported by tsadc module.
>>
>> Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
>> ---
>> arch/arm/boot/dts/rv1108.dtsi | 29 +++++++++++++++++++++++++++++
>> 1 file changed, 29 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/rv1108.dtsi
>> b/arch/arm/boot/dts/rv1108.dtsi
>> index 25fab0b80f53..dbdd8c2180e7 100644
>> --- a/arch/arm/boot/dts/rv1108.dtsi
>> +++ b/arch/arm/boot/dts/rv1108.dtsi
>> @@ -275,6 +275,25 @@
>> status = "disabled";
>> };
>> + tsadc: tsadc@10370000 {
>> + compatible = "rockchip,rv1108-tsadc";
>> + reg = <0x10370000 0x100>;
>> + interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
>> + assigned-clocks = <&cru SCLK_TSADC>;
>> + assigned-clock-rates = <750000>;
>> + clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
>> + clock-names = "tsadc", "apb_pclk";
>> + pinctrl-names = "init", "default", "sleep";
>> + pinctrl-0 = <&otp_gpio>;
>> + pinctrl-1 = <&otp_out>;
>> + pinctrl-2 = <&otp_gpio>;
>> + resets = <&cru SRST_TSADC>;
>> + reset-names = "tsadc-apb";
>> + rockchip,hw-tshut-temp = <120000>;
>
> From the Patch[4/5], you set the critial temperature is 95 degree. I
> will suggest the Tshut temperature is 100 degree.
Setting rockchip,hw-tshut-temp = <120000>; is not a problem.
Maybe we should change the critial temperature (soc_crit: soc-crit) to
115 degree. I will explain more in another thread Patch[4/5] arm: dts:
rockchip: add thermal nodes for RV1108 SoC @
https://patchwork.kernel.org/patch/9919757/
> Think about the the peripherial devices, the 120 degree will damage
> some chips.
>
>> + #thermal-sensor-cells = <1>;
>> + status = "disabled";
>> + };
>> +
>> adc: adc@1038c000 {
>> compatible = "rockchip,rv1108-saradc",
>> "rockchip,rk3399-saradc";
>> reg = <0x1038c000 0x100>;
>> @@ -642,6 +661,16 @@
>> };
>> };
>> + tsadc {
>> + otp_out: otp-out {
>> + rockchip,pins = <0 RK_PB7 RK_FUNC_1 &pcfg_pull_none>;
>> + };
>> +
>> + otp_gpio: otp-gpio {
>> + rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
>> + };
>> + };
>> +
>> uart0 {
>> uart0_xfer: uart0-xfer {
>> rockchip,pins = <3 RK_PA6 RK_FUNC_1 &pcfg_pull_up>,
>
>
>
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 4/5] arm: dts: rockchip: add thermal nodes for RV1108 SoC
2017-08-24 10:27 ` [PATCH 4/5] arm: dts: rockchip: add thermal nodes " Rocky Hao
@ 2017-09-15 6:32 ` rocky.hao
[not found] ` <1503570475-7850-5-git-send-email-rocky.hao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
1 sibling, 0 replies; 18+ messages in thread
From: rocky.hao @ 2017-09-15 6:32 UTC (permalink / raw)
To: rui.zhang, edubezval, heiko, robh+dt, mark.rutland,
catalin.marinas, will.deacon
Cc: shawn.lin, cl, william.wu, linux-pm, linux-arm-kernel,
linux-rockchip, linux-kernel, devicetree, xxx, jay.xu, wxt,
huangtao
在 2017/8/24 18:27, Rocky Hao 写道:
> Add thermal zone and dynamic CPU power coefficients for RV1108
>
> Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
> ---
> arch/arm/boot/dts/rv1108.dtsi | 40 ++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 40 insertions(+)
>
> diff --git a/arch/arm/boot/dts/rv1108.dtsi b/arch/arm/boot/dts/rv1108.dtsi
> index dbdd8c2180e7..cae920b6a145 100644
> --- a/arch/arm/boot/dts/rv1108.dtsi
> +++ b/arch/arm/boot/dts/rv1108.dtsi
> @@ -43,6 +43,7 @@
> #include <dt-bindings/interrupt-controller/arm-gic.h>
> #include <dt-bindings/clock/rv1108-cru.h>
> #include <dt-bindings/pinctrl/rockchip.h>
> +#include <dt-bindings/thermal/thermal.h>
> / {
> #address-cells = <1>;
> #size-cells = <1>;
> @@ -69,6 +70,8 @@
> device_type = "cpu";
> compatible = "arm,cortex-a7";
> reg = <0xf00>;
> + #cooling-cells = <2>; /* min followed by max */
> + dynamic-power-coefficient = <75>;
> };
> };
>
> @@ -275,6 +278,43 @@
> status = "disabled";
> };
>
> + thermal-zones {
> + soc_thermal: soc-thermal {
> + polling-delay-passive = <20>;
> + polling-delay = <1000>;
> + sustainable-power = <50>;
> +
> + thermal-sensors = <&tsadc 0>;
> +
> + trips {
> + threshold: trip-point0 {
> + temperature = <70000>;
> + hysteresis = <2000>;
> + type = "passive";
> + };
> + target: trip-point1 {
> + temperature = <85000>;
> + hysteresis = <2000>;
> + type = "passive";
> + };
> + soc_crit: soc-crit {
> + temperature = <95000>;
Hi Caesar,
For now, dsp is not supported by upstream code, 95000 is proper setting
for arm core. Arm core is the only cooling device controlled by IPA(a
good thermal control policy) policy. Once dsp is supported by upstream
code one day in the feature, its heating is controlled by userspace
code, initially. So we should change soc-crit from 95000 to 115000.
If dsp is added and control also by IPA(thermal control policy ) policy
in kernel space, we should update threshold, target, soc_crit settings.
Hi Heiko,
Considering the dsp may be supported, changing soc_crit from 95000 to
115000 is okay for me. Still it looks strange why target is 85000 but
soc_crit is 115000.
Thanks & Best Wishes,
Rocky
> + hysteresis = <2000>;
> + type = "critical";
> + };
> + };
> +
> + cooling-maps {
> + map0 {
> + trip = <&target>;
> + cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> + contribution = <4096>;
> + };
> + };
> + };
> +
> + };
> +
> tsadc: tsadc@10370000 {
> compatible = "rockchip,rv1108-tsadc";
> reg = <0x10370000 0x100>;
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 0/5] thermal: rockchip: add tsadc support in thermal driver and IPA thermal control for RV1108 in dts
2017-08-24 10:27 [PATCH 0/5] thermal: rockchip: add tsadc support in thermal driver and IPA thermal control for RV1108 in dts Rocky Hao
` (3 preceding siblings ...)
2017-08-24 10:32 ` [PATCH 5/5] arm: dts: rockchip: enable tsadc module on RV1108 evaluation board Rocky Hao
@ 2017-10-17 0:15 ` Eduardo Valentin
4 siblings, 0 replies; 18+ messages in thread
From: Eduardo Valentin @ 2017-10-17 0:15 UTC (permalink / raw)
To: Rocky Hao
Cc: rui.zhang, heiko, robh+dt, mark.rutland, catalin.marinas,
will.deacon, shawn.lin, cl, william.wu, linux-pm,
linux-arm-kernel, linux-rockchip, linux-kernel, devicetree, xxx,
jay.xu, wxt, huangtao
Hello,
On Thu, Aug 24, 2017 at 06:27:50PM +0800, Rocky Hao wrote:
> This series patches add the tsadc support in thermal driver and in devicetree for RV1108.
> Also add thermal control with Intelligent Power Allocation (IPA) policy by default. Please
> refer to https://developer.arm.com/open-source/intelligent-power-allocation for more information
> about IPA.
>
> Rocky Hao (5):
> dt-bindings: rockchip-thermal: Support the RV1108 SoC compatible
> thermal: rockchip: Support the RV1108 SoC in thermal driver
Applied patches 1 and 2.
> arm: dts: rockchip: add tsadc node for RV1108 SoC
> arm: dts: rockchip: add thermal nodes for RV1108 SoC
> arm: dts: rockchip: enable tsadc module on RV1108 evaluation board
>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
for the DT changes.
> .../bindings/thermal/rockchip-thermal.txt | 1 +
> arch/arm/boot/dts/rv1108-evb.dts | 4 ++
> arch/arm/boot/dts/rv1108.dtsi | 69 ++++++++++++++++++++++
> drivers/thermal/rockchip_thermal.c | 67 +++++++++++++++++++++
> 4 files changed, 141 insertions(+)
>
> --
> 1.9.1
>
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 3/5] arm: dts: rockchip: add tsadc node for RV1108 SoC
2017-08-24 10:27 ` [PATCH 3/5] arm: dts: rockchip: add tsadc node for RV1108 SoC Rocky Hao
2017-09-15 2:25 ` Caesar Wang
@ 2017-10-17 19:00 ` Heiko Stuebner
1 sibling, 0 replies; 18+ messages in thread
From: Heiko Stuebner @ 2017-10-17 19:00 UTC (permalink / raw)
To: Rocky Hao
Cc: rui.zhang, edubezval, robh+dt, mark.rutland, catalin.marinas,
will.deacon, shawn.lin, cl, william.wu, linux-pm,
linux-arm-kernel, linux-rockchip, linux-kernel, devicetree, xxx,
jay.xu, wxt, huangtao
Am Donnerstag, 24. August 2017, 18:27:53 CEST schrieb Rocky Hao:
> Add tsadc needed main information for RV1108 SoC.
> 750000Hz is the max clock rate supported by tsadc module.
>
> Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
applied for 4.15 with Eduardo's Ack.
Please make further adjustments for things like temperatures
in follow-up patches.
Thanks
Heiko
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 4/5] arm: dts: rockchip: add thermal nodes for RV1108 SoC
[not found] ` <1503570475-7850-5-git-send-email-rocky.hao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
@ 2017-10-17 19:00 ` Heiko Stuebner
0 siblings, 0 replies; 18+ messages in thread
From: Heiko Stuebner @ 2017-10-17 19:00 UTC (permalink / raw)
To: Rocky Hao
Cc: rui.zhang-ral2JQCrhuEAvxtiuMwx3w,
edubezval-Re5JQEeQqe8AvxtiuMwx3w, robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
mark.rutland-5wv7dgnIgG8, catalin.marinas-5wv7dgnIgG8,
will.deacon-5wv7dgnIgG8, shawn.lin-TNX95d0MmH7DzftRWevZcw,
cl-TNX95d0MmH7DzftRWevZcw, william.wu-TNX95d0MmH7DzftRWevZcw,
linux-pm-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, xxx-TNX95d0MmH7DzftRWevZcw,
jay.xu-TNX95d0MmH7DzftRWevZcw, wxt-TNX95d0MmH7DzftRWevZcw,
huangtao-TNX95d0MmH7DzftRWevZcw
Am Donnerstag, 24. August 2017, 18:27:54 CEST schrieb Rocky Hao:
> Add thermal zone and dynamic CPU power coefficients for RV1108
>
> Signed-off-by: Rocky Hao <rocky.hao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
applied for 4.15 with Eduardo's Ack.
Please make further adjustments for things like temperatures
in follow-up patches.
Thanks
Heiko
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 5/5] arm: dts: rockchip: enable tsadc module on RV1108 evaluation board
2017-08-24 10:32 ` [PATCH 5/5] arm: dts: rockchip: enable tsadc module on RV1108 evaluation board Rocky Hao
@ 2017-10-17 19:01 ` Heiko Stuebner
0 siblings, 0 replies; 18+ messages in thread
From: Heiko Stuebner @ 2017-10-17 19:01 UTC (permalink / raw)
To: Rocky Hao
Cc: rui.zhang, edubezval, robh+dt, mark.rutland, catalin.marinas,
will.deacon, shawn.lin, cl, william.wu, linux-pm,
linux-arm-kernel, linux-rockchip, linux-kernel, devicetree, xxx,
jay.xu, wxt, huangtao
Am Donnerstag, 24. August 2017, 18:32:14 CEST schrieb Rocky Hao:
> Enable tsadc module on RV1108 evaluation board
>
> Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
applied for 4.15 with Eduardo's Ack.
Thanks
Heiko
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2017-10-17 19:01 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-24 10:27 [PATCH 0/5] thermal: rockchip: add tsadc support in thermal driver and IPA thermal control for RV1108 in dts Rocky Hao
2017-08-24 10:27 ` [PATCH 1/5] dt-bindings: rockchip-thermal: Support the RV1108 SoC compatible Rocky Hao
2017-08-31 17:57 ` Rob Herring
2017-09-15 1:49 ` Caesar Wang
[not found] ` <12073627-41af-3480-6379-839e07f5e8f3-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2017-09-15 3:20 ` rocky.hao
2017-08-24 10:27 ` [PATCH 2/5] thermal: rockchip: Support the RV1108 SoC in thermal driver Rocky Hao
2017-09-15 2:10 ` Caesar Wang
[not found] ` <341e8e9b-21c7-f418-b744-8c18737cb026-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2017-09-15 3:19 ` Caesar Wang
[not found] ` <1503570475-7850-1-git-send-email-rocky.hao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2017-08-24 10:27 ` [PATCH 3/5] arm: dts: rockchip: add tsadc node for RV1108 SoC Rocky Hao
2017-09-15 2:25 ` Caesar Wang
2017-09-15 3:52 ` rocky.hao
2017-10-17 19:00 ` Heiko Stuebner
2017-08-24 10:27 ` [PATCH 4/5] arm: dts: rockchip: add thermal nodes " Rocky Hao
2017-09-15 6:32 ` rocky.hao
[not found] ` <1503570475-7850-5-git-send-email-rocky.hao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2017-10-17 19:00 ` Heiko Stuebner
2017-08-24 10:32 ` [PATCH 5/5] arm: dts: rockchip: enable tsadc module on RV1108 evaluation board Rocky Hao
2017-10-17 19:01 ` Heiko Stuebner
2017-10-17 0:15 ` [PATCH 0/5] thermal: rockchip: add tsadc support in thermal driver and IPA thermal control for RV1108 in dts Eduardo Valentin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).