blob: 6880d304367d2884c92916f7e119ad7bbe7700c0 [file] [log] [blame]
Qualcomm Technologies, Inc. TADC Specific Bindings
TADC (Telemetry ADC) is a 10 bit resolution ADC which has 8 channels: battery
temperature, skin temperature, die temperature, battery current, battery
voltage, input current, input voltage, and OTG current.
=======================
Required Node Structure
=======================
A TADC must be described in two levels of devices nodes.
=======================
First Level Node - TADC
=======================
- reg
Usage: required
Value type: <prop-encoded-array>
Definition: Address and size of the TADC register block.
TADC specific properties:
- compatible
Usage: required
Value type: <string>
Definition: Must be "qcom,tadc".
- interrupts
Usage: required
Value type: <prop-encoded-array>
Definition: Peripheral interrupt specifier.
- interrupt-names
Usage: required
Value type: <stringlist>
Definition: Interrupt names. This list must match up 1-to-1 with the
interrupts specified in the 'interrupts' property.
=============================================
Second Level Nodes - TADC Thermistor Channels
=============================================
- reg
Usage: required
Value type: <u32>
Definition: The 0 based channel number.
TADC thermistor channel specific properties:
- qcom,rbias
Usage: required
Value type: <u32>
Definition: The bias resistor value.
- qcom,therm-at-25degc
Usage: required
Value type: <u32>
Definition: The thermistor resistance at 25 DegC.
- qcom,beta-coefficient
Usage: required
Value type: <u32>
Definition: The beta coefficeent or B-parameter of the thermistor.
===============================================
Second Level Nodes - TADC Scale/Offset Channels
===============================================
- reg
Usage: required
Value type: <u32>
Definition: The 0 based channel number.
TADC scale/offset channel specific properties:
- qcom,scale
Usage: required
Value type: <s32>
Definition: The RAW scaling factor.
- qcom,offset
Usage: optional
Value type: <s32>
Definition: The offset after scaling.
=======
Example
=======
smb138x_tadc: qcom,tadc@3600 {
compatible = "qcom,tadc";
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
interrupts = <0x36 0x0 IRQ_TYPE_EDGE_BOTH>;
interrupt-names = "eoc";
batt_temp@0 {
reg = <0>;
qcom,rbias = <68100>;
qcom,rtherm-at-25degc = <68000>;
qcom,beta-coefficient = <3450>;
};
skin_temp@1 {
reg = <1>;
qcom,rbias = <33000>;
qcom,rtherm-at-25degc = <68000>;
qcom,beta-coefficient = <3450>;
};
die_temp@2 {
reg = <2>;
qcom,scale = <(-1032)>;
qcom,offset = <344125>;
};
batt_i@3 {
reg = <3>;
qcom,channel = <3>;
qcom,scale = <20000000>;
};
batt_v@4 {
reg = <4>;
qcom,scale = <5000000>;
};
input_i@5 {
reg = <5>;
qcom,scale = <14285714>;
};
input_v@6 {
reg = <6>;
qcom,scale = <25000000>;
};
otg_i@7 {
reg = <7>;
qcom,scale = <5714286>;
};
};