• Matthias Kaehlcke's avatar
    thermal: qcom-spmi: Use PMIC thermal stage 2 for critical trip points · f1599f9e
    Matthias Kaehlcke authored
    There are three thermal stages defined in the PMIC:
    
    stage 1: warning
    stage 2: system should shut down
    stage 3: emergency shut down
    
    By default the PMIC assumes that the OS isn't doing anything and thus
    at stage 2 it does a partial PMIC shutdown and at stage 3 it kills
    all power. When switching between thermal stages the PMIC generates an
    interrupt which is handled by the driver. The partial PMIC shutdown at
    stage 2 can be disabled by software, which allows the OS to initiate a
    shutdown at stage 2 with a thermal zone configured accordingly.
    
    If a critical trip point is configured in the thermal zone the driver
    adjusts the stage 1-3 temperature thresholds to (closely) match the
    critical temperature with a stage 2 threshold (125/130/135/140 °C).
    If a suitable match is found the partial shutdown at stage 2 is
    disabled. If for some reason the system doesn't shutdown at stage 2
    the emergency shutdown at stage 3 kicks in.
    
    The partial shutdown at stage 2 remains enabled in these cases:
    - no critical trip point defined
    - the temperature of the critical trip point is < 125°C
    - the temperature of the critical trip point is > 140°C and no
      ADC channel is configured (thus the OS is not notified when the critical
      temperature is reached)
    Suggested-by: default avatarDouglas Anderson <dianders@chromium.org>
    Signed-off-by: default avatarMatthias Kaehlcke <mka@chromium.org>
    Reviewed-by: default avatarDouglas Anderson <dianders@chromium.org>
    Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
    f1599f9e
qcom-spmi-temp-alarm.c 10.9 KB