[PATCH v4 0/5] Allwinner: A523: add support for A523 THS0/1 controllers

Mikhail Kalashnikov
2026-05-04T05:03:12Z

This patch series adds temperature sensor support for the Allwinner A523
family of processors (same die with H728/A527/T527)

Based on 7.1-rc1.

Changes v4~v3:
1) dt-bindings: thermal: sun8i: Add A523 THS0/1 controllers
- gpadc replaced to mod clock

x) thermal/drivers/sun8i: add gpadc clock
- removed

2) thermal/drivers/sun8i: replace devm_reset_control_get to
- no functional changes

3) thermal/drivers/sun8i: get calibration data from two nvmem cells
- no functional changes

4) thermal/drivers/sun8i: Add support for A523 THS0/1 controllers
- gpadc replaced to mod clock

5) arm64: dts: allwinner: A523: Add thermal sensors and zones
- gpadc replaced to mod clock

v3 https://lore.kernel.org/linux-sunxi/20251025043129.160454-1-iuncuim@gmail.com
Changes v3~v2:
x) dt-bindings: nvmem: SID: Add binding for A523 SID controller
- previously accepted, therefore removed from this version

1) dt-bindings: thermal: sun8i: Add A523 THS0/1 controllers
- added changes as requested by Rob

2) thermal/drivers/sun8i: add gpadc clock
- removed undescribed changes spaces to tabs

3) thermal/drivers/sun8i: replace devm_reset_control_get to
- changed the commit description to the version suggested by wens
- added reviewed-by tag

4) thermal/drivers/sun8i: get calibration data from two nvmem cells
- added spaces in the description block before "*"

5) thermal/drivers/sun8i: Add support for A523 THS0/1 controllers
- added alignment of functions in compliance with open parenthesis

x) arm64: dts: allwinner: A523: Add SID controller node
- previously accepted, therefore removed from this version

6) arm64: dts: allwinner: A523: Add thermal sensors and zones
- no functional changes

Changes v2~v1:
1) dt-bindings: nvmem: SID: Add binding for A523 SID controller
- added new patch

2) dt-bindings: thermal: sun8i: Add A523 THS0/1 controllers
- changed clock order
- added additional nvmem cell with calibration data
- added requirements for new controllers
- added description

3) thermal/drivers/sun8i: add gpadc clock
- removed unnecessary call to clk_prepare_enable() since
devm_clk_get_enabled()includes this

4) thermal/drivers/sun8i: replace devm_reset_control_get to
- original function replaced with devm_reset_control_get_shared_deasserted()
- removed some of the repetitive code executed by
devm_reset_control_get_shared_deasserted()

5) thermal/drivers/sun8i: get calibration data from two nvmem cells
- added possibility to get calibration data from two independent cells

6) thermal/drivers/sun8i: Add support for A523 THS0/1 controllers
- removed magic digits
- changed description of calibration data procedure for A523
- changed numbers of array elements with calibration data

7) arm64: dts: allwinner: A523: Add SID controller node
- fix typo (sun50i->sun55i)

8) arm64: dts: allwinner: A523: Add thermal sensors and zones
- cell with calibration data divided into two
- added passive trips for gpu
- added information that information obtained from BSP

v1: https://lore.kernel.org/linux-sunxi/20250411003827.782544-1-iuncuim@gmail.com

Mikhail Kalashnikov (5):
dt-bindings: thermal: sun8i: Add A523 THS0/1 controllers
thermal/drivers/sun8i: replace devm_reset_control_get to
devm_reset_control_get_shared_deasserted
thermal/drivers/sun8i: get calibration data from two nvmem cells
thermal/drivers/sun8i: Add support for A523 THS0/1 controllers
Allwinner: A523: add support for A523 THS0/1 controllers

.../thermal/allwinner,sun8i-a83t-ths.yaml | 54 ++++-
.../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 154 ++++++++++++
drivers/thermal/sun8i_thermal.c | 226 ++++++++++++++----
3 files changed, 391 insertions(+), 43 deletions(-)

--
2.54.0