arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 114 +++++++++++++++++++ 1 file changed, 114 insertions(+)
Add support for vadc and adc-tm channels which are used for
monitoring thermistors present on the platform.
- Add the necessary includes for qcom,spmi-adc7-pm7325 and
qcom,spmi-adc7-pmk8350.
- Add thermal zones for quiet-thermal, sdm-skin-thermal, and
xo-thermal, and define their polling delays and thermal sensors.
- Configure the pm7325_temp_alarm node to use the pmk8350_vadc
channel for thermal monitoring.
- Configure the pmk8350_adc_tm node to enable its thermal sensors
and define their registers and settings.
- Configure the pmk8350_vadc node to define its channels and settings
Signed-off-by: Rakesh Kota <quic_kotarake@quicinc.com>
---
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 114 +++++++++++++++++++
1 file changed, 114 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
index 7a36c90ad4ec..642bc1c5cace 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
@@ -9,6 +9,8 @@
#define PM7250B_SID 8
#define PM7250B_SID1 9
+#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
+#include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
@@ -212,6 +214,50 @@ pmic_glink_sbu_in: endpoint {
};
};
+ thermal-zones {
+ sdm-skin-thermal {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&pmk8350_adc_tm 3>;
+
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ quiet-thermal {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&pmk8350_adc_tm 1>;
+
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ xo-thermal {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&pmk8350_adc_tm 0>;
+
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+ };
+
vph_pwr: vph-pwr-regulator {
compatible = "regulator-fixed";
regulator-name = "vph_pwr";
@@ -745,6 +791,36 @@ kypd_vol_up_n: kypd-vol-up-n-state {
};
};
+&pm7325_temp_alarm {
+ io-channels = <&pmk8350_vadc PM7325_ADC7_DIE_TEMP>;
+ io-channel-names = "thermal";
+};
+
+&pmk8350_adc_tm {
+ status = "okay";
+
+ sdm-skin-therm@3 {
+ reg = <3>;
+ io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time-us = <200>;
+ };
+
+ quiet-therm@1 {
+ reg = <1>;
+ io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time-us = <200>;
+ };
+
+ xo-therm@0 {
+ reg = <0>;
+ io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time-us = <200>;
+ };
+};
+
&pm8350c_pwm {
nvmem = <&pmk8350_sdam_21>,
<&pmk8350_sdam_22>;
@@ -789,6 +865,44 @@ &pmk8350_rtc {
status = "okay";
};
+&pmk8350_vadc {
+ channel@44 {
+ reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
+ label = "xo_therm";
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ qcom,ratiometric;
+ };
+
+ channel@103 {
+ reg = <PM7325_ADC7_DIE_TEMP>;
+ label = "pm7325_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@144 {
+ reg = <PM7325_ADC7_AMUX_THM1_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ label = "pm7325_quiet_therm";
+ };
+
+ channel@146 {
+ reg = <PM7325_ADC7_AMUX_THM3_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ label = "pm7325_sdm_skin_therm";
+ };
+
+ pmk8350-die-temp@3 {
+ reg = <PMK8350_ADC7_DIE_TEMP>;
+ label = "pmk8350_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+};
+
&pon_pwrkey {
status = "okay";
};
--
2.34.1
On 24.01.2025 8:02 AM, Rakesh Kota wrote: > Add support for vadc and adc-tm channels which are used for > monitoring thermistors present on the platform. > > - Add the necessary includes for qcom,spmi-adc7-pm7325 and > qcom,spmi-adc7-pmk8350. > - Add thermal zones for quiet-thermal, sdm-skin-thermal, and > xo-thermal, and define their polling delays and thermal sensors. > - Configure the pm7325_temp_alarm node to use the pmk8350_vadc > channel for thermal monitoring. > - Configure the pmk8350_adc_tm node to enable its thermal sensors > and define their registers and settings. > - Configure the pmk8350_vadc node to define its channels and settings > > Signed-off-by: Rakesh Kota <quic_kotarake@quicinc.com> > --- [...] > +&pmk8350_adc_tm { > + status = "okay"; > + > + sdm-skin-therm@3 { > + reg = <3>; > + io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>; > + qcom,ratiometric; > + qcom,hw-settle-time-us = <200>; > + }; > + > + quiet-therm@1 { > + reg = <1>; > + io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>; > + qcom,ratiometric; > + qcom,hw-settle-time-us = <200>; > + }; > + > + xo-therm@0 { > + reg = <0>; > + io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>; > + qcom,ratiometric; > + qcom,hw-settle-time-us = <200>; > + }; For nodes with a unit address (numbers after '@'), please sort them by that address (this will make it slightly out of sync with the alphabetically-sorted thermal-zones, but it is what it is sometimes > +}; > + > &pm8350c_pwm { > nvmem = <&pmk8350_sdam_21>, > <&pmk8350_sdam_22>; > @@ -789,6 +865,44 @@ &pmk8350_rtc { > status = "okay"; > }; > > +&pmk8350_vadc { > + channel@44 { > + reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>; > + label = "xo_therm"; > + qcom,hw-settle-time = <200>; > + qcom,pre-scaling = <1 1>; > + qcom,ratiometric; > + }; > + > + channel@103 { > + reg = <PM7325_ADC7_DIE_TEMP>; > + label = "pm7325_die_temp"; > + qcom,pre-scaling = <1 1>; > + }; > + > + channel@144 { > + reg = <PM7325_ADC7_AMUX_THM1_100K_PU>; > + qcom,ratiometric; > + qcom,hw-settle-time = <200>; > + qcom,pre-scaling = <1 1>; > + label = "pm7325_quiet_therm"; > + }; > + > + channel@146 { > + reg = <PM7325_ADC7_AMUX_THM3_100K_PU>; > + qcom,ratiometric; > + qcom,hw-settle-time = <200>; > + qcom,pre-scaling = <1 1>; > + label = "pm7325_sdm_skin_therm"; > + }; > + > + pmk8350-die-temp@3 { > + reg = <PMK8350_ADC7_DIE_TEMP>; > + label = "pmk8350_die_temp"; > + qcom,pre-scaling = <1 1>; > + }; Similarly here Konrad
On Fri, 24 Jan 2025 12:32:00 +0530, Rakesh Kota wrote: > Add support for vadc and adc-tm channels which are used for > monitoring thermistors present on the platform. > > - Add the necessary includes for qcom,spmi-adc7-pm7325 and > qcom,spmi-adc7-pmk8350. > - Add thermal zones for quiet-thermal, sdm-skin-thermal, and > xo-thermal, and define their polling delays and thermal sensors. > - Configure the pm7325_temp_alarm node to use the pmk8350_vadc > channel for thermal monitoring. > - Configure the pmk8350_adc_tm node to enable its thermal sensors > and define their registers and settings. > - Configure the pmk8350_vadc node to define its channels and settings > > Signed-off-by: Rakesh Kota <quic_kotarake@quicinc.com> > --- > arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 114 +++++++++++++++++++ > 1 file changed, 114 insertions(+) > My bot found new DTB warnings on the .dts files added or changed in this series. Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments. If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date: pip3 install dtschema --upgrade New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/qcom/' for 20250124070200.3969230-1-quic_kotarake@quicinc.com: arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dtb: pmic@2: pwm:nvmem: [[346, 347]] is too short from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dtb: pwm: nvmem: [[346, 347]] is too short from schema $id: http://devicetree.org/schemas/leds/leds-qcom-lpg.yaml# arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dtb: pmic@0: adc@3100: 'oneOf' conditional failed, one must be fixed: '#address-cells', '#size-cells', 'channel@103', 'channel@144', 'channel@146', 'channel@44', 'pmk8350-die-temp@3' do not match any of the regexes: 'pinctrl-[0-9]+' '#address-cells', '#size-cells', 'channel@103', 'channel@144', 'channel@146', 'channel@44', 'interrupts', 'pmk8350-die-temp@3' do not match any of the regexes: 'pinctrl-[0-9]+' 'pmk8350-die-temp@3' does not match any of the regexes: '^channel@[0-9a-f]+$', 'pinctrl-[0-9]+' ['qcom,spmi-adc7'] is too short 'qcom,spmi-adc7' is not one of ['qcom,pm8226-iadc', 'qcom,pm8941-iadc'] 'qcom,spmi-adc7' is not one of ['qcom,pmi8998-rradc', 'qcom,pm660-rradc'] from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dtb: adc@3100: 'pmk8350-die-temp@3' does not match any of the regexes: '^channel@[0-9a-f]+$', 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/iio/adc/qcom,spmi-vadc.yaml#
On 1/24/2025 8:56 PM, Rob Herring (Arm) wrote: > On Fri, 24 Jan 2025 12:32:00 +0530, Rakesh Kota wrote: >> Add support for vadc and adc-tm channels which are used for >> monitoring thermistors present on the platform. >> >> - Add the necessary includes for qcom,spmi-adc7-pm7325 and >> qcom,spmi-adc7-pmk8350. >> - Add thermal zones for quiet-thermal, sdm-skin-thermal, and >> xo-thermal, and define their polling delays and thermal sensors. >> - Configure the pm7325_temp_alarm node to use the pmk8350_vadc >> channel for thermal monitoring. >> - Configure the pmk8350_adc_tm node to enable its thermal sensors >> and define their registers and settings. >> - Configure the pmk8350_vadc node to define its channels and settings >> >> Signed-off-by: Rakesh Kota <quic_kotarake@quicinc.com> >> --- >> arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 114 +++++++++++++++++++ >> 1 file changed, 114 insertions(+) >> > > My bot found new DTB warnings on the .dts files added or changed in this > series. > > Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings > are fixed by another series. Ultimately, it is up to the platform > maintainer whether these warnings are acceptable or not. No need to reply > unless the platform maintainer has comments. > > If you already ran DT checks and didn't see these error(s), then > make sure dt-schema is up to date: > > pip3 install dtschema --upgrade > > > New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/qcom/' for 20250124070200.3969230-1-quic_kotarake@quicinc.com: > > arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dtb: pmic@2: pwm:nvmem: [[346, 347]] is too short > from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# > arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dtb: pwm: nvmem: [[346, 347]] is too short > from schema $id: http://devicetree.org/schemas/leds/leds-qcom-lpg.yaml# > arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dtb: pmic@0: adc@3100: 'oneOf' conditional failed, one must be fixed: > '#address-cells', '#size-cells', 'channel@103', 'channel@144', 'channel@146', 'channel@44', 'pmk8350-die-temp@3' do not match any of the regexes: 'pinctrl-[0-9]+' > '#address-cells', '#size-cells', 'channel@103', 'channel@144', 'channel@146', 'channel@44', 'interrupts', 'pmk8350-die-temp@3' do not match any of the regexes: 'pinctrl-[0-9]+' > 'pmk8350-die-temp@3' does not match any of the regexes: '^channel@[0-9a-f]+$', 'pinctrl-[0-9]+' > ['qcom,spmi-adc7'] is too short > 'qcom,spmi-adc7' is not one of ['qcom,pm8226-iadc', 'qcom,pm8941-iadc'] > 'qcom,spmi-adc7' is not one of ['qcom,pmi8998-rradc', 'qcom,pm660-rradc'] > from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# > arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dtb: adc@3100: 'pmk8350-die-temp@3' does not match any of the regexes: '^channel@[0-9a-f]+$', 'pinctrl-[0-9]+' > from schema $id: http://devicetree.org/schemas/iio/adc/qcom,spmi-vadc.yaml# Thank you for your review..! And After updating the dt-schema, I am also encountering the same error According to the documentation, I need to change the pmk8350-die-temp channel name to channel@3. I will correct this in the next patch set. > > > >
© 2016 - 2025 Red Hat, Inc.