[PATCH] arm64: dts: qcom: qcm6490-fairphone-fp5: Add thermistor for UFS/RAM

Luca Weiss posted 1 patch 1 month, 3 weeks ago
arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 40 ++++++++++++++++++++++
1 file changed, 40 insertions(+)
[PATCH] arm64: dts: qcom: qcm6490-fairphone-fp5: Add thermistor for UFS/RAM
Posted by Luca Weiss 1 month, 3 weeks ago
Configure the ADC and thermal zone for the thermistor next to the
UFS+RAM chip which is connected to GPIO_12 of PM7250B. It is used to
measure the temperature of that area of the PCB.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
 arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 40 ++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
index 8ab30c01712e0b7c0cc1b403e0fe01650315b9e2..fdc62f1b1c5a398abaa71818fdf2858fdc445d28 100644
--- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
+++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
@@ -207,6 +207,20 @@ active-config0 {
 			};
 		};
 
+		mem-thermal {
+			polling-delay-passive = <0>;
+
+			thermal-sensors = <&pm7250b_adc_tm 2>;
+
+			trips {
+				active-config0 {
+					temperature = <125000>;
+					hysteresis = <1000>;
+					type = "passive";
+				};
+			};
+		};
+
 		pm8008-thermal {
 			polling-delay-passive = <100>;
 			thermal-sensors = <&pm8008>;
@@ -679,6 +693,9 @@ &ipa {
 };
 
 &pm7250b_adc {
+	pinctrl-0 = <&pm7250b_adc_default>;
+	pinctrl-names = "default";
+
 	channel@4d {
 		reg = <ADC5_AMUX_THM1_100K_PU>;
 		qcom,ratiometric;
@@ -694,6 +711,14 @@ channel@4f {
 		qcom,pre-scaling = <1 1>;
 		label = "conn_therm";
 	};
+
+	channel@53 {
+		reg = <ADC5_GPIO2_100K_PU>;
+		qcom,ratiometric;
+		qcom,hw-settle-time = <200>;
+		qcom,pre-scaling = <1 1>;
+		label = "mem_therm";
+	};
 };
 
 &pm7250b_adc_tm {
@@ -712,6 +737,21 @@ conn-therm@1 {
 		qcom,ratiometric;
 		qcom,hw-settle-time-us = <200>;
 	};
+
+	mem-therm@2 {
+		reg = <2>;
+		io-channels = <&pm7250b_adc ADC5_GPIO2_100K_PU>;
+		qcom,ratiometric;
+		qcom,hw-settle-time-us = <200>;
+	};
+};
+
+&pm7250b_gpios {
+	pm7250b_adc_default: adc-default-state {
+		pins = "gpio12";
+		function = PMIC_GPIO_FUNC_NORMAL;
+		bias-high-impedance;
+	};
 };
 
 &pm7325_gpios {

---
base-commit: 9852d85ec9d492ebef56dc5f229416c925758edc
change-id: 20241002-fp5-ufs-therm-0f1649d5d212

Best regards,
-- 
Luca Weiss <luca.weiss@fairphone.com>
Re: [PATCH] arm64: dts: qcom: qcm6490-fairphone-fp5: Add thermistor for UFS/RAM
Posted by Bjorn Andersson 1 month, 3 weeks ago
On Wed, 02 Oct 2024 15:01:08 +0200, Luca Weiss wrote:
> Configure the ADC and thermal zone for the thermistor next to the
> UFS+RAM chip which is connected to GPIO_12 of PM7250B. It is used to
> measure the temperature of that area of the PCB.
> 
> 

Applied, thanks!

[1/1] arm64: dts: qcom: qcm6490-fairphone-fp5: Add thermistor for UFS/RAM
      commit: 73f9c18c341cdab3b5dfcad143787bdc2a003c2a

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>
Re: [PATCH] arm64: dts: qcom: qcm6490-fairphone-fp5: Add thermistor for UFS/RAM
Posted by Dmitry Baryshkov 1 month, 3 weeks ago
On Wed, Oct 02, 2024 at 03:01:08PM GMT, Luca Weiss wrote:
> Configure the ADC and thermal zone for the thermistor next to the
> UFS+RAM chip which is connected to GPIO_12 of PM7250B. It is used to
> measure the temperature of that area of the PCB.
> 
> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> ---
>  arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 40 ++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> index 8ab30c01712e0b7c0cc1b403e0fe01650315b9e2..fdc62f1b1c5a398abaa71818fdf2858fdc445d28 100644
> --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> @@ -207,6 +207,20 @@ active-config0 {
>  			};
>  		};
>  
> +		mem-thermal {
> +			polling-delay-passive = <0>;
> +
> +			thermal-sensors = <&pm7250b_adc_tm 2>;
> +
> +			trips {
> +				active-config0 {
> +					temperature = <125000>;
> +					hysteresis = <1000>;
> +					type = "passive";

Is it really just "passive"? Especially with no cooling devices it
sounds more like "critical". LGTM otherwise.

> +				};
> +			};
> +		};
> +
>  		pm8008-thermal {
>  			polling-delay-passive = <100>;
>  			thermal-sensors = <&pm8008>;

-- 
With best wishes
Dmitry
Re: [PATCH] arm64: dts: qcom: qcm6490-fairphone-fp5: Add thermistor for UFS/RAM
Posted by Luca Weiss 1 month, 3 weeks ago
On Sun Oct 6, 2024 at 10:26 PM CEST, Dmitry Baryshkov wrote:
> On Wed, Oct 02, 2024 at 03:01:08PM GMT, Luca Weiss wrote:
> > Configure the ADC and thermal zone for the thermistor next to the
> > UFS+RAM chip which is connected to GPIO_12 of PM7250B. It is used to
> > measure the temperature of that area of the PCB.
> > 
> > Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> > ---
> >  arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 40 ++++++++++++++++++++++
> >  1 file changed, 40 insertions(+)
> > 
> > diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> > index 8ab30c01712e0b7c0cc1b403e0fe01650315b9e2..fdc62f1b1c5a398abaa71818fdf2858fdc445d28 100644
> > --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> > +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> > @@ -207,6 +207,20 @@ active-config0 {
> >  			};
> >  		};
> >  
> > +		mem-thermal {
> > +			polling-delay-passive = <0>;
> > +
> > +			thermal-sensors = <&pm7250b_adc_tm 2>;
> > +
> > +			trips {
> > +				active-config0 {
> > +					temperature = <125000>;
> > +					hysteresis = <1000>;
> > +					type = "passive";
>
> Is it really just "passive"? Especially with no cooling devices it
> sounds more like "critical". LGTM otherwise.

Hi Dmitry,

To be clear, I'm adding the thermal zones now as a first step so that
that they are declared and that they show up in /sys.

This is for sure not the complete thermal configuration. Most other
thermal zones in this dts also currently have 125 degC "passive" trip
point, which I'd hope the device would never ever reach.

Regards
Luca

>
> > +				};
> > +			};
> > +		};
> > +
> >  		pm8008-thermal {
> >  			polling-delay-passive = <100>;
> >  			thermal-sensors = <&pm8008>;
Re: [PATCH] arm64: dts: qcom: qcm6490-fairphone-fp5: Add thermistor for UFS/RAM
Posted by Dmitry Baryshkov 1 month, 3 weeks ago
On Mon, 7 Oct 2024 at 09:22, Luca Weiss <luca.weiss@fairphone.com> wrote:
>
> On Sun Oct 6, 2024 at 10:26 PM CEST, Dmitry Baryshkov wrote:
> > On Wed, Oct 02, 2024 at 03:01:08PM GMT, Luca Weiss wrote:
> > > Configure the ADC and thermal zone for the thermistor next to the
> > > UFS+RAM chip which is connected to GPIO_12 of PM7250B. It is used to
> > > measure the temperature of that area of the PCB.
> > >
> > > Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> > > ---
> > >  arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 40 ++++++++++++++++++++++
> > >  1 file changed, 40 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> > > index 8ab30c01712e0b7c0cc1b403e0fe01650315b9e2..fdc62f1b1c5a398abaa71818fdf2858fdc445d28 100644
> > > --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> > > +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> > > @@ -207,6 +207,20 @@ active-config0 {
> > >                     };
> > >             };
> > >
> > > +           mem-thermal {
> > > +                   polling-delay-passive = <0>;
> > > +
> > > +                   thermal-sensors = <&pm7250b_adc_tm 2>;
> > > +
> > > +                   trips {
> > > +                           active-config0 {
> > > +                                   temperature = <125000>;
> > > +                                   hysteresis = <1000>;
> > > +                                   type = "passive";
> >
> > Is it really just "passive"? Especially with no cooling devices it
> > sounds more like "critical". LGTM otherwise.
>
> Hi Dmitry,
>
> To be clear, I'm adding the thermal zones now as a first step so that
> that they are declared and that they show up in /sys.
>
> This is for sure not the complete thermal configuration. Most other
> thermal zones in this dts also currently have 125 degC "passive" trip
> point, which I'd hope the device would never ever reach.

Sounds sane.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

-- 
With best wishes
Dmitry
Re: [PATCH] arm64: dts: qcom: qcm6490-fairphone-fp5: Add thermistor for UFS/RAM
Posted by Konrad Dybcio 1 month, 3 weeks ago
On 7.10.2024 2:46 PM, Dmitry Baryshkov wrote:
> On Mon, 7 Oct 2024 at 09:22, Luca Weiss <luca.weiss@fairphone.com> wrote:
>>
>> On Sun Oct 6, 2024 at 10:26 PM CEST, Dmitry Baryshkov wrote:
>>> On Wed, Oct 02, 2024 at 03:01:08PM GMT, Luca Weiss wrote:
>>>> Configure the ADC and thermal zone for the thermistor next to the
>>>> UFS+RAM chip which is connected to GPIO_12 of PM7250B. It is used to
>>>> measure the temperature of that area of the PCB.
>>>>
>>>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
>>>> ---
>>>>  arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 40 ++++++++++++++++++++++
>>>>  1 file changed, 40 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>>>> index 8ab30c01712e0b7c0cc1b403e0fe01650315b9e2..fdc62f1b1c5a398abaa71818fdf2858fdc445d28 100644
>>>> --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>>>> +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>>>> @@ -207,6 +207,20 @@ active-config0 {
>>>>                     };
>>>>             };
>>>>
>>>> +           mem-thermal {
>>>> +                   polling-delay-passive = <0>;

This is now redundant - see Commit 488164006a28 ("thermal/of: Assume
polling-delay(-passive) 0 when absent")

with it removed

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad