mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
97b27dd33d
The current example for a thermal zone isn't very useful as reference since it would result in a hardware shutdown at 145°C, instead of allowing the system to try to shutdown gracefully. Without an ADC channel a maximum of two trip points is useful in practice for this sensor, with temperatures corresponding to the stage 1 and stage 2 'hardware trip points'. A critical trip point at stage 2 may allow the system to shutdown before a hardware shutdown at stage 3 kicks in. It should be noted though that by default the chip performs a 'partial shutdown' when the temperature reaches stage 2, which may prevent an orderly shutdown. The 'partial shutdown' can be disabled by software. Signed-off-by: Matthias Kaehlcke <mka@chromium.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
52 lines
1.3 KiB
Plaintext
52 lines
1.3 KiB
Plaintext
Qualcomm QPNP PMIC Temperature Alarm
|
|
|
|
QPNP temperature alarm peripherals are found inside of Qualcomm PMIC chips
|
|
that utilize the Qualcomm SPMI implementation. These peripherals provide an
|
|
interrupt signal and status register to identify high PMIC die temperature.
|
|
|
|
Required properties:
|
|
- compatible: Should contain "qcom,spmi-temp-alarm".
|
|
- reg: Specifies the SPMI address.
|
|
- interrupts: PMIC temperature alarm interrupt.
|
|
- #thermal-sensor-cells: Should be 0. See thermal.txt for a description.
|
|
|
|
Optional properties:
|
|
- io-channels: Should contain IIO channel specifier for the ADC channel,
|
|
which report chip die temperature.
|
|
- io-channel-names: Should contain "thermal".
|
|
|
|
Example:
|
|
|
|
pm8941_temp: thermal-alarm@2400 {
|
|
compatible = "qcom,spmi-temp-alarm";
|
|
reg = <0x2400>;
|
|
interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
|
|
#thermal-sensor-cells = <0>;
|
|
|
|
io-channels = <&pm8941_vadc VADC_DIE_TEMP>;
|
|
io-channel-names = "thermal";
|
|
};
|
|
|
|
thermal-zones {
|
|
pm8941 {
|
|
polling-delay-passive = <250>;
|
|
polling-delay = <1000>;
|
|
|
|
thermal-sensors = <&pm8941_temp>;
|
|
|
|
trips {
|
|
stage1 {
|
|
temperature = <105000>;
|
|
hysteresis = <2000>;
|
|
type = "passive";
|
|
};
|
|
stage2 {
|
|
temperature = <125000>;
|
|
hysteresis = <2000>;
|
|
type = "critical";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|