Skip to content

Commit e8ffd6c

Browse files
lumagdlezcano
authored andcommitted
dt-bindings: thermal: qcom: add adc-thermal monitor bindings
Add bindings for thermal monitor, part of Qualcomm PMIC5 chips. It is a close counterpart of VADC part of those PMICs. Signed-off-by: Dmitry Baryshkov <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Daniel Lezcano <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 20cc0dd commit e8ffd6c

File tree

1 file changed

+153
-0
lines changed

1 file changed

+153
-0
lines changed
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/thermal/qcom-spmi-adc-tm5.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm's SPMI PMIC ADC Thermal Monitoring
8+
maintainers:
9+
- Dmitry Baryshkov <[email protected]>
10+
11+
properties:
12+
compatible:
13+
const: qcom,spmi-adc-tm5
14+
15+
reg:
16+
maxItems: 1
17+
18+
interrupts:
19+
maxItems: 1
20+
21+
"#thermal-sensor-cells":
22+
const: 1
23+
description:
24+
Number of cells required to uniquely identify the thermal sensors. Since
25+
we have multiple sensors this is set to 1
26+
27+
"#address-cells":
28+
const: 1
29+
30+
"#size-cells":
31+
const: 0
32+
33+
qcom,avg-samples:
34+
$ref: /schemas/types.yaml#/definitions/uint32
35+
description: Number of samples to be used for measurement.
36+
enum:
37+
- 1
38+
- 2
39+
- 4
40+
- 8
41+
- 16
42+
default: 1
43+
44+
qcom,decimation:
45+
$ref: /schemas/types.yaml#/definitions/uint32
46+
description: This parameter is used to decrease ADC sampling rate.
47+
Quicker measurements can be made by reducing decimation ratio.
48+
enum:
49+
- 250
50+
- 420
51+
- 840
52+
default: 840
53+
54+
patternProperties:
55+
"^([-a-z0-9]*)@[0-7]$":
56+
type: object
57+
description:
58+
Represent one thermal sensor.
59+
60+
properties:
61+
reg:
62+
$ref: /schemas/types.yaml#/definitions/uint32
63+
description: Specify the sensor channel. There are 8 channels in PMIC5's ADC TM
64+
minimum: 0
65+
maximum: 7
66+
67+
io-channels:
68+
description:
69+
From common IIO binding. Used to pipe PMIC ADC channel to thermal monitor
70+
71+
qcom,ratiometric:
72+
$ref: /schemas/types.yaml#/definitions/flag
73+
description:
74+
Channel calibration type.
75+
If this property is specified VADC will use the VDD reference
76+
(1.875V) and GND for channel calibration. If property is not found,
77+
channel will be calibrated with 0V and 1.25V reference channels,
78+
also known as absolute calibration.
79+
80+
qcom,hw-settle-time-us:
81+
$ref: /schemas/types.yaml#/definitions/uint32
82+
description: Time between AMUX getting configured and the ADC starting conversion.
83+
enum: [15, 100, 200, 300, 400, 500, 600, 700, 1000, 2000, 4000, 8000, 16000, 32000, 64000, 128000]
84+
85+
qcom,pre-scaling:
86+
$ref: /schemas/types.yaml#/definitions/uint32-array
87+
description: Used for scaling the channel input signal before the
88+
signal is fed to VADC. The configuration for this node is to know the
89+
pre-determined ratio and use it for post scaling. It is a pair of
90+
integers, denoting the numerator and denominator of the fraction by
91+
which input signal is multiplied. For example, <1 3> indicates the
92+
signal is scaled down to 1/3 of its value before ADC measurement. If
93+
property is not found default value depending on chip will be used.
94+
items:
95+
- const: 1
96+
- enum: [ 1, 3, 4, 6, 20, 8, 10 ]
97+
98+
required:
99+
- reg
100+
- io-channels
101+
102+
additionalProperties:
103+
false
104+
105+
required:
106+
- compatible
107+
- reg
108+
- interrupts
109+
- "#address-cells"
110+
- "#size-cells"
111+
- "#thermal-sensor-cells"
112+
113+
additionalProperties: false
114+
115+
examples:
116+
- |
117+
#include <dt-bindings/iio/qcom,spmi-vadc.h>
118+
#include <dt-bindings/interrupt-controller/irq.h>
119+
spmi_bus {
120+
#address-cells = <1>;
121+
#size-cells = <0>;
122+
pm8150b_adc: adc@3100 {
123+
reg = <0x3100>;
124+
compatible = "qcom,spmi-adc5";
125+
#address-cells = <1>;
126+
#size-cells = <0>;
127+
#io-channel-cells = <1>;
128+
129+
/* Other propreties are omitted */
130+
conn-therm@4f {
131+
reg = <ADC5_AMUX_THM3_100K_PU>;
132+
qcom,ratiometric;
133+
qcom,hw-settle-time = <200>;
134+
};
135+
};
136+
137+
pm8150b_adc_tm: adc-tm@3500 {
138+
compatible = "qcom,spmi-adc-tm5";
139+
reg = <0x3500>;
140+
interrupts = <0x2 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
141+
#thermal-sensor-cells = <1>;
142+
#address-cells = <1>;
143+
#size-cells = <0>;
144+
145+
conn-therm@0 {
146+
reg = <0>;
147+
io-channels = <&pm8150b_adc ADC5_AMUX_THM3_100K_PU>;
148+
qcom,ratiometric;
149+
qcom,hw-settle-time-us = <200>;
150+
};
151+
};
152+
};
153+
...

0 commit comments

Comments
 (0)