Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Sep 2016 15:52:33 +0300
From:      Daniel Braniss <danny@cs.huji.ac.il>
To:        Jared McNeill <jmcneill@invisible.ca>
Cc:        arm@freebsd.org
Subject:   Re: ALL WINNER high temp. stop
Message-ID:  <6E63B10F-86C5-45EE-8D8B-2192D8C8A63C@cs.huji.ac.il>
In-Reply-To: <F9921024-17CF-4654-83B1-CD4D705DA25D@cs.huji.ac.il>
References:  <B11041B2-0EDD-4E20-8684-CB471C17D81B@cs.huji.ac.il> <20160917171911.a2ec80da747ba373ba3d1b4a@bidouilliste.com> <5ADFE16E-FD60-45B1-8CF1-6FFC10BABBDE@cs.huji.ac.il> <20160917195544.a2a8bbdb113029700fa7642d@bidouilliste.com> <588E44BB-40BF-40B8-9C5A-BA025AB87E00@cs.huji.ac.il> <alpine.DEB.2.11.1609180930230.641@dis.invisible.ca> <4F7891B0-FBD7-451C-BA42-50F872804C95@cs.huji.ac.il> <08E5651B-A28E-4BE8-803B-650CD2434979@cs.huji.ac.il> <01D85517-15ED-46FF-8C11-5A774EC1262F@cs.huji.ac.il> <alpine.DEB.2.11.1609210745050.641@dis.invisible.ca> <7BFD291A-E619-4DE4-9BBB-C1F40E81F12A@cs.huji.ac.il> <F9921024-17CF-4654-83B1-CD4D705DA25D@cs.huji.ac.il>

index | next in thread | previous in thread | raw e-mail


