Re: [PATCH 4/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Add PM7325 thermals

From: Luca Weiss
Date: Sat Oct 14 2023 - 13:53:38 EST


On Samstag, 14. Oktober 2023 01:13:29 CEST Konrad Dybcio wrote:
> On 13.10.2023 10:09, Luca Weiss wrote:
> > Configure the thermals for the QUIET_THERM, CAM_FLASH_THERM, MSM_THERM
> > and RFC_CAM_THERM thermistors connected to PM7325.
> >
> > With this PMIC the software communication to the ADC is going through
> > PMK7325 (= PMK8350).
> >
> > Signed-off-by: Luca Weiss <luca.weiss@xxxxxxxxxxxxx>
> > ---
> >
> > arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 117
> > +++++++++++++++++++++ 1 file changed, 117 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> > b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts index
> > 2c01f799a6b2..d0b1e4e507ff 100644
> > --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> > +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> > @@ -9,6 +9,7 @@
> >
> > #define PM7250B_SID 8
> > #define PM7250B_SID1 9
> >
> > +#include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h>
> >
> > #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
> > #include <dt-bindings/leds/common.h>
> > #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> >
> > @@ -137,6 +138,20 @@ afvdd_2p8: regulator-afvdd-2p8 {
> >
> > };
> >
> > thermal-zones {
> >
> > + camera-thermal {
> > + polling-delay-passive = <0>;
> > + polling-delay = <0>;
> > + thermal-sensors = <&pmk8350_adc_tm 2>;
> > +
> > + trips {
> > + active-config0 {
> > + temperature = <125000>;
>
> are
>
> > + rear-cam-thermal {
> >
> > + temperature = <125000>;
>
> you
>
> > + sdm-skin-thermal {
> >
> > + temperature = <125000>;
>
> sure
>
> about these temps?

(email from my other address, quicker right now)

Well yes and no.

Yes as in those are the temps specified in downstream dtb.
No as in I'm 99% sure there's user space with definitely lower threshold that
actually does something in response to the temps.

I didn't look too much into this but does the kernel even do something when it
hits one of these trip points? I assume when there's a cooling device thing
specified then it can actually tell the driver to do something, but without
(and most drivers don't support this?) I'm assuming the kernel can't do much
anyways?

So e.g. when the temperature for the flash led is reached I'm assuming
downstream (+Android) either dims the led or turns it off? But I'd have to dig
quite a bit into the thermal setup there to check what it's really doing.

But for now I think it's okay to put this current thermal config into dts and
we'll improve it later when 1. I understand more and 2. maybe some useful
drivers support the cooling bits?

Regards
Luca

>
> Konrad