| 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 |