[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221103095810.64606-1-manivannan.sadhasivam@linaro.org>
Date: Thu, 3 Nov 2022 15:27:58 +0530
From: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
To: andersson@...nel.org
Cc: konrad.dybcio@...ainline.org, robh+dt@...nel.org,
krzysztof.kozlowski+dt@...aro.org, johan+linaro@...nel.org,
quic_jprakash@...cinc.com, linux-arm-msm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
steev@...i.org,
Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
Subject: [PATCH v4 00/12] sc8280xp-pmic updates and X13s thermal zone support
Hello,
This series adds below updates to sc8280xp-pmics:
PM8280_{1/2}:
- Temp alarm
- Thermal zones
- VADC channels
- ADC_TM5 channels
PMK8280:
- ADC7 block
- VADC channels
- TM5 block
PMR735A:
- VADC channels
Also adds the thermal zone support to Lenovo X13s based on the thermistor
SYS_THERM6 that provides the laptop skin temperature.
The sc8280xp-pmics is based on the new PMIC7 architecture. In this, all the
ADC/TM5 measurements are collected by the primary PMIC PMK8280 from other
slave PMICs PM8280_{1/2}, PMR735A using the Programmable Boot Sequence (PBS)
and exposed them over the individual channels.
PMK8280 uses the Slave ID (SID) for identifying each slave PMICs in a system.
This ID is not static for each PMIC but rather set for each platform by the
hardware designers. So this series allows the configurable SID by modifying the
binding to accept SID values instead of hardcoding them.
This series is tested on Lenovo X13s laptop by monitoring the temperature of
the 8 on-board thermistors through IIO interface. The thermal zone support is
validated by adding loads to the CPUs and making sure the skin temperature stays
below the threshold provided in DT.
NOTE: This series requires fwnode support to QCOM_SPMI_ADC5 driver [1] for making
use of the full node name for IIO channels. Since the support is already in
mainline, it should just work. But for older kernels, the IIO channels and
thus the SPMI_ADC5 driver will fail to probe.
Thanks,
Mani
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/iio/adc/qcom-spmi-adc5.c?id=4f47a236a23d9f18d018a2f6639daad476d2a3f2
Changes in v4:
* Got rid of "label" properties from ADC nodes and used common node names. The
ADC5 driver in mainline now uses the full node name for registering the IIO
channels. So "label" or unique node name is not required.
Changes in v3:
* Used thermistor index in node names for VADC channels. This is required by IIO
* Collected reviews
* Rearranged the dt properties (Konrad)
Changes in v2:
* Fixed issues reported by Krzysztof and "make dtbs_check"
* Collected reviews from Krzysztof
* Added the Lenovo X13s thermal zone patch
Manivannan Sadhasivam (12):
dt-bindings: iio: qcom: adc7-pm8350: Allow specifying SID for channels
arm64: dts: qcom: sc8280xp-pmics: Add temp alarm for PM8280_{1/2}
PMICs
arm64: dts: qcom: sc8280xp-pmics: Add thermal zones for PM8280_{1/2}
PMICs
arm64: dts: qcom: sc8280xp-pmics: Add support for PMK8280 RESIN input
arm64: dts: qcom: sc8280xp-pmics: Add PMK8280 ADC7 block
arm64: dts: qcom: sc8280xp-pmics: Add support for TM5 block in PMK8280
arm64: dts: qcom: sc8280xp-x13s: Enable PMK8280 RESIN input
arm64: dts: qcom: sc8280xp-x13s: Add PMK8280 VADC channels
arm64: dts: qcom: sc8280xp-x13s: Add PM8280_{1/2} VADC channels
arm64: dts: qcom: sc8280xp-x13s: Add PMR735A VADC channel
arm64: dts: qcom: sc8280xp-x13s: Add PM8280_{1/2} ADC_TM5 channels
arm64: dts: qcom: sc8280xp-x13s: Add thermal zone support
.../bindings/thermal/qcom-spmi-adc-tm5.yaml | 6 +-
.../qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 199 ++++++++++++++++++
arch/arm64/boot/dts/qcom/sc8280xp-pmics.dtsi | 84 ++++++++
.../dt-bindings/iio/qcom,spmi-adc7-pm8350.h | 90 ++++----
4 files changed, 329 insertions(+), 50 deletions(-)
--
2.25.1
Powered by blists - more mailing lists