Add VADC channels of PM8280_{1/2} PMICs for measuring the on-chip die
temperature and external thermistors connected to the AMUX pins.
The measurements are collected by the primary PMIC PMK8280 from the
slave PMICs PM8280_{1/2} and exposed them over the PMK8280's VADC
channels.
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
---
.../qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 61 +++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
index 9ac5d5c22832..d300d217fdc6 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
@@ -7,6 +7,7 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h>
#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
@@ -189,6 +190,66 @@ pmk8280-xo-therm@44 {
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
+
+ pm8280-1-die-temp@103 {
+ reg = <PM8350_ADC7_DIE_TEMP(1)>;
+ label = "pm8280_1_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ sys-therm1@144 {
+ reg = <PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+
+ sys-therm2@145 {
+ reg = <PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+
+ sys-therm3@146 {
+ reg = <PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+
+ sys-therm4@147 {
+ reg = <PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+
+ pm8280-2-die-temp@303 {
+ reg = <PM8350_ADC7_DIE_TEMP(3)>;
+ label = "pm8250_2_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ sys-therm5@344 {
+ reg = <PM8350_ADC7_AMUX_THM1_100K_PU(3)>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+
+ sys-therm6@345 {
+ reg = <PM8350_ADC7_AMUX_THM2_100K_PU(3)>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+
+ sys-therm7@346 {
+ reg = <PM8350_ADC7_AMUX_THM3_100K_PU(3)>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+
+ sys-therm8@347 {
+ reg = <PM8350_ADC7_AMUX_THM4_100K_PU(3)>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
};
&qup0 {
--
2.25.1
On 27/10/2022 02:30, Manivannan Sadhasivam wrote:
> Add VADC channels of PM8280_{1/2} PMICs for measuring the on-chip die
> temperature and external thermistors connected to the AMUX pins.
>
> The measurements are collected by the primary PMIC PMK8280 from the
> slave PMICs PM8280_{1/2} and exposed them over the PMK8280's VADC
secondary PMICs
Drop "them"
> channels.
>
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> ---
> .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 61 +++++++++++++++++++
> 1 file changed, 61 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> index 9ac5d5c22832..d300d217fdc6 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> @@ -7,6 +7,7 @@
> /dts-v1/;
>
> #include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h>
> #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
> #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
>
> @@ -189,6 +190,66 @@ pmk8280-xo-therm@44 {
> qcom,ratiometric;
> qcom,hw-settle-time = <200>;
> };
> +
> + pm8280-1-die-temp@103 {
pmic-die-temp? What pm8280 stands here?
> + reg = <PM8350_ADC7_DIE_TEMP(1)>;
> + label = "pm8280_1_die_temp";
> + qcom,pre-scaling = <1 1>;
> + };
> +
> + sys-therm1@144 {
I would say sys-therm@... why do we need the "1" suffix in node name?
> + reg = <PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
> + qcom,ratiometric;
> + qcom,hw-settle-time = <200>;
> + };
Best regards,
Krzysztof
On Thu, Oct 27, 2022 at 10:09:21AM -0400, Krzysztof Kozlowski wrote:
> On 27/10/2022 02:30, Manivannan Sadhasivam wrote:
> > Add VADC channels of PM8280_{1/2} PMICs for measuring the on-chip die
> > temperature and external thermistors connected to the AMUX pins.
> >
> > The measurements are collected by the primary PMIC PMK8280 from the
> > slave PMICs PM8280_{1/2} and exposed them over the PMK8280's VADC
>
> secondary PMICs
>
> Drop "them"
>
>
> > channels.
> >
> > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> > ---
> > .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 61 +++++++++++++++++++
> > 1 file changed, 61 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> > index 9ac5d5c22832..d300d217fdc6 100644
> > --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> > +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> > @@ -7,6 +7,7 @@
> > /dts-v1/;
> >
> > #include <dt-bindings/gpio/gpio.h>
> > +#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h>
> > #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
> > #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> >
> > @@ -189,6 +190,66 @@ pmk8280-xo-therm@44 {
> > qcom,ratiometric;
> > qcom,hw-settle-time = <200>;
> > };
> > +
> > + pm8280-1-die-temp@103 {
>
> pmic-die-temp? What pm8280 stands here?
>
As agreed, will use "pmic-die-temp"
>
> > + reg = <PM8350_ADC7_DIE_TEMP(1)>;
> > + label = "pm8280_1_die_temp";
> > + qcom,pre-scaling = <1 1>;
> > + };
> > +
> > + sys-therm1@144 {
>
> I would say sys-therm@... why do we need the "1" suffix in node name?
>
Suffix represents the index of the thermistor as per the schematics but I guess
it can be dropped.
Thanks,
Mani
> > + reg = <PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
> > + qcom,ratiometric;
> > + qcom,hw-settle-time = <200>;
> > + };
>
> Best regards,
> Krzysztof
>
--
மணிவண்ணன் சதாசிவம்
On Sat, Oct 29, 2022 at 10:18:37AM +0530, Manivannan Sadhasivam wrote:
> On Thu, Oct 27, 2022 at 10:09:21AM -0400, Krzysztof Kozlowski wrote:
> > On 27/10/2022 02:30, Manivannan Sadhasivam wrote:
> > > Add VADC channels of PM8280_{1/2} PMICs for measuring the on-chip die
> > > temperature and external thermistors connected to the AMUX pins.
> > >
> > > The measurements are collected by the primary PMIC PMK8280 from the
> > > slave PMICs PM8280_{1/2} and exposed them over the PMK8280's VADC
> >
> > secondary PMICs
> >
> > Drop "them"
> >
> >
> > > channels.
> > >
> > > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> > > ---
> > > .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 61 +++++++++++++++++++
> > > 1 file changed, 61 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> > > index 9ac5d5c22832..d300d217fdc6 100644
> > > --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> > > +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> > > @@ -7,6 +7,7 @@
> > > /dts-v1/;
> > >
> > > #include <dt-bindings/gpio/gpio.h>
> > > +#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h>
> > > #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
> > > #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> > >
> > > @@ -189,6 +190,66 @@ pmk8280-xo-therm@44 {
> > > qcom,ratiometric;
> > > qcom,hw-settle-time = <200>;
> > > };
> > > +
> > > + pm8280-1-die-temp@103 {
> >
> > pmic-die-temp? What pm8280 stands here?
> >
>
> As agreed, will use "pmic-die-temp"
>
> >
> > > + reg = <PM8350_ADC7_DIE_TEMP(1)>;
> > > + label = "pm8280_1_die_temp";
> > > + qcom,pre-scaling = <1 1>;
> > > + };
> > > +
> > > + sys-therm1@144 {
> >
> > I would say sys-therm@... why do we need the "1" suffix in node name?
> >
>
> Suffix represents the index of the thermistor as per the schematics but I guess
> it can be dropped.
>
I was wrong. Suffix is necessary since IIO core registers the channel based on
the node name, so it has to be unique.
Thanks,
Mani
> Thanks,
> Mani
>
> > > + reg = <PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
> > > + qcom,ratiometric;
> > > + qcom,hw-settle-time = <200>;
> > > + };
> >
> > Best regards,
> > Krzysztof
> >
>
> --
> மணிவண்ணன் சதாசிவம்
--
மணிவண்ணன் சதாசிவம்
On 30/10/2022 03:16, Manivannan Sadhasivam wrote:
>>>
>>>> + reg = <PM8350_ADC7_DIE_TEMP(1)>;
>>>> + label = "pm8280_1_die_temp";
>>>> + qcom,pre-scaling = <1 1>;
>>>> + };
>>>> +
>>>> + sys-therm1@144 {
>>>
>>> I would say sys-therm@... why do we need the "1" suffix in node name?
>>>
>>
>> Suffix represents the index of the thermistor as per the schematics but I guess
>> it can be dropped.
>>
>
> I was wrong. Suffix is necessary since IIO core registers the channel based on
> the node name, so it has to be unique.
>
Makes sense then.
Best regards,
Krzysztof
© 2016 - 2026 Red Hat, Inc.