forked from OnePlus-5-T/4.14-kernel-oneplus-msm8998
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
drivers: thermal: lmh: Add snapshot of LMH DCVS driver
Add a snapshot of LMH DCVSh driver from msm-4.9 as of 'commit <47f9b50df9> ("drivers: thermal: limits-dcvs: Prevent race in freq limits polling")'. Change-Id: I53538f50266439da5ba2605c03c820b927b07824 Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
- Loading branch information
Ram Chandrasekar
committed
Feb 23, 2018
1 parent
66f2205
commit 6f2bfd5
Showing
7 changed files
with
1,405 additions
and
0 deletions.
There are no files selected for viewing
64 changes: 64 additions & 0 deletions
64
Documentation/devicetree/bindings/thermal/qcom-lmh-dcvs.txt
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,64 @@ | ||
Limits Management Hardware - DCVS | ||
|
||
The LMH-DCVS block is a hardware IP for every CPU cluster, to handle quick | ||
changes in thermal limits. The hardware responds to thermal variation amongst | ||
the CPUs in the cluster by requesting limits on the clock frequency and | ||
voltage on the OSM hardware. | ||
|
||
The LMH DCVS driver exports a virtual sensor that can be used to set the | ||
thermal limits on the hardware. LMH DCVS driver can be a platform CPU Cooling | ||
device, which registers with the CPU cooling device interface. All CPU device | ||
nodes should reference the corresponding LMH DCVS hardware in device tree. | ||
CPUs referencing the same LMH DCVS node will be associated with the | ||
corresponding cooling device as related CPUs. | ||
|
||
Properties: | ||
|
||
- compatible: | ||
Usage: required | ||
Value type: <string> | ||
Definition: shall be "qcom,msm-hw-limits" | ||
- interrupts: | ||
Usage: required | ||
Value type: <interrupt_type interrupt_number interrupt_trigger_type> | ||
Definition: Should specify interrupt information about the debug | ||
interrupt generated by the LMH DCVSh hardware. LMH | ||
DCVSh hardware will generate this interrupt whenever | ||
it makes a new cpu DCVS decision. | ||
- qcom,affinity: | ||
Usage: Required | ||
Value type: <u32> | ||
Definition: Should specify the cluster affinity this hardware | ||
corresponds to. | ||
|
||
- isens_vref-supply: | ||
Usage: optional | ||
Value type: <phandle> | ||
Definition: Should specify the phandle of the vref regulator used by | ||
the isens hardware. This active only regulator will be | ||
enabled by LMH DCVSh. | ||
|
||
- isens-vref-settings: | ||
Usage: optional | ||
Value type: <u32 array> | ||
Definition: Should specify the min voltage(uV), max voltage(uV) and | ||
max load(uA) for the isens vref regulator. This | ||
property is valid only if there is valid entry for | ||
isens_vref-supply. | ||
|
||
Example: | ||
|
||
lmh_dcvs0: qcom,limits-dcvs@0 { | ||
compatible = "qcom,msm-hw-limits"; | ||
interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; | ||
qcom,affinity = <0>; | ||
isens_vref-supply = <&pm8998_l1_ao>; | ||
isens-vref-settings = <880000 880000 36000>; | ||
}; | ||
|
||
CPU0: cpu@0 { | ||
device_type = "cpu"; | ||
compatible = "arm,armv8"; | ||
reg = <0x0 0x0>; | ||
qcom,lmh-dcvs = <&lmh_dcvs0>;; | ||
}; |
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 |
---|---|---|
@@ -1,2 +1,3 @@ | ||
obj-$(CONFIG_QCOM_TSENS) += qcom_tsens.o | ||
qcom_tsens-y += tsens.o tsens-common.o tsens-8916.o tsens-8974.o tsens-8960.o tsens-8996.o | ||
obj-$(CONFIG_QTI_THERMAL_LIMITS_DCVS) += msm_lmh_dcvs.o lmh_dbg.o |
Oops, something went wrong.