> On 21 Sep 2016, at 14:22, Daniel Braniss <danny@cs.huji.ac.il> wrote:
> 
>> 
>> On 21 Sep 2016, at 14:13, Daniel Braniss <danny@cs.huji.ac.il <mailto:danny@cs.huji.ac.il>> wrote:
>> 
>> 
>>> On 21 Sep 2016, at 13:49, Jared McNeill <jmcneill@invisible.ca> wrote:
>>> 
>>> CPU frequency scaling is supported now. Have you added operating points to the dts? Without a heatsink or fan, you need to set a reasonable set of operating points.
>>> 
>>> 64C does seem quite low, the thermal driver uses the power-on default temperature for the shutdown temperature though (which should be > 100C).
>>> 
>>> Are you sure you are using the correct compat string for the thermal driver in your dts? Different SoCs use a different formula for reading the temperature.
>> 
>> I’m using what you sent me :-)
>> https://github.com/jaredmcneill/freebsd/blob/allwinner-h3/sys/boot/fdt/dts/arm/orangepi-plus-2e.dts#L12 <https://github.com/jaredmcneill/freebsd/blob/allwinner-h3/sys/boot/fdt/dts/arm/orangepi-plus-2e.dts#L12>; <https://github.com/jaredmcneill/freebsd/blob/allwinner-h3/sys/boot/fdt/dts/arm/orangepi-plus-2e.dts#L121 <https://github.com/jaredmcneill/freebsd/blob/allwinner-h3/sys/boot/fdt/dts/arm/orangepi-plus-2e.dts#L121>>;
>> 
> 
> here is my dts for the orange-one:
> /*-
> * Copyright (c) 2016 Jared McNeill <jmcneill@invisible.ca <mailto:jmcneill@invisible.ca>>
> * All rights reserved.
> *
> * Redistribution and use in source and binary forms, with or without
> * modification, are permitted provided that the following conditions
> * are met:
> * 1. Redistributions of source code must retain the above copyright
> *    notice, this list of conditions and the following disclaimer.
> * 2. Redistributions in binary form must reproduce the above copyright
> *    notice, this list of conditions and the following disclaimer in the
> *    documentation and/or other materials provided with the distribution.
> *
> * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
> * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
> * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> * SUCH DAMAGE.
> *
> * $FreeBSD$
> */
> #include "sun8i-h3-orangepi-one.dts"
> 
> / {
>        clocks {
> 	       ths_clk: clk@1c20074 {
> 	       	       #clock-cells = <0>;
> 		       compatible = "allwinner,sun8i-h3-ths-clk";
> 		       reg = <0x01c20074 0x4>;
> 		       clocks = <&osc24M>;
> 		       clock-output-names = "ths";
> 		};
>        };
> 	soc {
> 		emac: ethernet@1c30000 {
> 			compatible = "allwinner,sun8i-h3-emac";
> 			reg = <0x01c30000 0x104>, <0x01c00030 0x4>;
> 			reg-names = "emac", "syscon";
> 			interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
> 			resets = <&ahb_rst 17>;
> 			reset-names = "ahb";
> 			clocks = <&bus_gates 17>;
> 			clock-names = "ahb";
> 			#address-cells = <1>;
> 			#size-cells = <0>;
> 			status = "disabled";
> 		};
> 		
> 		sid: eeprom@01c14000 {
> 			compatible = "allwinner,sun8i-h3-sid";
> 			reg = <0x01c14000 0x400>;
> 		};
> 
> 		rtp: rtp@1c25000 {
> 			compatible = "allwinner,sun8i-h3-ts";
> 			reg = <0x01c25000 0x400>;
> 			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
> 			clocks = <&bus_gates 72>,<&ths_clk>;
> 			clock-names = "ahb", "ths";
> 			resets = <&apb1_rst 8>;
> 			#thermal-sensor-cells = <0>;
> 		};
> 
> 	};
> };
> 
> &mmc0_pins_a {
> 	allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
> };
> 
> &pio {
>        emac_pins_rgmii_a: emac_rgmii@0 {
>                allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5",
>                		 "PD7", "PD8", "PD9", "PD10", "PD12", "PD13",
> 				 "PD15", "PD16", "PD17";
>                allwinner,function = "emac";
>                allwinner,drive = <SUN4I_PINCTRL_40_MA>;
>                allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
>        };
> 
> 	emac_phy_reset_pin: emac_phy_reset_pin@0 {
> 		allwinner,pins = "PD6";
> 		allwinner,function = "gpio_out";
> 		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
> 		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
> 	};
> };
> 
> 
> /*
> * Board-specific stuff here
> */
> 
> / {
> 	/*
> 	model = "Xunlong Orange Pi One";
> 	compatible = "xunlong,orangepi-one", "allwinner,sun8i-h3";
> 	*/
> 	reg_gmac_3v3: gmac-3v3 {
> 		compatible = "regulator-fixed";
> 		pinctrl-names = "default";
> 		pinctrl-0 = <&emac_phy_reset_pin>;
> 		regulator-name = "gmac-3v3";
> 		regulator-min-microvolt = <3300000>;
> 		regulator-max-microvolt = <3300000>;
> 		startup-delay-us = <100000>;
> 		enable-active-high;
> 		gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
> 	};
> };
> 
> &emac {
> 	phy-supply = <&reg_gmac_3v3>;
> 	phy-mode = "mii";
> 	phy = <&phy1>;
> 
> 	allwinner,leds-active-low;
> 	status = "okay";
> 
> 	allwinner,use-internal-phy;
> 	resets = <&ahb_rst 17>,<&ahb_rst 66>;
> 	reset-names = "ahb", "ephy";
> 	clocks = <&bus_gates 17>,<&bus_gates 128>;
> 	clock-names = "ahb","ephy";
> 
> 	phy1: ethernet-phy@1 {
> 		reg = <1>;
> 	};
> };
> 
> &ehci2 {
> 	status = "okay";
> };
> 
> 
>> 
>>> 
>>> Cheers,
>>> Jared
>>> 
>>> On Wed, 21 Sep 2016, Daniel Braniss wrote:
>>> 
>>>> hi all,
>>>> now that there is thermal control, trying to compile e.g. from ports
>>>> portmaster, heats up the cpu, which somewhere around 64C
>>>> decides to halt.
>>>> Now, I remember some weeks ago, with a kernel version
>>>> without the thermal stuff compiling python and all went ok,
>>>> so
>>>> Q: what is the thermal high water mark?
>>>> Q: are the latest changes overheating the cpu, or is the thermal driver over
>>>>  cautious?
>>>> 
>>>> danny
>>>> 
>>>> 
>>>> 


I added a printf to see what is read off the thermal sensor, and the first surprise is that it prints it twice for each
sysctl call, next, if I apply the formula from the docs:
	temp = (val - 2794) / -14.882
the numbers are much higher! 

val	C	C’
5ef: 32C  85.67C
5f4: 32C  85.34C
5e0: 34C  86.68C
5e6: 34C  86.28C
5de: 35C  86.82C
5d2: 36C  87.62C
5ca: 37C  88.16C
5ba: 39C  89.24C
5ae: 40C  90.04C
5a9: 41C  90.38C
59d: 42C  91.18C
581: 46C  93.07C
549: 53C  96.83C
541: 54C  97.37C
536: 55C  98.11C
51e: 58C  99.72C
516: 59C 100.26C
509: 60C 101.13C
502: 61C 101.60C
4f7: 62C 102.34C
4ef: 63C 102.88C
4f4: 63C 102.54C
4ea: 64C 103.21C
4eb: 64C 103.14C

Accordingly, the the SHUT0_T_HOT is 0x4E9, and so it shuts down at ~ 64/103, but I checking the temperature
externally and when it shows 35C, sysctl says 38C but val is 0x5C0

so what the f…. is going on here?

danny




help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6E63B10F-86C5-45EE-8D8B-2192D8C8A63C>