| MSM Core Energy Aware driver |
| |
| The Energy Aware driver provides per core power and temperature |
| information to the scheduler for it to make more power efficient |
| scheduling decision. |
| |
| The required properties for the Energy-aware driver are: |
| |
| - compatible: "qcom,apss-core-ea" |
| - reg: Physical address mapped to this device |
| |
| Required nodes: |
| - ea@X: Parent node that has the sensor mapping for each cpu. |
| This node's phandle is provided within cpu node |
| to invoke/probe energy-aware only for available cpus. |
| There should be one such node present for each cpu. |
| |
| Optional properties: |
| - qcom,low-hyst-temp: Degrees C below which the power numbers |
| need to be recomputed for the cores and reset |
| the threshold. If this is not present, the default |
| value is 10C. |
| - qcom,high-hyst-temp: Degrees C above which the power numbers |
| need to be recomputed for the cores and reset |
| the threshold. If this property is not present, |
| the default value is 5C. |
| - qcom,polling-interval: Interval for which the power numbers |
| need to be recomputed for the cores if there |
| is no change in threshold. If this property is not |
| present, the power is recalculated only on |
| temperature threshold notifications. |
| -qcom,throttling-temp: Temperature threshold for cpu frequency mitigation. |
| The value should be set same as the threshold temperature |
| in thermal module - 5 C, such that there is a bandwidth to |
| control the cores before frequency mitigation happens. |
| |
| [Second level nodes] |
| Require properties to define per core characteristics: |
| - sensor: Sensor phandle to map a particular sensor to the core. |
| If this property is not present, then the core is assumed |
| to be at 40C for all the power estimations. No sensor |
| threshold is set. This phandle's compatible property is |
| "qcom,sensor-information". This driver relies on the |
| sensor-type and scaling-factor information provided in this |
| phandle. |
| |
| Example |
| |
| qcom,msm-core@0xfc4b0000 { |
| compatible = "qcom,apss-core-ea"; |
| reg = <0xfc4b0000 0x1000>; |
| qcom,low-hyst-temp = <10>; |
| qcom,high-hyst-temp = <5>; |
| qcom,polling-interval = <50>; |
| |
| ea0: ea0 { |
| sensor = <&sensor_information0>; |
| }; |
| |
| ea1: ea1 { |
| sensor = <&sensor_information1>; |
| }; |
| |
| }; |
| |
| CPU0: cpu@0 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a53"; |
| reg = <0x0>; |
| qcom,ea = <&ea0>; |
| }; |