You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
kernel_samsung_sm7125/Documentation/devicetree/bindings/iio/adc/qcom,spmi-adc5.txt

166 lines
6.0 KiB

Qualcomm Technologies Inc. SPMI PMIC5 voltage and current ADC
SPMI PMIC5 voltage ADC (ADC) provides interface to clients to read
voltage. The ADC is a 15-bit sigma-delta ADC.
ADC node:
- compatible:
Usage: required
Value type: <string>
Definition: Should contain "qcom,spmi-adc5" for PMIC5 ADC driver.
Should contain "qcom,spmi-adc-rev2" for PMIC refresh ADC driver.
- reg:
Usage: required for VADC base address
Value type: <prop-encoded-array>
Definition: VADC base address and length in the SPMI PMIC register map.
ADC_CAL base address and length in SPMI PMIC register map.
ADC_CAL base is optional and is dependent on USB_IN_V channel
read sequence for the PMIC.
- reg-names
Usage: required
Value type: <string>
Definition: Names associated with base addresses. should be
"adc5-usr-base", "adc5-cal-base".
- #address-cells:
Usage: required
Value type: <u32>
Definition: Must be one. Child node 'reg' property should define ADC
channel number.
- #size-cells:
Usage: required
Value type: <u32>
Definition: Must be zero.
- #io-channel-cells:
Usage: required
Value type: <u32>
Definition: Must be one. For details about IIO bindings see:
Documentation/devicetree/bindings/iio/iio-bindings.txt
- interrupts:
Usage: optional
Value type: <prop-encoded-array>
Definition: End of conversion interrupt.
- qcom,pmic-revid:
Usage: optional
Value type:<u32>
Definition: phandle pointing to the revision peripheral node. Use it to query the
PMIC type and revision.
Channel node properties:
- reg:
Usage: required
Value type: <u32>
Definition: ADC channel number.
See include/dt-bindings/iio/qcom,spmi-vadc.h
- label:
Usage: required
Value type: <empty>
Definition: ADC datasheet channel name.
For thermistor inputs connected to generic AMUX or GPIO inputs
these can vary across platform for the same pins. Hence select
the datasheet name for this channel.
- qcom,pre-scaling:
Usage: required
Value type: <u32 array>
Definition: Used for scaling the channel input signal before the signal is
fed to VADC. The configuration for this node is to know the
pre-determined ratio and use it for post scaling. Select one from
the following options.
<1 1>, <1 3>, <1 4>, <1 6>, <1 20>, <1 8>, <10 81>, <1 10>
If property is not found default value depending on chip will be used.
- qcom,decimation:
Usage: optional
Value type: <u32>
Definition: This parameter is used to decrease ADC sampling rate.
Quicker measurements can be made by reducing decimation ratio.
For PMIC5 ADC, combined two step decimation values are 250, 420 and 840.
If property is not found, default value of 840 will be used.
For PMIC refresh ADC, supported decimation values are 256, 512, 1024.
If property is not found, default value of 1024 will be used.
- qcom,ratiometric:
Usage: optional
Value type: <empty>
Definition: Channel calibration type. If this property is specified
VADC will use the VDD reference (1.875V) and GND for channel
calibration. If property is not found, channel will be
calibrated with 0V and 1.25V reference channels, also
known as absolute calibration.
- qcom,hw-settle-time:
Usage: optional
Value type: <u32>
Definition: Time between AMUX getting configured and the ADC starting
conversion.
For PMIC5, delay = 15us for value 0,
100us * (value) for values 0 < value < 11, and
2ms * (value - 10) otherwise.
Valid values are: 15, 100, 200, 300, 400, 500, 600, 700, 800,
900 us and 1, 2, 4, 6, 8, 10 ms
If property is not found, channel will use 15us.
For PMIC rev2, delay = 100us * (value) for values 0 < value < 11, and
2ms * (value - 10) otherwise.
Valid values are: 0, 100, 200, 300, 400, 500, 600, 700, 800,
900 us and 1, 2, 4, 6, 8, 10 ms
If property is not found, channel will use 0 us.
- qcom,avg-samples:
Usage: optional
Value type: <u32>
Definition: Number of samples to be used for measurement.
Averaging provides the option to obtain a single measurement
from the ADC that is an average of multiple samples. The value
selected is 2^(value).
Valid values are: 1, 2, 4, 8, 16
If property is not found, 1 sample will be used.
- qcom,lut-index:
Usage: optional
Value type: <u32>
Definition: Lookup table index (only for bat_therm channels).
A bat_therm channel (for 30k, 100k or 400k pull-up resistance)
requires a voltage-temperature look-up table which depends on the target.
The LUT to be used for a channel is selected from a table of LUTs
for that particular channel.
If property is not found, a default LUT is used for that channel,
corresponding to index 0.
Example:
/* VADC node */
pmic_vadc: vadc@3100 {
compatible = "qcom,spmi-adc5";
reg = <0x3100 0x100>;
interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
io-channel-ranges;
/* Channel node */
vph_pwr {
reg = <ADC_VPH_PWR>;
label = "vph_pwr";
qcom,decimation = <840>;
qcom,hw-settle-time = <0>;
qcom,avg-samples = <1>;
qcom,pre-scaling = <1 3>;
};
};
/* IIO client node */
usb {
io-channels = <&pmic_vadc ADC_VPH_PWR>;
io-channel-names = "vadc";
};