1 # SPDX-License-Identifier: GPL-2.0-only
4 $id: http://devicetree.org/schemas/iio/adc/qcom,spmi-vadc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm's SPMI PMIC ADC
10 - Andy Gross <agross@kernel.org>
11 - Bjorn Andersson <bjorn.andersson@linaro.org>
14 SPMI PMIC voltage ADC (VADC) provides interface to clients to read
15 voltage. The VADC is a 15-bit sigma-delta ADC.
16 SPMI PMIC5/PMIC7 voltage ADC (ADC) provides interface to clients to read
17 voltage. The VADC is a 16-bit sigma-delta ADC.
23 - const: qcom,pms405-adc
24 - const: qcom,spmi-adc-rev2
34 description: VADC base address in the SPMI PMIC register map
49 End of conversion interrupt.
61 additionalProperties: false
63 Represents the external channels which are connected to the ADC.
64 For compatible property "qcom,spmi-vadc" following channels, also known as
65 reference point channels, are used for result calibration and their channel
66 configuration nodes should be defined:
67 VADC_REF_625MV and/or VADC_SPARE1(based on PMIC version) VADC_REF_1250MV,
68 VADC_GND_REF and VADC_VDD_VADC.
75 See include/dt-bindings/iio/qcom,spmi-vadc.h
76 For PMIC7 ADC, the channel numbers are specified separately per PMIC
77 in the PMIC-specific files in include/dt-bindings/iio/.
80 $ref: /schemas/types.yaml#/definitions/string
82 ADC input of the platform as seen in the schematics.
83 For thermistor inputs connected to generic AMUX or GPIO inputs
84 these can vary across platform for the same pins. Hence select
85 the platform schematics name for this channel.
88 $ref: /schemas/types.yaml#/definitions/uint32
90 This parameter is used to decrease ADC sampling rate.
91 Quicker measurements can be made by reducing decimation ratio.
95 Used for scaling the channel input signal before the signal is
96 fed to VADC. The configuration for this node is to know the
97 pre-determined ratio and use it for post scaling. It is a pair of
98 integers, denoting the numerator and denominator of the fraction by which
99 input signal is multiplied. For example, <1 3> indicates the signal is scaled
100 down to 1/3 of its value before ADC measurement.
101 If property is not found default value depending on chip will be used.
102 $ref: /schemas/types.yaml#/definitions/uint32-array
106 - enum: [ 1, 3, 4, 6, 20, 8, 10 ]
113 Channel calibration type.
114 - For compatible property "qcom,spmi-vadc", if this property is
115 specified VADC will use the VDD reference (1.8V) and GND for
116 channel calibration. If property is not found, channel will be
117 calibrated with 0.625V and 1.25V reference channels, also
118 known as absolute calibration.
119 - For compatible property "qcom,spmi-adc5", "qcom,spmi-adc7" and
120 "qcom,spmi-adc-rev2", if this property is specified VADC will use
121 the VDD reference (1.875V) and GND for channel calibration. If
122 property is not found, channel will be calibrated with 0V and 1.25V
123 reference channels, also known as absolute calibration.
127 $ref: /schemas/types.yaml#/definitions/uint32
129 Time between AMUX getting configured and the ADC starting
130 conversion. The 'hw_settle_time' is an index used from valid values
131 and programmed in hardware to achieve the hardware settling delay.
134 $ref: /schemas/types.yaml#/definitions/uint32
136 Number of samples to be used for measurement.
137 Averaging provides the option to obtain a single measurement
138 from the ADC that is an average of multiple samples. The value
139 selected is 2^(value).
149 const: qcom,spmi-vadc
156 enum: [ 512, 1024, 2048, 4096 ]
160 enum: [ 0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1, 2,
165 enum: [ 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 ]
172 const: qcom,spmi-adc-rev2
179 enum: [ 256, 512, 1024 ]
183 enum: [ 0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1, 2,
188 enum: [ 1, 2, 4, 8, 16 ]
195 const: qcom,spmi-adc5
202 enum: [ 250, 420, 840 ]
206 enum: [ 15, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1, 2,
207 4, 6, 8, 10, 16, 32, 64, 128 ]
211 enum: [ 1, 2, 4, 8, 16 ]
218 const: qcom,spmi-adc7
225 enum: [ 85, 340, 1360 ]
229 enum: [ 15, 100, 200, 300, 400, 500, 600, 700, 1000, 2000, 4000,
230 8000, 16000, 32000, 64000, 128000 ]
234 enum: [ 1, 2, 4, 8, 16 ]
237 additionalProperties: false
242 #address-cells = <1>;
245 pmic_vadc: adc@3100 {
246 compatible = "qcom,spmi-vadc";
248 interrupts = <0x0 0x31 0x0 0x1>;
249 #address-cells = <1>;
251 #io-channel-cells = <1>;
256 qcom,decimation = <512>;
258 qcom,hw-settle-time = <200>;
259 qcom,avg-samples = <1>;
260 qcom,pre-scaling = <1 3>;