| MyungJoo Ham | a3c98b8 | 2011-10-02 00:19:15 +0200 | [diff] [blame] | 1 | menuconfig PM_DEVFREQ | 
 | 2 | 	bool "Generic Dynamic Voltage and Frequency Scaling (DVFS) support" | 
| MyungJoo Ham | a3c98b8 | 2011-10-02 00:19:15 +0200 | [diff] [blame] | 3 | 	help | 
| MyungJoo Ham | 6c81f90 | 2011-11-14 23:31:35 +0100 | [diff] [blame] | 4 | 	  A device may have a list of frequencies and voltages available. | 
 | 5 | 	  devfreq, a generic DVFS framework can be registered for a device | 
 | 6 | 	  in order to let the governor provided to devfreq choose an | 
 | 7 | 	  operating frequency based on the device driver's policy. | 
| MyungJoo Ham | a3c98b8 | 2011-10-02 00:19:15 +0200 | [diff] [blame] | 8 |  | 
| MyungJoo Ham | 6c81f90 | 2011-11-14 23:31:35 +0100 | [diff] [blame] | 9 | 	  Each device may have its own governor and policy. Devfreq can | 
| MyungJoo Ham | a3c98b8 | 2011-10-02 00:19:15 +0200 | [diff] [blame] | 10 | 	  reevaluate the device state periodically and/or based on the | 
| MyungJoo Ham | 6c81f90 | 2011-11-14 23:31:35 +0100 | [diff] [blame] | 11 | 	  notification to "nb", a notifier block, of devfreq. | 
| MyungJoo Ham | a3c98b8 | 2011-10-02 00:19:15 +0200 | [diff] [blame] | 12 |  | 
| MyungJoo Ham | 6c81f90 | 2011-11-14 23:31:35 +0100 | [diff] [blame] | 13 | 	  Like some CPUs with CPUfreq, a device may have multiple clocks. | 
| MyungJoo Ham | a3c98b8 | 2011-10-02 00:19:15 +0200 | [diff] [blame] | 14 | 	  However, because the clock frequencies of a single device are | 
| MyungJoo Ham | 6c81f90 | 2011-11-14 23:31:35 +0100 | [diff] [blame] | 15 | 	  determined by the single device's state, an instance of devfreq | 
| MyungJoo Ham | a3c98b8 | 2011-10-02 00:19:15 +0200 | [diff] [blame] | 16 | 	  is attached to a single device and returns a "representative" | 
| MyungJoo Ham | 6c81f90 | 2011-11-14 23:31:35 +0100 | [diff] [blame] | 17 | 	  clock frequency of the device, which is also attached | 
 | 18 | 	  to a device by 1-to-1. The device registering devfreq takes the | 
| Masanari Iida | 6b2aac4 | 2012-04-14 00:14:11 +0900 | [diff] [blame] | 19 | 	  responsibility to "interpret" the representative frequency and | 
| MyungJoo Ham | a3c98b8 | 2011-10-02 00:19:15 +0200 | [diff] [blame] | 20 | 	  to set its every clock accordingly with the "target" callback | 
| MyungJoo Ham | 6c81f90 | 2011-11-14 23:31:35 +0100 | [diff] [blame] | 21 | 	  given to devfreq. | 
 | 22 |  | 
 | 23 | 	  When OPP is used with the devfreq device, it is recommended to | 
 | 24 | 	  register devfreq's nb to the OPP's notifier head.  If OPP is | 
 | 25 | 	  used with the devfreq device, you may use OPP helper | 
 | 26 | 	  functions defined in devfreq.h. | 
| MyungJoo Ham | a3c98b8 | 2011-10-02 00:19:15 +0200 | [diff] [blame] | 27 |  | 
 | 28 | if PM_DEVFREQ | 
 | 29 |  | 
| MyungJoo Ham | ce26c5b | 2011-10-02 00:19:34 +0200 | [diff] [blame] | 30 | comment "DEVFREQ Governors" | 
 | 31 |  | 
 | 32 | config DEVFREQ_GOV_SIMPLE_ONDEMAND | 
