MyungJoo Ham | a3c98b8 | 2011-10-02 00:19:15 +0200 | [diff] [blame] | 1 | config ARCH_HAS_DEVFREQ |
| 2 | bool |
| 3 | depends on ARCH_HAS_OPP |
| 4 | help |
| 5 | Denotes that the architecture supports DEVFREQ. If the architecture |
| 6 | supports multiple OPP entries per device and the frequency of the |
| 7 | devices with OPPs may be altered dynamically, the architecture |
| 8 | supports DEVFREQ. |
| 9 | |
| 10 | menuconfig PM_DEVFREQ |
| 11 | bool "Generic Dynamic Voltage and Frequency Scaling (DVFS) support" |
| 12 | depends on PM_OPP && ARCH_HAS_DEVFREQ |
| 13 | help |
| 14 | With OPP support, a device may have a list of frequencies and |
| 15 | voltages available. DEVFREQ, a generic DVFS framework can be |
| 16 | registered for a device with OPP support in order to let the |
| 17 | governor provided to DEVFREQ choose an operating frequency |
| 18 | based on the OPP's list and the policy given with DEVFREQ. |
| 19 | |
| 20 | Each device may have its own governor and policy. DEVFREQ can |
| 21 | reevaluate the device state periodically and/or based on the |
| 22 | OPP list changes (each frequency/voltage pair in OPP may be |
| 23 | disabled or enabled). |
| 24 | |
| 25 | Like some CPUs with CPUFREQ, a device may have multiple clocks. |
| 26 | However, because the clock frequencies of a single device are |
| 27 | determined by the single device's state, an instance of DEVFREQ |
| 28 | is attached to a single device and returns a "representative" |
| 29 | clock frequency from the OPP of the device, which is also attached |
| 30 | to a device by 1-to-1. The device registering DEVFREQ takes the |
| 31 | responsiblity to "interpret" the frequency listed in OPP and |
| 32 | to set its every clock accordingly with the "target" callback |
| 33 | given to DEVFREQ. |
| 34 | |
| 35 | if PM_DEVFREQ |
| 36 | |
MyungJoo Ham | ce26c5b | 2011-10-02 00:19:34 +0200 | [diff] [blame] | 37 | comment "DEVFREQ Governors" |
| 38 | |
| 39 | config DEVFREQ_GOV_SIMPLE_ONDEMAND |
| 40 | bool "Simple Ondemand" |
| 41 | help |
| 42 | Chooses frequency based on the recent load on the device. Works |
| 43 | similar as ONDEMAND governor of CPUFREQ does. A device with |
| 44 | Simple-Ondemand should be able to provide busy/total counter |
| 45 | values that imply the usage rate. A device may provide tuned |
| 46 | values to the governor with data field at devfreq_add_device(). |
| 47 | |
| 48 | config DEVFREQ_GOV_PERFORMANCE |
| 49 | bool "Performance" |
| 50 | help |
| 51 | Sets the frequency at the maximum available frequency. |
| 52 | This governor always returns UINT_MAX as frequency so that |
| 53 | the DEVFREQ framework returns the highest frequency available |
| 54 | at any time. |
| 55 | |
| 56 | config DEVFREQ_GOV_POWERSAVE |
| 57 | bool "Powersave" |
| 58 | help |
| 59 | Sets the frequency at the minimum available frequency. |
| 60 | This governor always returns 0 as frequency so that |
| 61 | the DEVFREQ framework returns the lowest frequency available |
| 62 | at any time. |
| 63 | |
| 64 | config DEVFREQ_GOV_USERSPACE |
| 65 | bool "Userspace" |
| 66 | help |
| 67 | Sets the frequency at the user specified one. |
| 68 | This governor returns the user configured frequency if there |
| 69 | has been an input to /sys/devices/.../power/devfreq_set_freq. |
| 70 | Otherwise, the governor does not change the frequnecy |
| 71 | given at the initialization. |
| 72 | |
MyungJoo Ham | a3c98b8 | 2011-10-02 00:19:15 +0200 | [diff] [blame] | 73 | comment "DEVFREQ Drivers" |
| 74 | |
| 75 | endif # PM_DEVFREQ |