mirror of
https://github.com/torvalds/linux.git
synced 2024-12-23 03:11:46 +00:00
4ce6dcfd0d
We want to create common code for v2 of the TSENS IP block that is used in a large number of Qualcomm SoCs. "qcom,tsens-v2" should be able to handle most of the common functionality start with a common get_temp() function. It is also necessary to split out the memory regions for the TM and SROT register banks because their offsets are not constant across SoC families. Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Tested-by: Matthias Kaehlcke <mka@chromium.org> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
42 lines
1.5 KiB
Plaintext
42 lines
1.5 KiB
Plaintext
* QCOM SoC Temperature Sensor (TSENS)
|
|
|
|
Required properties:
|
|
- compatible:
|
|
Must be one of the following:
|
|
- "qcom,msm8916-tsens" (MSM8916)
|
|
- "qcom,msm8974-tsens" (MSM8974)
|
|
- "qcom,msm8996-tsens" (MSM8996)
|
|
- "qcom,msm8998-tsens", "qcom,tsens-v2" (MSM8998)
|
|
- "qcom,sdm845-tsens", "qcom,tsens-v2" (SDM845)
|
|
The generic "qcom,tsens-v2" property must be used as a fallback for any SoC
|
|
with version 2 of the TSENS IP. MSM8996 is the only exception because the
|
|
generic property did not exist when support was added.
|
|
|
|
- reg: Address range of the thermal registers.
|
|
New platforms containing v2.x.y of the TSENS IP must specify the SROT and TM
|
|
register spaces separately, with order being TM before SROT.
|
|
See Example 2, below.
|
|
|
|
- #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description.
|
|
- #qcom,sensors: Number of sensors in tsens block
|
|
- Refer to Documentation/devicetree/bindings/nvmem/nvmem.txt to know how to specify
|
|
nvmem cells
|
|
|
|
Example 1 (legacy support before a fallback tsens-v2 property was introduced):
|
|
tsens: thermal-sensor@900000 {
|
|
compatible = "qcom,msm8916-tsens";
|
|
reg = <0x4a8000 0x2000>;
|
|
nvmem-cells = <&tsens_caldata>, <&tsens_calsel>;
|
|
nvmem-cell-names = "caldata", "calsel";
|
|
#thermal-sensor-cells = <1>;
|
|
};
|
|
|
|
Example 2 (for any platform containing v2 of the TSENS IP):
|
|
tsens0: thermal-sensor@c263000 {
|
|
compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
|
|
reg = <0xc263000 0x1ff>, /* TM */
|
|
<0xc222000 0x1ff>; /* SROT */
|
|
#qcom,sensors = <13>;
|
|
#thermal-sensor-cells = <1>;
|
|
};
|