All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] thermal/drivers/sun8i: Add support for the Allwinner A80 thermal sensor
@ 2026-07-22 20:33 Sören Hantel
  2026-07-22 20:33 ` [PATCH 1/3] dt-bindings: thermal: sun8i: Add binding for the A80 THS controller Sören Hantel
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Sören Hantel @ 2026-07-22 20:33 UTC (permalink / raw)
  To: linux-pm
  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,
	linux-arm-kernel, linux-sunxi, linux-kernel, FuginInsanE

From: FuginInsanE <FuginInsanE@googlemail.com>

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.

Two A80 particularities are worth calling out: the data-ready
interrupt fires at the conversion rate on this SoC, so it stays
disabled and the sensors are polled, with the interrupt line serving
the alarm/shutdown events only (as in the vendor BSP). And 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.

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               | 93 ++++++++++++++++++-
 3 files changed, 161 insertions(+), 1 deletion(-)

-- 
2.43.0



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-07-22 21:10 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-22 20:33 [PATCH 0/3] thermal/drivers/sun8i: Add support for the Allwinner A80 thermal sensor Sören Hantel
2026-07-22 20:33 ` [PATCH 1/3] dt-bindings: thermal: sun8i: Add binding for the A80 THS controller Sören Hantel
2026-07-22 20:33 ` [PATCH 2/3] thermal/drivers/sun8i: Add support for the A80 THS Sören Hantel
2026-07-22 20:45   ` sashiko-bot
2026-07-22 20:33 ` [PATCH 3/3] ARM: dts: sun9i-a80: Add thermal sensor and thermal zones Sören Hantel
2026-07-22 20:46   ` sashiko-bot
2026-07-22 21:00 ` [PATCH v2 0/3] thermal/drivers/sun8i: Add support for the Allwinner A80 thermal sensor Sören Hantel
2026-07-22 21:00   ` [PATCH v2 1/3] dt-bindings: thermal: sun8i: Add binding for the A80 THS controller Sören Hantel
2026-07-22 21:00   ` [PATCH v2 2/3] thermal/drivers/sun8i: Add support for the A80 THS Sören Hantel
2026-07-22 21:00   ` [PATCH v2 3/3] ARM: dts: sun9i-a80: Add thermal sensor and thermal zones Sören Hantel
2026-07-22 21:10     ` sashiko-bot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.