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>