| Nishanth Menon | eff607f | 2012-10-29 15:01:46 -0500 | [diff] [blame] | 33 | 	tristate "Simple Ondemand" | 
| MyungJoo Ham | ce26c5b | 2011-10-02 00:19:34 +0200 | [diff] [blame] | 34 | 	help | 
 | 35 | 	  Chooses frequency based on the recent load on the device. Works | 
 | 36 | 	  similar as ONDEMAND governor of CPUFREQ does. A device with | 
 | 37 | 	  Simple-Ondemand should be able to provide busy/total counter | 
 | 38 | 	  values that imply the usage rate. A device may provide tuned | 
 | 39 | 	  values to the governor with data field at devfreq_add_device(). | 
 | 40 |  | 
 | 41 | config DEVFREQ_GOV_PERFORMANCE | 
| Nishanth Menon | eff607f | 2012-10-29 15:01:46 -0500 | [diff] [blame] | 42 | 	tristate "Performance" | 
| MyungJoo Ham | ce26c5b | 2011-10-02 00:19:34 +0200 | [diff] [blame] | 43 | 	help | 
 | 44 | 	  Sets the frequency at the maximum available frequency. | 
 | 45 | 	  This governor always returns UINT_MAX as frequency so that | 
 | 46 | 	  the DEVFREQ framework returns the highest frequency available | 
 | 47 | 	  at any time. | 
 | 48 |  | 
 | 49 | config DEVFREQ_GOV_POWERSAVE | 
| Nishanth Menon | eff607f | 2012-10-29 15:01:46 -0500 | [diff] [blame] | 50 | 	tristate "Powersave" | 
| MyungJoo Ham | ce26c5b | 2011-10-02 00:19:34 +0200 | [diff] [blame] | 51 | 	help | 
 | 52 | 	  Sets the frequency at the minimum available frequency. | 
 | 53 | 	  This governor always returns 0 as frequency so that | 
 | 54 | 	  the DEVFREQ framework returns the lowest frequency available | 
 | 55 | 	  at any time. | 
 | 56 |  | 
 | 57 | config DEVFREQ_GOV_USERSPACE | 
| Nishanth Menon | eff607f | 2012-10-29 15:01:46 -0500 | [diff] [blame] | 58 | 	tristate "Userspace" | 
| MyungJoo Ham | ce26c5b | 2011-10-02 00:19:34 +0200 | [diff] [blame] | 59 | 	help | 
 | 60 | 	  Sets the frequency at the user specified one. | 
 | 61 | 	  This governor returns the user configured frequency if there | 
 | 62 | 	  has been an input to /sys/devices/.../power/devfreq_set_freq. | 
 | 63 | 	  Otherwise, the governor does not change the frequnecy | 
 | 64 | 	  given at the initialization. | 
 | 65 |  | 
| MyungJoo Ham | a3c98b8 | 2011-10-02 00:19:15 +0200 | [diff] [blame] | 66 | comment "DEVFREQ Drivers" | 
 | 67 |  | 
| MyungJoo Ham | 7b40503 | 2011-07-14 10:33:55 +0900 | [diff] [blame] | 68 | config ARM_EXYNOS4_BUS_DEVFREQ | 
 | 69 | 	bool "ARM Exynos4210/4212/4412 Memory Bus DEVFREQ Driver" | 
 | 70 | 	depends on CPU_EXYNOS4210 || CPU_EXYNOS4212 || CPU_EXYNOS4412 | 
 | 71 | 	select ARCH_HAS_OPP | 
 | 72 | 	select DEVFREQ_GOV_SIMPLE_ONDEMAND | 
 | 73 | 	help | 
 | 74 | 	  This adds the DEVFREQ driver for Exynos4210 memory bus (vdd_int) | 
 | 75 | 	  and Exynos4212/4412 memory interface and bus (vdd_mif + vdd_int). | 
 | 76 | 	  It reads PPMU counters of memory controllers and adjusts | 
 | 77 | 	  the operating frequencies and voltages with OPP support. | 
 | 78 | 	  To operate with optimal voltages, ASV support is required | 
 | 79 | 	  (CONFIG_EXYNOS_ASV). | 
 | 80 |  | 
| MyungJoo Ham | a3c98b8 | 2011-10-02 00:19:15 +0200 | [diff] [blame] | 81 | endif # PM_DEVFREQ |