forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dt-bindings: thermal: tsens: Convert over to a yaml schema
Older IP only supports the 'uplow' interrupt, but newer IP supports 'uplow' and 'critical' interrupts. Document interrupt support in the tsens driver by converting over to a YAML schema. Suggested-by: Stephen Boyd <[email protected]> Signed-off-by: Amit Kucheria <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Daniel Lezcano <[email protected]> Link: https://lore.kernel.org/r/d519be4c7198f47c3661f7326d1a724b97dc4973.1572526427.git.amit.kucheria@linaro.org
- Loading branch information
1 parent
7c938f4
commit a877e76
Showing
3 changed files
with
169 additions
and
55 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
168 changes: 168 additions & 0 deletions
168
Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,168 @@ | ||
# SPDX-License-Identifier: (GPL-2.0 OR MIT) | ||
# Copyright 2019 Linaro Ltd. | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/thermal/qcom-tsens.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: QCOM SoC Temperature Sensor (TSENS) | ||
|
||
maintainers: | ||
- Amit Kucheria <[email protected]> | ||
|
||
description: | | ||
QCOM SoCs have TSENS IP to allow temperature measurement. There are currently | ||
three distinct major versions of the IP that is supported by a single driver. | ||
The IP versions are named v0.1, v1 and v2 in the driver, where v0.1 captures | ||
everything before v1 when there was no versioning information. | ||
properties: | ||
compatible: | ||
oneOf: | ||
- description: v0.1 of TSENS | ||
items: | ||
- enum: | ||
- qcom,msm8916-tsens | ||
- qcom,msm8974-tsens | ||
- const: qcom,tsens-v0_1 | ||
|
||
- description: v1 of TSENS | ||
items: | ||
- enum: | ||
- qcom,qcs404-tsens | ||
- const: qcom,tsens-v1 | ||
|
||
- description: v2 of TSENS | ||
items: | ||
- enum: | ||
- qcom,msm8996-tsens | ||
- qcom,msm8998-tsens | ||
- qcom,sdm845-tsens | ||
- const: qcom,tsens-v2 | ||
|
||
reg: | ||
maxItems: 2 | ||
items: | ||
- description: TM registers | ||
- description: SROT registers | ||
|
||
nvmem-cells: | ||
minItems: 1 | ||
maxItems: 2 | ||
description: | ||
Reference to an nvmem node for the calibration data | ||
|
||
nvmem-cells-names: | ||
minItems: 1 | ||
maxItems: 2 | ||
items: | ||
- enum: | ||
- caldata | ||
- calsel | ||
|
||
"#qcom,sensors": | ||
allOf: | ||
- $ref: /schemas/types.yaml#/definitions/uint32 | ||
- minimum: 1 | ||
- maximum: 16 | ||
description: | ||
Number of sensors enabled on this platform | ||
|
||
"#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 | ||
|
||
allOf: | ||
- if: | ||
properties: | ||
compatible: | ||
contains: | ||
enum: | ||
- qcom,msm8916-tsens | ||
- qcom,msm8974-tsens | ||
- qcom,qcs404-tsens | ||
- qcom,tsens-v0_1 | ||
- qcom,tsens-v1 | ||
then: | ||
properties: | ||
interrupts: | ||
items: | ||
- description: Combined interrupt if upper or lower threshold crossed | ||
interrupt-names: | ||
items: | ||
- const: uplow | ||
|
||
else: | ||
properties: | ||
interrupts: | ||
items: | ||
- description: Combined interrupt if upper or lower threshold crossed | ||
- description: Interrupt if critical threshold crossed | ||
interrupt-names: | ||
items: | ||
- const: uplow | ||
- const: critical | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- "#qcom,sensors" | ||
- interrupts | ||
- interrupt-names | ||
- "#thermal-sensor-cells" | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/interrupt-controller/arm-gic.h> | ||
// Example 1 (legacy: for pre v1 IP): | ||
tsens1: thermal-sensor@900000 { | ||
compatible = "qcom,msm8916-tsens", "qcom,tsens-v0_1"; | ||
reg = <0x4a9000 0x1000>, /* TM */ | ||
<0x4a8000 0x1000>; /* SROT */ | ||
nvmem-cells = <&tsens_caldata>, <&tsens_calsel>; | ||
nvmem-cell-names = "caldata", "calsel"; | ||
interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; | ||
interrupt-names = "uplow"; | ||
#qcom,sensors = <5>; | ||
#thermal-sensor-cells = <1>; | ||
}; | ||
- | | ||
#include <dt-bindings/interrupt-controller/arm-gic.h> | ||
// Example 2 (for any platform containing v1 of the TSENS IP): | ||
tsens2: thermal-sensor@4a9000 { | ||
compatible = "qcom,qcs404-tsens", "qcom,tsens-v1"; | ||
reg = <0x004a9000 0x1000>, /* TM */ | ||
<0x004a8000 0x1000>; /* SROT */ | ||
nvmem-cells = <&tsens_caldata>; | ||
nvmem-cell-names = "calib"; | ||
interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>; | ||
interrupt-names = "uplow"; | ||
#qcom,sensors = <10>; | ||
#thermal-sensor-cells = <1>; | ||
}; | ||
- | | ||
#include <dt-bindings/interrupt-controller/arm-gic.h> | ||
// Example 3 (for any platform containing v2 of the TSENS IP): | ||
tsens3: thermal-sensor@c263000 { | ||
compatible = "qcom,sdm845-tsens", "qcom,tsens-v2"; | ||
reg = <0xc263000 0x1ff>, | ||
<0xc222000 0x1ff>; | ||
interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>; | ||
interrupt-names = "uplow", "critical"; | ||
#qcom,sensors = <13>; | ||
#thermal-sensor-cells = <1>; | ||
}; | ||
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13516,6 +13516,7 @@ L: [email protected] | |
L: [email protected] | ||
S: Maintained | ||
F: drivers/thermal/qcom/ | ||
F: Documentation/devicetree/bindings/thermal/qcom-tsens.yaml | ||
|
||
QUALCOMM VENUS VIDEO ACCELERATOR DRIVER | ||
M: Stanimir Varbanov <[email protected]> | ||
|