[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