1config 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 10menuconfig 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 35if PM_DEVFREQ 36 37comment "DEVFREQ Governors" 38 39config 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 48config 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 56config 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 64config 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 73comment "DEVFREQ Drivers" 74 75endif # PM_DEVFREQ 76