Caesar, On Fri, Oct 24, 2014 at 11:21:46AM +0800, Caesar Wang wrote: > Dmitry, > > 在 2014/10/24 10:32, Dmitry Torokhov 写道: > >On Fri, Oct 24, 2014 at 10:06:43AM +0800, Caesar Wang wrote: > >>在 2014/10/24 9:37, Dmitry Torokhov 写道: > >>>On October 23, 2014 6:08:52 PM PDT, Caesar Wang <caesar.wang@xxxxxxxxxxxxxx> wrote: > >>>>Dmitry, > >>>> > >>>>在 2014/10/24 8:46, Dmitry Torokhov 写道: > >>>>>Hi Caesar, > >>>>> > >>>>>On Thu, Oct 23, 2014 at 05:40:06PM +0800, Caesar Wang wrote: > >>>>>>This patch is depend on rk3288-thermal.dtsi,or > >>>>>>it will compile error. > >>>>>> > >>>>>>If the temperature over a period of time High,over 120C > >>>>>>the resulting TSHUT gave CRU module,let it reset > >>>>>>the entire chip,or via GPIO give PMIC. > >>>>>> > >>>>>>Signed-off-by: Caesar Wang <caesar.wang@xxxxxxxxxxxxxx> > >>>>>>--- > >>>>>> arch/arm/boot/dts/rk3288.dtsi | 21 +++++++++++++++++++++ > >>>>>> 1 file changed, 21 insertions(+) > >>>>>> > >>>>>>diff --git a/arch/arm/boot/dts/rk3288.dtsi > >>>>b/arch/arm/boot/dts/rk3288.dtsi > >>>>>>index cb18bb4..85fc17a 100644 > >>>>>>--- a/arch/arm/boot/dts/rk3288.dtsi > >>>>>>+++ b/arch/arm/boot/dts/rk3288.dtsi > >>>>>>@@ -15,6 +15,7 @@ > >>>>>> #include <dt-bindings/interrupt-controller/arm-gic.h> > >>>>>> #include <dt-bindings/pinctrl/rockchip.h> > >>>>>> #include <dt-bindings/clock/rk3288-cru.h> > >>>>>>+#include <dt-bindings/thermal/thermal.h> > >>>>>> #include "skeleton.dtsi" > >>>>>> / { > >>>>>>@@ -66,6 +67,7 @@ > >>>>>> 216000 900000 > >>>>>> 126000 900000 > >>>>>> >; > >>>>>>+ #cooling-cells = <2>; /* min followed by max */ > >>>>>> clock-latency = <40000>; > >>>>>> clocks = <&cru ARMCLK>; > >>>>>> }; > >>>>>>@@ -346,6 +348,19 @@ > >>>>>> status = "disabled"; > >>>>>> }; > >>>>>>+ tsadc: tsadc@ff280000 { > >>>>>>+ compatible = "rockchip,rk3288-tsadc"; > >>>>>>+ reg = <0xff280000 0x100>; > >>>>>>+ interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; > >>>>>>+ clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; > >>>>>>+ clock-names = "tsadc", "apb_pclk"; > >>>>>>+ pinctrl-names = "default"; > >>>>>>+ pinctrl-0 = <&otp_out>; > >>>>>>+ #thermal-sensor-cells = <1>; > >>>>>>+ hw-shut-temp = <120000>; > >>>>>I do not think this is a good value. You have (in the other DTS file) > >>>>>passive trip point at 80 and critical (which should result in orderly > >>>>>shutdown) at 125. But here you define hardware-controlled shutdown at > >>>>>120C, which is backwards. You should have: > >>>>> > >>>>>passive <= critical <= hardware > >>>>Hmmm.... > >>>>but, the system will shutdown when temperature over critial value, > >>>>there is no chance of triggering the TSHUT. > >>>> > >>>>If the temperature over a period of time High,as we know, > >>>>the resulting TSHUT gave CRU module,let it hot-reset the entire chip, > >>>>or via GPIO give PMIC cold-reset the entire chip. > >>>Having tshut trigger is not the goal, tshut is the measure of last resort. If we can handle thermal conditions without triggering tshut, we achieved our goal. > >>> > >>>Tshut triggering is " oh, crap, nothing we tried works" scenario. > >>I don't think so. > >> > >>In general,We should have: > >>passive <= hardware(reset entire chip) <= critical(shutdown) > >> > >>The temperature be rising qulckly if have some other conditions, > >>the "critical" will play a role. > >No, I think it should be the other way around: if we are unable to cool > >down the laptop under load we need to shut it down and let it cool. If > >for some reason we are unable to shut it down in orderly fashion (kernel > >is stuck holding a lock or similar) then hardware will reset it. > > > >At least that's how I understand it. > hmmm.... > > OK,agree,this is a option. > > I think I should set hw-shut-temp = <125000>; > and critical = <120000>; > Yes, this should work, thanks! -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html