[PATCH 00/27] Add multi-channel and overheat IRQ support to Armada thermal driver
Miquel Raynal
miquel.raynal at bootlin.com
Sat Apr 21 08:12:28 PDT 2018
The only capability of the Armada thermal driver is currently just to
read one sensor (the default one) per AP and one per CP.
Actually, there is one sensor per core in the AP806 plus one sensor in
the thermal IP itself. The CP110 just features one thermal sensor in its
own thermal IP.
Also, there is no need for the thermal core to poll the temperature of
each sensor by software as this IP (at least for AP806 and CP110
compatibles) features an hardware overheat interrupt.
This series first improves the readability of this driver, then adds
support for multi-channel thermal IPs, and finally adds support for the
hardware overheat interrupt. The bindings and the device-trees are
updated accordingly.
Please note that the thermal IP raises SEI interrupts, from which the
support as just been contributed and not merged yet. Applying the last
DT patches referring to the 'sei' and 'icu_sei' nodes will require this
feature [1] to have been accepted first.
[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2018-April/572852.html
Thank you,
Miquèl
Miquel Raynal (27):
thermal: armada: add a function that sanitizes the thermal zone name
thermal: armada: remove useless register accesses
thermal: armada: remove misleading comments
thermal: armada: rename the initialization routine
thermal: armada: dissociate a380 and cp110 ->init() hooks
thermal: armada: average over samples to avoid glitches
thermal: armada: convert driver to syscon register accesses
thermal: armada: use the resource managed registration helper
alternative
thermal: armada: add multi-channel sensors support
thermal: armada: remove sensors validity from the IP initialization
thermal: armada: move validity check out of the read function
thermal: armada: get rid of the ->is_valid() pointer
thermal: armada: add overheat interrupt support
dt-bindings: cp110: rename cp110 syscon file
dt-bindings: ap806: prepare the syscon file to list other syscons
nodes
dt-bindings: cp110: prepare the syscon file to list other syscons
nodes
dt-bindings: ap806: add the thermal node in the syscon file
dt-bindings: cp110: update documentation since DT de-duplication
dt-bindings: cp110: add the thermal node in the syscon file
dt-bindings: thermal: armada: add reference to new bindings
arm64: dts: marvell: rename ap806 syscon node
arm64: dts: marvell: move AP806/CP110 thermal nodes into a new syscon
arm64: dts: marvell: add thermal-zone node in ap806 DTSI file
arm64: dts: marvell: add macro to make distinction between node names
arm64: dts: marvell: add thermal-zone node in cp110 DTSI file
arm64: dts: marvell: add interrupt support to ap806 thermal node
arm64: dts: marvell: add interrupt support to cp110 thermal node
.../arm/marvell/ap806-system-controller.txt | 55 +-
...controller0.txt => cp110-system-controller.txt} | 66 +-
.../devicetree/bindings/thermal/armada-thermal.txt | 5 +
arch/arm64/boot/dts/marvell/armada-ap806.dtsi | 85 +-
arch/arm64/boot/dts/marvell/armada-common.dtsi | 1 +
arch/arm64/boot/dts/marvell/armada-cp110.dtsi | 45 +-
drivers/thermal/armada_thermal.c | 875 ++++++++++++++++++---
7 files changed, 976 insertions(+), 156 deletions(-)
rename Documentation/devicetree/bindings/arm/marvell/{cp110-system-controller0.txt => cp110-system-controller.txt} (83%)
--
2.14.1
More information about the linux-arm-kernel
mailing list