From mboxrd@z Thu Jan 1 00:00:00 1970 From: Miquel Raynal Subject: [PATCH v3 00/23] Add multi-channel support to Armada thermal driver Date: Thu, 5 Jul 2018 18:04:14 +0200 Message-ID: <20180705160437.12325-1-miquel.raynal@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Gregory Clement , Jason Cooper , Andrew Lunn , Sebastian Hesselbarth , Zhang Rui , Eduardo Valentin Cc: Mark Rutland , devicetree@vger.kernel.org, Baruch Siach , linux-pm@vger.kernel.org, Antoine Tenart , Catalin Marinas , Will Deacon , Maxime Chevallier , Nadav Haklai , David Sniatkiwicz , Rob Herring , Thomas Petazzoni , Miquel Raynal , linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org VGhlIG9ubHkgY2FwYWJpbGl0eSBvZiB0aGUgQXJtYWRhIHRoZXJtYWwgZHJpdmVyIGlzIGN1cnJl bnRseSBqdXN0IHRvCnJlYWQgb25lIHNlbnNvciAodGhlIGRlZmF1bHQgb25lKSBwZXIgQVAgYW5k IG9uZSBwZXIgQ1AuIEFjdHVhbGx5LAp0aGVyZSBpcyBvbmUgc2Vuc29yIHBlciBjb3JlIGluIHRo ZSBBUDgwNiBwbHVzIG9uZSBzZW5zb3IgaW4gdGhlCnRoZXJtYWwgSVAgaXRzZWxmLiBUaGUgQ1Ax MTAganVzdCBmZWF0dXJlcyBvbmUgdGhlcm1hbCBzZW5zb3IgaW4gaXRzCm93biB0aGVybWFsIElQ LgoKVGhpcyBzZXJpZXMgZmlyc3QgaW1wcm92ZXMgdGhlIHJlYWRhYmlsaXR5IG9mIHRoaXMgZHJp dmVyLCB0aGVuIGFkZHMKc3VwcG9ydCBmb3IgbXVsdGktY2hhbm5lbCB0aGVybWFsIElQcy4gVGhl IGJpbmRpbmdzIGFuZCB0aGUKZGV2aWNlLXRyZWVzIGFyZSB1cGRhdGVkIGFjY29yZGluZ2x5LgoK VGhhbmsgeW91LApNaXF1w6hsCgoKQ2hhbmdlcyBzaW5jZSB2MjoKPT09PT09PT09PT09PT09PT0K KiBGaXhlZCB0eXBvcyBpbiAidGhlcm1hbDogYXJtYWRhOiBjb252ZXJ0IGRyaXZlciB0byBzeXNj b24gIHJlZ2lzdGVyCiAgYWNjZXNzZXMiIGNvbW1pdCBsb2cuCiogQWRkZWQgUm9iJ3MgUkIgdGFn cyBhZnRlciBjaGFuZ2luZyB0aGUgbm9kZSBuYW1lcyBib3RoIGluIHRoZQogIERvY3VtZW50YXRp b24gYW5kIGluIHRoZSBEVCBmaWxlcyB0aGlzIHdheToKICBzL3h4X3RoZXJtYWw6IHh4X3RoZXJt YWxAeXkveHhfdGhlcm1hbDogdGhlcm1hbC1zZW5zb3JAeXkvCiogRHJvcHBlZCB0aGUgcGF0Y2gg dGhhdCByZW5hbWVkIGxhYmVscyBpbiB0aGUgRG9jdW1lbnRhdGlvbiBvbiBSb2IncwogIG5vdGlj ZS4KKiBVbmlmb3JtaXplZCB0aGUgdHlwZSBvZiB0ZW1wZXJhdHVyZSB2YXJpYWJsZXMgdG8gJ2lu dCcgYXMgc3VnZ2VzdGVkIGluCiAgYSBwcmV2aW91cyBjb21taXQgZnJvbSBTYXNjaGEgSGF1ZXI6 CiAgMTdlODM1MWE3NzM5ICgidGhlcm1hbDogY29uc2lzdGVudGx5IHVzZSBpbnQgZm9yIHRlbXBl cmF0dXJlcyIpCgpDaGFuZ2VzIHNpbmNlIHYxOgo9PT09PT09PT09PT09PT09PQoqIEFkZGVkIHJl Z2lzdGVyIHJhbmdlcyBpbiB0aGUgdGhlcm1hbCBub2Rlcy4KKiBBZGRlZCB0aGVzZSByYW5nZXMg aW4gdGhlIGRvY3VtZW50YXRpb24gYWxzby4KKiBJbiB0aGUgYmluZGluZ3MsIHVzZWQgdGhlICJN dXN0IGJlIG9uZSBvZiIgZm9ybXVsYSBiZWZvcmUgbGlzdGluZyB0aGUKICBjb21wYXRpYmxlcy4K KiBSZW1vdmVkIHRoZSBvdmVyaGVhdCBpbnRlcnJ1cHQgc3VwcG9ydCB0aGF0IGRlcGVuZHMgb24g YW5vdGhlcgogIHNlcmllcy4gVGhpcyB3b3JrIGlzIGluZGVwZW5kZW50LgoqIFJlYmFzZWQgb24g dG9wIG9mIHY0LjE4LXJjMS4KCgpNaXF1ZWwgUmF5bmFsICgyMyk6CiAgdGhlcm1hbDogYXJtYWRh OiBhZGQgYSBmdW5jdGlvbiB0aGF0IHNhbml0aXplcyB0aGUgdGhlcm1hbCB6b25lIG5hbWUKICB0 aGVybWFsOiBhcm1hZGE6IHJlbW92ZSB1c2VsZXNzIHJlZ2lzdGVyIGFjY2Vzc2VzCiAgdGhlcm1h bDogYXJtYWRhOiByZW1vdmUgbWlzbGVhZGluZyBjb21tZW50cwogIHRoZXJtYWw6IGFybWFkYTog cmVuYW1lIHRoZSBpbml0aWFsaXphdGlvbiByb3V0aW5lCiAgdGhlcm1hbDogYXJtYWRhOiBkaXNz b2NpYXRlIGEzODAgYW5kIGNwMTEwIC0+aW5pdCgpIGhvb2tzCiAgdGhlcm1hbDogYXJtYWRhOiBh dmVyYWdlIG92ZXIgc2FtcGxlcyB0byBhdm9pZCBnbGl0Y2hlcwogIHRoZXJtYWw6IGFybWFkYTog Y29udmVydCBkcml2ZXIgdG8gc3lzY29uIHJlZ2lzdGVyIGFjY2Vzc2VzCiAgdGhlcm1hbDogYXJt YWRhOiB1c2UgdGhlIHJlc291cmNlIG1hbmFnZWQgcmVnaXN0cmF0aW9uIGhlbHBlcgogICAgYWx0 ZXJuYXRpdmUKICB0aGVybWFsOiBhcm1hZGE6IGFkZCBtdWx0aS1jaGFubmVsIHNlbnNvcnMgc3Vw cG9ydAogIHRoZXJtYWw6IGFybWFkYTogcmVtb3ZlIHNlbnNvcnMgdmFsaWRpdHkgZnJvbSB0aGUg SVAgaW5pdGlhbGl6YXRpb24KICB0aGVybWFsOiBhcm1hZGE6IG1vdmUgdmFsaWRpdHkgY2hlY2sg b3V0IG9mIHRoZSByZWFkIGZ1bmN0aW9uCiAgdGhlcm1hbDogYXJtYWRhOiBnZXQgcmlkIG9mIHRo ZSAtPmlzX3ZhbGlkKCkgcG9pbnRlcgogIGR0LWJpbmRpbmdzOiBjcDExMDogcmVuYW1lIGNwMTEw IHN5c2NvbiBmaWxlCiAgZHQtYmluZGluZ3M6IGFwODA2OiBwcmVwYXJlIHRoZSBzeXNjb24gZmls ZSB0byBsaXN0IG90aGVyIHN5c2NvbnMKICAgIG5vZGVzCiAgZHQtYmluZGluZ3M6IGNwMTEwOiBw cmVwYXJlIHRoZSBzeXNjb24gZmlsZSB0byBsaXN0IG90aGVyIHN5c2NvbnMKICAgIG5vZGVzCiAg ZHQtYmluZGluZ3M6IGFwODA2OiBhZGQgdGhlIHRoZXJtYWwgbm9kZSBpbiB0aGUgc3lzY29uIGZp bGUKICBkdC1iaW5kaW5nczogY3AxMTA6IHVwZGF0ZSBkb2N1bWVudGF0aW9uIHNpbmNlIERUIGRl LWR1cGxpY2F0aW9uCiAgZHQtYmluZGluZ3M6IGNwMTEwOiBhZGQgdGhlIHRoZXJtYWwgbm9kZSBp biB0aGUgc3lzY29uIGZpbGUKICBkdC1iaW5kaW5nczogdGhlcm1hbDogYXJtYWRhOiBhZGQgcmVm ZXJlbmNlIHRvIG5ldyBiaW5kaW5ncwogIGFybTY0OiBkdHM6IG1hcnZlbGw6IG1vdmUgQVA4MDYv Q1AxMTAgdGhlcm1hbCBub2RlcyBpbnRvIGEgbmV3IHN5c2NvbgogIGFybTY0OiBkdHM6IG1hcnZl bGw6IGFkZCB0aGVybWFsLXpvbmUgbm9kZSBpbiBhcDgwNiBEVFNJIGZpbGUKICBhcm02NDogZHRz OiBtYXJ2ZWxsOiBhZGQgbWFjcm8gdG8gbWFrZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIG5vZGUgbmFt ZXMKICBhcm02NDogZHRzOiBtYXJ2ZWxsOiBhZGQgdGhlcm1hbC16b25lIG5vZGUgaW4gY3AxMTAg RFRTSSBmaWxlCgogLi4uL2FybS9tYXJ2ZWxsL2FwODA2LXN5c3RlbS1jb250cm9sbGVyLnR4dCAg ICAgICAgfCAgNDggKy0KIC4uLmNvbnRyb2xsZXIwLnR4dCA9PiBjcDExMC1zeXN0ZW0tY29udHJv bGxlci50eHR9IHwgIDYxICsrLQogLi4uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9hcm1h ZGEtdGhlcm1hbC50eHQgfCAgIDUgKwogYXJjaC9hcm02NC9ib290L2R0cy9tYXJ2ZWxsL2FybWFk YS1hcDgwNi5kdHNpICAgICAgfCAgNzQgKystCiBhcmNoL2FybTY0L2Jvb3QvZHRzL21hcnZlbGwv YXJtYWRhLWNvbW1vbi5kdHNpICAgICB8ICAgMSArCiBhcmNoL2FybTY0L2Jvb3QvZHRzL21hcnZl bGwvYXJtYWRhLWNwMTEwLmR0c2kgICAgICB8ICAzNyArLQogZHJpdmVycy90aGVybWFsL2FybWFk YV90aGVybWFsLmMgICAgICAgICAgICAgICAgICAgfCA1MzQgKysrKysrKysrKysrKysrKy0tLS0t CiA3IGZpbGVzIGNoYW5nZWQsIDYwNiBpbnNlcnRpb25zKCspLCAxNTQgZGVsZXRpb25zKC0pCiBy ZW5hbWUgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9tYXJ2ZWxsL3tjcDEx MC1zeXN0ZW0tY29udHJvbGxlcjAudHh0ID0+IGNwMTEwLXN5c3RlbS1jb250cm9sbGVyLnR4dH0g KDg1JSkKCi0tIAoyLjE0LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVs QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: miquel.raynal@bootlin.com (Miquel Raynal) Date: Thu, 5 Jul 2018 18:04:14 +0200 Subject: [PATCH v3 00/23] Add multi-channel support to Armada thermal driver Message-ID: <20180705160437.12325-1-miquel.raynal@bootlin.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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. This series first improves the readability of this driver, then adds support for multi-channel thermal IPs. The bindings and the device-trees are updated accordingly. Thank you, Miqu?l Changes since v2: ================= * Fixed typos in "thermal: armada: convert driver to syscon register accesses" commit log. * Added Rob's RB tags after changing the node names both in the Documentation and in the DT files this way: s/xx_thermal: xx_thermal at yy/xx_thermal: thermal-sensor at yy/ * Dropped the patch that renamed labels in the Documentation on Rob's notice. * Uniformized the type of temperature variables to 'int' as suggested in a previous commit from Sascha Hauer: 17e8351a7739 ("thermal: consistently use int for temperatures") Changes since v1: ================= * Added register ranges in the thermal nodes. * Added these ranges in the documentation also. * In the bindings, used the "Must be one of" formula before listing the compatibles. * Removed the overheat interrupt support that depends on another series. This work is independent. * Rebased on top of v4.18-rc1. Miquel Raynal (23): 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 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: 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 .../arm/marvell/ap806-system-controller.txt | 48 +- ...controller0.txt => cp110-system-controller.txt} | 61 ++- .../devicetree/bindings/thermal/armada-thermal.txt | 5 + arch/arm64/boot/dts/marvell/armada-ap806.dtsi | 74 ++- arch/arm64/boot/dts/marvell/armada-common.dtsi | 1 + arch/arm64/boot/dts/marvell/armada-cp110.dtsi | 37 +- drivers/thermal/armada_thermal.c | 534 ++++++++++++++++----- 7 files changed, 606 insertions(+), 154 deletions(-) rename Documentation/devicetree/bindings/arm/marvell/{cp110-system-controller0.txt => cp110-system-controller.txt} (85%) -- 2.14.1