@@ -10,7 +10,9 @@ maintainers:
1010
1111properties :
1212 compatible :
13- const : qcom,spmi-adc-tm5
13+ enum :
14+ - qcom,spmi-adc-tm5
15+ - qcom,spmi-adc-tm5-gen2
1416
1517 reg :
1618 maxItems : 1
@@ -33,6 +35,7 @@ properties:
3335 qcom,avg-samples :
3436 $ref : /schemas/types.yaml#/definitions/uint32
3537 description : Number of samples to be used for measurement.
38+ Not applicable for Gen2 ADC_TM peripheral.
3639 enum :
3740 - 1
3841 - 2
@@ -45,6 +48,7 @@ properties:
4548 $ref : /schemas/types.yaml#/definitions/uint32
4649 description : This parameter is used to decrease ADC sampling rate.
4750 Quicker measurements can be made by reducing decimation ratio.
51+ Not applicable for Gen2 ADC_TM peripheral.
4852 enum :
4953 - 250
5054 - 420
@@ -93,13 +97,61 @@ patternProperties:
9397 - const : 1
9498 - enum : [ 1, 3, 4, 6, 20, 8, 10 ]
9599
100+ qcom,avg-samples :
101+ $ref : /schemas/types.yaml#/definitions/uint32
102+ description : Number of samples to be used for measurement.
103+ This property in child node is applicable only for Gen2 ADC_TM peripheral.
104+ enum :
105+ - 1
106+ - 2
107+ - 4
108+ - 8
109+ - 16
110+ default : 1
111+
112+ qcom,decimation :
113+ $ref : /schemas/types.yaml#/definitions/uint32
114+ description : This parameter is used to decrease ADC sampling rate.
115+ Quicker measurements can be made by reducing decimation ratio.
116+ This property in child node is applicable only for Gen2 ADC_TM peripheral.
117+ enum :
118+ - 85
119+ - 340
120+ - 1360
121+ default : 1360
122+
96123 required :
97124 - reg
98125 - io-channels
99126
100127 additionalProperties :
101128 false
102129
130+ allOf :
131+ - if :
132+ properties :
133+ compatible :
134+ contains :
135+ const : qcom,spmi-adc-tm5
136+
137+ then :
138+ patternProperties :
139+ " ^([-a-z0-9]*)@[0-7]$ " :
140+ properties :
141+ qcom,decimation : false
142+ qcom,avg-samples : false
143+
144+ - if :
145+ properties :
146+ compatible :
147+ contains :
148+ const : qcom,spmi-adc-tm5-gen2
149+
150+ then :
151+ properties :
152+ qcom,avg-samples : false
153+ qcom,decimation : false
154+
103155required :
104156 - compatible
105157 - reg
@@ -124,7 +176,7 @@ examples:
124176 #size-cells = <0>;
125177 #io-channel-cells = <1>;
126178
127- /* Other propreties are omitted */
179+ /* Other properties are omitted */
128180 conn-therm@4f {
129181 reg = <ADC5_AMUX_THM3_100K_PU>;
130182 qcom,ratiometric;
@@ -148,4 +200,58 @@ examples:
148200 };
149201 };
150202 };
203+
204+ - |
205+ #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
206+ #include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h>
207+ #include <dt-bindings/interrupt-controller/irq.h>
208+ spmi_bus {
209+ #address-cells = <1>;
210+ #size-cells = <0>;
211+ pmk8350_vadc: adc@3100 {
212+ reg = <0x3100>;
213+ compatible = "qcom,spmi-adc7";
214+ #address-cells = <1>;
215+ #size-cells = <0>;
216+ #io-channel-cells = <1>;
217+
218+ /* Other properties are omitted */
219+ xo-therm@44 {
220+ reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
221+ qcom,ratiometric;
222+ qcom,hw-settle-time = <200>;
223+ };
224+
225+ conn-therm@47 {
226+ reg = <PM8350_ADC7_AMUX_THM4_100K_PU>;
227+ qcom,ratiometric;
228+ qcom,hw-settle-time = <200>;
229+ };
230+ };
231+
232+ pmk8350_adc_tm: adc-tm@3400 {
233+ compatible = "qcom,spmi-adc-tm5-gen2";
234+ reg = <0x3400>;
235+ interrupts = <0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
236+ #thermal-sensor-cells = <1>;
237+ #address-cells = <1>;
238+ #size-cells = <0>;
239+
240+ pmk8350-xo-therm@0 {
241+ reg = <0>;
242+ io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>;
243+ qcom,decimation = <340>;
244+ qcom,ratiometric;
245+ qcom,hw-settle-time-us = <200>;
246+ };
247+
248+ conn-therm@1 {
249+ reg = <1>;
250+ io-channels = <&pmk8350_vadc PM8350_ADC7_AMUX_THM4_100K_PU>;
251+ qcom,avg-samples = <2>;
252+ qcom,ratiometric;
253+ qcom,hw-settle-time-us = <200>;
254+ };
255+ };
256+ };
151257 ...
0 commit comments