[v2,00/12] sc8280xp-pmic updates and X13s thermal zone support

Message ID 20221029051449.30678-1-manivannan.sadhasivam@linaro.org
Headers
Series sc8280xp-pmic updates and X13s thermal zone support |

Message

Manivannan Sadhasivam Oct. 29, 2022, 5:14 a.m. UTC
  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.

Thanks,
Mani

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    | 204 ++++++++++++++++++
 arch/arm64/boot/dts/qcom/sc8280xp-pmics.dtsi  |  83 +++++++
 .../dt-bindings/iio/qcom,spmi-adc7-pm8350.h   |  90 ++++----
 4 files changed, 333 insertions(+), 50 deletions(-)
  

Comments

Steev Klimaszewski Oct. 29, 2022, 7:26 p.m. UTC | #1
On Sat, Oct 29, 2022 at 12:15 AM Manivannan Sadhasivam
<manivannan.sadhasivam@linaro.org> wrote:
>
> 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.
>
> Thanks,
> Mani
>
> 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    | 204 ++++++++++++++++++
>  arch/arm64/boot/dts/qcom/sc8280xp-pmics.dtsi  |  83 +++++++
>  .../dt-bindings/iio/qcom,spmi-adc7-pm8350.h   |  90 ++++----
>  4 files changed, 333 insertions(+), 50 deletions(-)
>
> --
> 2.25.1
>
Tested-by: Steev Klimaszewski <steev@kali.org>