Merge "ARM: dts: qcom: Enable cx ipeak cooling device configuration for holi"

This commit is contained in:
qctecmdr 2021-05-26 08:49:07 -07:00 • committed by Gerrit - the friendly Code Review server
commit dc66369349
2 changed files with 74 additions and 0 deletions

View file

@ -0,0 +1,53 @@
Qualcomm Technologies, Inc. CX Peak current cooling device
The CX IPEAK cooling device, will be used to set thermal client vote to
CX IPEAK LM hardware. When all pre-defined clients on CX rail including
thermal client set their vote, CXIP LM hardware throttles pre-defined
client on the same rail.
Required Parameters:
- compatible:
Usage: required
Value type: <string>
Definition: should be "qcom,cxip-lm-cooling-device"
- reg:
Usage: required
Value type: <values in hex>
Definition: Must contain 2 variables <a b> where 'a' is the starting
register address of the CX IPEAK LM hardware and 'b' is the
size of the peripheral address space.
- qcom,thermal-client-offset:
Usage: Optional
Value type: <value in hex>
Definition: This property is required for CX IP LM v1.1 and above
hardware. Must contain offset from CX IPEAK LM reg
base for thermal client voting. If this property is not defined,
then CX IPEAK cooling device will use legacy CXIP LM hardware
offset registers.
- qcom,bypass-client-list:
Usage: Optional
Value type: <value in hex>
Definition: This property is required for CX IP LM v1.1 and above
hardware. Must contain array of offsets from CX IPEAK LM reg
base for clients those are not participating voting to CXIP LM
hardware. This property makes sense only when thermal-client
is defined.
- #cooling-cells:
Usage: required
Value type: <integer>
Definition: Must be 2. This is required by of-thermal and refer the doc
<devicetree/bindings/thermal/thermal.txt> for more details.
Example:
cxip_cdev: cxip-cdev@1fed000 {
compatible = "qcom,cxip-lm-cooling-device";
reg = <0x1fed000 0x24>;
qcom,thermal-client-offset = <0x8000>;
qcom,bypass-client-list = <0x2004 0x3004>;
#cooling-cells = <2>;
};

View file

@ -62,6 +62,16 @@
};
};
};
cxip_cdev: cxip-cdev@3ed000 {
compatible = "qcom,cxip-lm-cooling-device";
reg = <0x3ed000 0xe008>;
qcom,thermal-client-offset = <0x8000>;
/* 4th and 5th offsets to bypass VICTIM1 */
qcom,bypass-client-list = <0x2004 0x4004 0x6004 0xc004 0xc008 0xe004>;
#cooling-cells = <2>;
status = "disabled";
};
};
&rpm_bus {
@ -1083,6 +1093,12 @@
type = "passive";
};
q6_hvx_cxip: q6-hvx-cxip-trip {
temperature = <95000>;
hysteresis = <20000>;
type = "passive";
};
q6_hvx_cx_mon: q6-hvx-cx-mon {
temperature = <100000>;
hysteresis = <5000>;
@ -1097,6 +1113,11 @@
THERMAL_NO_LIMIT>;
};
q6-hvx-cxip-cdev {
trip = <&q6_hvx_cxip>;
cooling-device = <&cxip_cdev 1 1>;
};
q6-hvx-cx-cdev0 {
trip = <&q6_hvx_cx_mon>;
/* throttle to 565000000Hz */