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.
Merge branch 'thermal/next' of git://git.kernel.org/pub/scm/linux/ker…
…nel/git/thermal/linux Pull thermal management updates from Zhang Rui: - Fix a deadlock regression in thermal core framework, which was introduced in 5.3 (Wei Wang) - Initialize thermal control framework earlier to enable thermal mitigation during boot (Amit Kucheria) - Convert the Intelligent Power Allocator (IPA) thermal governor to follow the generic PM_EM instead of its own Energy Model (Quentin Perret) - Introduce a new Amlogic soc thermal driver (Guillaume La Roque) - Add interrupt support for tsens thermal driver (Amit Kucheria) - Add support for MSM8956/8976 in tsens thermal driver (AngeloGioacchino Del Regno) - Add support for r8a774b1 in rcar thermal driver (Biju Das) - Add support for Thermal Monitor Unit v2 in qoriq thermal driver (Yuantian Tang) - Some other fixes/cleanups on thermal core framework and soc thermal drivers (Colin Ian King, Daniel Lezcano, Hsin-Yi Wang, Tian Tao) * 'thermal/next' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux: (32 commits) thermal: Fix deadlock in thermal thermal_zone_device_check thermal: cpu_cooling: Migrate to using the EM framework thermal: cpu_cooling: Make the power-related code depend on IPA PM / EM: Declare EM data types unconditionally arm64: defconfig: Enable CONFIG_ENERGY_MODEL drivers: thermal: tsens: fix potential integer overflow on multiply thermal: cpu_cooling: Reorder the header file thermal: cpu_cooling: Remove pointless dependency on CONFIG_OF thermal: no need to set .owner when using module_platform_driver thermal: qcom: tsens-v1: Fix kfree of a non-pointer value cpufreq: qcom-hw: Move driver initialization earlier clk: qcom: Initialize clock drivers earlier cpufreq: Initialize cpufreq-dt driver earlier cpufreq: Initialize the governors in core_initcall thermal: Initialize thermal subsystem earlier thermal: Remove netlink support dt: thermal: tsens: Document compatible for MSM8976/56 thermal: qcom: tsens-v1: Add support for MSM8956 and MSM8976 MAINTAINERS: add entry for Amlogic Thermal driver thermal: amlogic: Add thermal driver to support G12 SoCs ...
- Loading branch information
Showing
37 changed files
with
1,878 additions
and
589 deletions.
There are no files selected for viewing
54 changes: 54 additions & 0 deletions
54
Documentation/devicetree/bindings/thermal/amlogic,thermal.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,54 @@ | ||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/thermal/amlogic,thermal.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Amlogic Thermal | ||
|
||
maintainers: | ||
- Guillaume La Roque <[email protected]> | ||
|
||
description: Binding for Amlogic Thermal | ||
|
||
properties: | ||
compatible: | ||
items: | ||
- enum: | ||
- amlogic,g12a-cpu-thermal | ||
- amlogic,g12a-ddr-thermal | ||
- const: amlogic,g12a-thermal | ||
|
||
reg: | ||
maxItems: 1 | ||
|
||
interrupts: | ||
maxItems: 1 | ||
|
||
clocks: | ||
maxItems: 1 | ||
|
||
amlogic,ao-secure: | ||
description: phandle to the ao-secure syscon | ||
$ref: '/schemas/types.yaml#/definitions/phandle' | ||
|
||
|
||
required: | ||
- compatible | ||
- reg | ||
- interrupts | ||
- clocks | ||
- amlogic,ao-secure | ||
|
||
examples: | ||
- | | ||
cpu_temp: temperature-sensor@ff634800 { | ||
compatible = "amlogic,g12a-cpu-thermal", | ||
"amlogic,g12a-thermal"; | ||
reg = <0xff634800 0x50>; | ||
interrupts = <0x0 0x24 0x0>; | ||
clocks = <&clk 164>; | ||
#thermal-sensor-cells = <0>; | ||
amlogic,ao-secure = <&sec_AO>; | ||
}; | ||
... |
This file was deleted.
Oops, something went wrong.
170 changes: 170 additions & 0 deletions
170
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,170 @@ | ||
# 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,msm8976-tsens | ||
- 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,msm8976-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
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
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 |
---|---|---|
|
@@ -13688,6 +13688,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]> | ||
|
@@ -16310,6 +16311,15 @@ F: Documentation/driver-api/thermal/cpu-cooling-api.rst | |
F: drivers/thermal/cpu_cooling.c | ||
F: include/linux/cpu_cooling.h | ||
|
||
THERMAL DRIVER FOR AMLOGIC SOCS | ||
M: Guillaume La Roque <[email protected]> | ||
L: [email protected] | ||
L: [email protected] | ||
W: http://linux-meson.com/ | ||
S: Supported | ||
F: drivers/thermal/amlogic_thermal.c | ||
F: Documentation/devicetree/bindings/thermal/amlogic,thermal.yaml | ||
|
||
THINKPAD ACPI EXTRAS DRIVER | ||
M: Henrique de Moraes Holschuh <[email protected]> | ||
L: [email protected] | ||
|
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
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
Oops, something went wrong.