Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Feb 2018 23:08:40 +0100
From:      Milan Obuch <freebsd-arm@dino.sk>
To:        freebsd-arm@freebsd.org
Cc:        Greg V <greg@unrelenting.technology>, Juan Ambriz <jp_ambriz@hotmail.com>
Subject:   Re: No aw_thermal device on Orange Pi One
Message-ID:  <20180221230840.11c4febc@zeta.dino.sk>
In-Reply-To: <1a75717a-36a9-bda5-4c2e-dbd2e8154eff@unrelenting.technology>
References:  <BN6PR1101MB222656C4A1660EF0712E367C85CE0@BN6PR1101MB2226.namprd11.prod.outlook.com> <1a75717a-36a9-bda5-4c2e-dbd2e8154eff@unrelenting.technology>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 22 Feb 2018 00:54:09 +0300
Greg V via freebsd-arm <freebsd-arm@freebsd.org> wrote:

> On 02/22/2018 00:44, Juan Ambriz wrote:
> > Hi.
> >
> > Just built and image for Orange Pi One using r329366 with crochet.
> > Using the board configuration for OrangePi-Plus2E the only change
> > made was in setup.sh file to use u-boot-orangepi-one.
> >
> > Looking at old messages on the list I see that "aw_thermal0:
> > <Allwinner Thermal Sensor Controller> mem 0x1c25000-0x1c253ff" is
> > missing.  
> Hi. This happened because we're using device trees from upstream
> (Linux) now, and they do not have entries for the thermal sensor.
> 
> I made a little work-in-progress patch: 
> https://gist.github.com/myfreeweb/a6cb7261fc79977f4c1c224cfe5ca3de
> That uses the configuration proposed for Linux: 
> https://lkml.org/lkml/2018/1/28/406
> But it currently fails in aw_thermal_init.
> 
> And anyway, reading the sensor correctly depends on reading thermal 
> calibration data, which is currently in progress: 
> https://reviews.freebsd.org/D13556
>

Well, I am using Orange Pi Zero, which uses H2+ SoC instead of H3, but
they are almost the same (H2+ is kind of simplified H3).

For aw_thermal to work, you need to create your own dts file containing

#include "sun8i-h2-plus-orangepi-zero.dts"

/ {

	soc {

		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 = <&ccu CLK_BUS_THS>,<&ccu CLK_THS>;
			clock-names = "ahb", "ths";
			resets = <&ccu RST_BUS_THS>;
			#thermal-sensor-cells = <0>;
		};

	};

};

and maybe some other stuff, if you would like to use additional uart or
usb ports or other devices. Then compile it to dtb file and use that
when booting. It is possible you will be forced to adjust this in
future, when new device trees are imported, but this works for me now.

Regards,
Milan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180221230840.11c4febc>