From patchwork Wed Jul 22 21:00:43 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?S=C3=B6ren_Hantel?= X-Patchwork-Id: 313 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from sin.lore.kernel.org (sin.lore.kernel.org [104.64.211.4]) by mxe881.netcup.net (Postfix) with ESMTPS id AA3FE1C0BC9 for ; Wed, 22 Jul 2026 23:02:13 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 104.64.211.4) smtp.mailfrom=linux-sunxi+bounces-24624-noreply=patchwork.local@lists.linux.dev smtp.helo=sin.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 104.64.211.4 as permitted sender) client-ip=104.64.211.4; envelope-from=linux-sunxi+bounces-24624-noreply=patchwork.local@lists.linux.dev; helo=sin.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sin.lore.kernel.org (Postfix) with ESMTP id 4E53A300B063 for ; Wed, 22 Jul 2026 21:01:19 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 06A193ACEEC; Wed, 22 Jul 2026 21:01:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="GOdpEJhs" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5B6452BE033 for ; Wed, 22 Jul 2026 21:01:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784754077; cv=none; b=iom4Zj3MOhJ4QVdtQbFGg5rfZw905S3jHnR5WFN3aHtGcAx9OOXyNIMG4usS+u5sZuvIm8AzHpAlnNqo2vvl2i5nCmP8awIFfK2qzfgQcWEHRihkZdnPQLJUvjYWqiBoPW/l6TPTUdpmDhdlcxxdezn8Oj9CJba/diJ09fcFOI8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784754077; c=relaxed/simple; bh=t46Babqj/B+1dHlW5fmgPaxIjdyCrT3Rb/Vc6H+uGPI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=cd1uSuc81yljSWH82IFQVRi1h9mEvyClmiJJeNyUgvKAUk/zamNubYSijxSPSO4OkJQ/qOm8UNDP8tcRhd3ho47w8Z61DAeTNNFNwacYu2DbFa4uUW/GgqEIu3VX9QLYYIlPD9KYjset5bqYusxOmWNLGQd3/01M741LDIa+ymM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=GOdpEJhs; arc=none smtp.client-ip=209.85.221.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-47db714766aso3941006f8f.0 for ; Wed, 22 Jul 2026 14:01:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784754074; x=1785358874; darn=lists.linux.dev; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=q/5F0oA5i8F/L34a9owjNm1QgCmiW32I4DyCKgmPKrs=; b=GOdpEJhsWDhcZEfR9EM5p1MIlFh+qjiVoLOap4PHaguWGfIhAA1Fd6It6/zQDf+qMx Qm9RhEy0yLdqXw/4aeIx27qzU9cel8nLFxpiwJuJRbev/CakX3Gw1F3waQq37OS8eOxB OsrE5f0suWO1pLrQdnJz1uo2cOz0dOP/L2MdCeEcN7ktnmxyUFwkGL30oqH9ZFueztwV gQ4ohNoew1dZjA0EJ0OOvUFrDCtKm3G9wLh6cnE7S5SXoU9/8F3un3m7mULVt0ttD8li rmRxNfqI2lf8LhSI3XyznCbQFF3mcx1Ql33a2jbsGs9g70ddK+dyU52nhmJEm97Vz6+f qQRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784754074; x=1785358874; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=q/5F0oA5i8F/L34a9owjNm1QgCmiW32I4DyCKgmPKrs=; b=K4irz04HbLkJwFaNEL0+v3emEZNQxSNN91GRITzMBTTnKdRL8XHP8SOVns5Myuif/Y q3Z+nqYupOvoEQioVdXV4XvOsp7JycESZ+Cvwr1JWhCSLAhDv6z3Cxx5VmwtGaaIEAwp rbszGUAEnc9p3OLUj4ekBAtyF2q/AG7loNOKZK05f83up8WKaWqnqhx+MB2NBDUixk3Q XpOsr5jv/YU+HJhYHo93M4IDZEkBDUrGaPeY+ubkGB/PUV/O4mxvxfGP1xDA9weJzEUP JETM+QVK55c4hNC09TtmS4vxFHBmyHwss2Z6FUdxfwbNJgJoInl2KK5R/TZlDfW84FeI WsZA== X-Forwarded-Encrypted: i=1; AHgh+RqzNT8ETdrDEBqbeF+s/C5FyipykGv6Cb8aMsPSAJyA6X0+eipOISrabVm3QVGe2urUfxrpI1mLg4KJbw==@lists.linux.dev X-Gm-Message-State: AOJu0YwRnd0bXVPbJR6Pp2SlIFC0b+sAD94JT9dX/RRbj7inzXJtBYdb 5YBBPmcwv3War0XG6OKcSYoMyxHk8jCrGWFcMdSxXDbF33AoEfCGbWNm X-Gm-Gg: AR+sD11WoIkiWu50QNl1bJS+UclHP/sdSQuTW9Qp5L0ZNNwLIQ+Ir8FcwkbyLdh7Bmg hUFXMwE/DBkOiHNiqtkRz5PAlmqFOn72304J82lxW8arYqfoDSZ7S+DxDustL4NSGog4AMbedy/ Ao5uSYP6h/MZl+yntZgsuf5pkMWl1A2O39OJD5lZwDOl9bYlNcApHVa++cK5eExe9dD9lBj9knU zXGIOTw2JEQiRYUTogtoe+wBExCXG5guSPJydTCvf+1t/rdise3bKM34W/R04fk4vLdUIzwzXcT I5HuWqhgQAoI78WxpJFqbv5CgB6qeHebw1CGFyU8jv7ULOSfnZWrm3nOKb01lIsPXO20ob2Erep Vh6KSNz71WwX1bQ0m2BJlUipqSwik7lSbrpCXFjPAGwqsKvXBP5WInoP/+gAunoF2uo/gc80cPB HjYeA/w+fFbKJRL1k4vMkea2GFs+x+/jI2aGs= X-Received: by 2002:a05:6000:42ca:b0:45a:5392:3a19 with SMTP id ffacd0b85a97d-47f840c94dcmr5450029f8f.16.1784754074458; Wed, 22 Jul 2026 14:01:14 -0700 (PDT) Received: from coolemuke.fritz.box ([2a00:6020:b320:1a00:c256:1463:a40b:d8c6]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f85c63678sm8610812f8f.29.2026.07.22.14.01.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jul 2026 14:01:13 -0700 (PDT) From: " =?utf-8?q?S=C3=B6ren_Hantel?= " X-Google-Original-From: =?utf-8?q?S=C3=B6ren_Hantel?= To: linux-pm@vger.kernel.org Cc: Vasily Khoruzhick , Yangtao Li , "Rafael J . Wysocki" , Daniel Lezcano , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Rossak , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, FuginInsanE Subject: [PATCH v2 0/3] thermal/drivers/sun8i: Add support for the Allwinner A80 thermal sensor Date: Wed, 22 Jul 2026 23:00:43 +0200 Message-ID: <20260722210046.2932498-1-fugininsane@googlemail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260722203341.2917852-1-fugininsane@googlemail.com> References: <20260722203341.2917852-1-fugininsane@googlemail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Rspamd-Server: rspamd-worker-8404 X-Spamd-Result: default: False [-1.16 / 15.00]; BAYES_HAM(-5.50)[100.00%]; RBL_SENDERSCORE(2.00)[104.64.211.4:from]; SUSPICIOUS_RECIPS(1.50)[]; DMARC_POLICY_SOFTFAIL(1.00)[gmail.com : SPF not aligned (relaxed), No valid DKIM,none]; MAILLIST(-0.15)[generic]; MIME_GOOD(-0.10)[text/plain]; BAD_REP_POLICIES(0.10)[]; HAS_LIST_UNSUB(-0.01)[]; RCPT_COUNT_TWELVE(0.00)[17]; TAGGED_RCPT(0.00)[dt]; DBL_BLOCKED_OPENRESOLVER(0.00)[sin.lore.kernel.org:rdns,sin.lore.kernel.org:helo]; TO_DN_SOME(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; FORGED_SENDER_MAILLIST(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,kernel.org,sholland.org,vger.kernel.org,lists.infradead.org,lists.linux.dev,googlemail.com]; R_SPF_ALLOW(0.00)[+ip4:104.64.211.4]; PRECEDENCE_BULK(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; FROM_HAS_DN(0.00)[]; ASN(0.00)[asn:63949, ipnet:104.64.192.0/19, country:SG]; ARC_ALLOW(0.00)[subspace.kernel.org:s=arc-20240116:i=1]; TAGGED_FROM(0.00)[bounces-24624-noreply=patchwork.local]; RCVD_COUNT_FIVE(0.00)[6]; FROM_NEQ_ENVFROM(0.00)[fugininsane@gmail.com,linux-sunxi@lists.linux.dev]; RCVD_VIA_SMTP_AUTH(0.00)[] X-Rspamd-Queue-Id: AA3FE1C0BC9 X-MORS-Enabled: yes X-MORS-DOMAIN: patchwork.local X-MORS-HOSTING: hosting172546 X-MORS-USER: hosting172546 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: FuginInsanE This series adds support for the thermal sensor of the Allwinner A80 (sun9i), the last SoC of the family with an in-tree DT but no THS support. The A80 THS is an early relative of the A83T/H3-era sensor generation: same register semantics, but the block, bus gate, module clock and reset line are shared with the GPADC, the THS registers start at offset 0x40, and there are four sensors (big cluster, DRAM, GPU, little cluster). Philipp Rossak posted a driver for this hardware back in 2018 as part of a larger THS rework which never landed for the A80; Armbian has been carrying his DT patches ever since. This series takes the mainline sun8i_thermal driver as the base instead: patch 2 adds a chip description derived from the vendor BSP (register init values, protection thresholds and the temperature formula), and patch 3 revives Philipp's DT patch with a fixed interrupt number (SPI 115 as in the vendor BSP - verified on hardware, the original SPI 31 never fires) and critical trip points. The A80 SID is not yet supported by the sunxi nvmem driver, so calibration data is unavailable for now and the driver falls back to defaults, which produce plausible values on real hardware. Tested on a Cubietech Cubieboard4: all four zones report load-reactive temperatures (idle ~40 degC, ~54 degC under sustained full load) tracking the BSP formula across the range we could provoke. Changes in v2: - Guard the calibrate callback invocation in sun8i_ths_calibrate() against chips without a calibrate op (would have oopsed if a calibration nvmem cell were ever added for the A80) - Do not enable the alarm interrupt: being level triggered it would retrigger at conversion rate for as long as an over-temperature condition persists; only the emergency shutdown interrupt remains enabled - Note: the unconditional IRQ_HANDLED in the existing interrupt handler predates this series and is left untouched here Philipp Rossak (1): ARM: dts: sun9i-a80: Add thermal sensor and thermal zones Sören Hantel (2): dt-bindings: thermal: sun8i: Add binding for the A80 THS controller thermal/drivers/sun8i: Add support for the A80 THS .../thermal/allwinner,sun8i-a83t-ths.yaml | 1 + arch/arm/boot/dts/allwinner/sun9i-a80.dtsi | 68 +++++++++++++ drivers/thermal/sun8i_thermal.c | 98 ++++++++++++++++++- 3 files changed, 166 insertions(+), 1 deletion(-)