pmaports/device/main/device-pine64-pinephone/sun50i-a64-psci.dts
Bobby The Builder ae74e11664
main/device-pine64-pinephone: U-Boot script update (MR 3806)
Protect script when ram_freq is not set
   Safely load PSCI DTO to enable CPUidle driver: psci_idle
      The PSCI DTO shall only be applied if TF-A & Crust
      support CPU idle states [0]. Otherwise the CPU usage
      will be at 100%. This will not be visible in top,
      lead to overheating and battery drain.
      Worst case scenario would lead to a fried chip if
      the CPU thermal_zone does not work or is not enabled
      in DTS.

[0] https://gitlab.com/postmarketOS/pmaports/-/issues/1901#note_1238456920
2023-01-14 19:07:07 +01:00

44 lines
877 B
Text

// Source: https://github.com/megous/linux/commit/9584b9c889dce3d58fcd465697d0a9857f764739
/dts-v1/;
/plugin/;
&{/cpus} {
cpu@0 {
cpu-idle-states = <&cpu_sleep>, <&cluster_sleep>;
};
cpu@1 {
cpu-idle-states = <&cpu_sleep>, <&cluster_sleep>;
};
cpu@2 {
cpu-idle-states = <&cpu_sleep>, <&cluster_sleep>;
};
cpu@3 {
cpu-idle-states = <&cpu_sleep>, <&cluster_sleep>;
};
idle-states {
entry-method = "psci";
cpu_sleep: cpu-sleep {
compatible = "arm,idle-state";
local-timer-stop;
entry-latency-us = <800>;
exit-latency-us = <1500>;
min-residency-us = <25000>;
arm,psci-suspend-param = <0x00010003>;
};
cluster_sleep: cluster-sleep {
compatible = "arm,idle-state";
local-timer-stop;
entry-latency-us = <850>;
exit-latency-us = <1500>;
min-residency-us = <50000>;
arm,psci-suspend-param = <0x01010013>;
};
};
};