2023-08-30 17:31:07 +02:00
|
|
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
|
|
%YAML 1.2
|
|
|
|
---
|
|
|
|
$id: http://devicetree.org/schemas/thermal/qcom-spmi-adc-tm-hc.yaml#
|
|
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
|
|
|
|
title: Qualcomm's SPMI PMIC ADC HC Thermal Monitoring
|
|
|
|
maintainers:
|
|
|
|
- Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
|
|
|
|
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
const: qcom,spmi-adc-tm-hc
|
|
|
|
|
|
|
|
reg:
|
|
|
|
maxItems: 1
|
|
|
|
|
|
|
|
interrupts:
|
|
|
|
maxItems: 1
|
|
|
|
|
|
|
|
"#thermal-sensor-cells":
|
|
|
|
const: 1
|
|
|
|
description:
|
|
|
|
Number of cells required to uniquely identify the thermal sensors. Since
|
|
|
|
we have multiple sensors this is set to 1
|
|
|
|
|
|
|
|
"#address-cells":
|
|
|
|
const: 1
|
|
|
|
|
|
|
|
"#size-cells":
|
|
|
|
const: 0
|
|
|
|
|
|
|
|
qcom,avg-samples:
|
|
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
|
|
description: Number of samples to be used for measurement.
|
|
|
|
enum:
|
|
|
|
- 1
|
|
|
|
- 2
|
|
|
|
- 4
|
|
|
|
- 8
|
|
|
|
- 16
|
|
|
|
default: 1
|
|
|
|
|
|
|
|
qcom,decimation:
|
|
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
|
|
description: This parameter is used to decrease ADC sampling rate.
|
|
|
|
Quicker measurements can be made by reducing decimation ratio.
|
|
|
|
enum:
|
|
|
|
- 256
|
|
|
|
- 512
|
|
|
|
- 1024
|
|
|
|
default: 1024
|
|
|
|
|
|
|
|
patternProperties:
|
|
|
|
"^([-a-z0-9]*)@[0-7]$":
|
|
|
|
type: object
|
|
|
|
description:
|
|
|
|
Represent one thermal sensor.
|
|
|
|
|
|
|
|
properties:
|
|
|
|
reg:
|
|
|
|
description: Specify the sensor channel. There are 8 channels in PMIC5's ADC TM
|
|
|
|
minimum: 0
|
|
|
|
maximum: 7
|
|
|
|
|
|
|
|
io-channels:
|
|
|
|
description:
|
|
|
|
From common IIO binding. Used to pipe PMIC ADC channel to thermal monitor
|
|
|
|
|
|
|
|
qcom,ratiometric:
|
|
|
|
$ref: /schemas/types.yaml#/definitions/flag
|
|
|
|
description:
|
|
|
|
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-us:
|
|
|
|
description: Time between AMUX getting configured and the ADC starting conversion.
|
|
|
|
enum: [0, 100, 200, 300, 400, 500, 600, 700, 1000, 2000, 4000, 6000, 8000, 10000]
|
|
|
|
|
|
|
|
qcom,pre-scaling:
|
|
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
|
|
description: 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. It is a pair of
|
|
|
|
integers, denoting the numerator and denominator of the fraction by
|
|
|
|
which input signal is multiplied. For example, <1 3> indicates the
|
|
|
|
signal is scaled down to 1/3 of its value before ADC measurement. If
|
|
|
|
property is not found default value depending on chip will be used.
|
|
|
|
items:
|
|
|
|
- const: 1
|
|
|
|
- enum: [ 1, 3, 4, 6, 20, 8, 10 ]
|
|
|
|
|
|
|
|
required:
|
|
|
|
- reg
|
|
|
|
- io-channels
|
|
|
|
|
|
|
|
additionalProperties:
|
|
|
|
false
|
|
|
|
|
|
|
|
required:
|
|
|
|
- compatible
|
|
|
|
- reg
|
|
|
|
- interrupts
|
|
|
|
- "#address-cells"
|
|
|
|
- "#size-cells"
|
|
|
|
- "#thermal-sensor-cells"
|
|
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
|
|
examples:
|
|
|
|
- |
|
|
|
|
#include <dt-bindings/iio/qcom,spmi-vadc.h>
|
|
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
spmi_bus {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
pm8998_adc: adc@3100 {
|
|
|
|
reg = <0x3100>;
|
|
|
|
compatible = "qcom,spmi-adc-rev2";
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
#io-channel-cells = <1>;
|
|
|
|
|
2023-10-24 12:59:35 +02:00
|
|
|
/* Other properties are omitted */
|
|
|
|
channel@4c {
|
2023-08-30 17:31:07 +02:00
|
|
|
reg = <ADC5_XO_THERM_100K_PU>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
pm8998_adc_tm: adc-tm@3400 {
|
|
|
|
compatible = "qcom,spmi-adc-tm-hc";
|
|
|
|
reg = <0x3400>;
|
|
|
|
interrupts = <0x2 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
|
|
|
|
#thermal-sensor-cells = <1>;
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
|
|
|
|
thermistor@1 {
|
|
|
|
reg = <1>;
|
|
|
|
io-channels = <&pm8998_adc ADC5_XO_THERM_100K_PU>;
|
|
|
|
qcom,ratiometric;
|
|
|
|
qcom,hw-settle-time-us = <200>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
...
|