xref: /openbmc/linux/drivers/devfreq/Kconfig (revision 6c81f905)
1a3c98b8bSMyungJoo Hammenuconfig PM_DEVFREQ
2a3c98b8bSMyungJoo Ham	bool "Generic Dynamic Voltage and Frequency Scaling (DVFS) support"
3a3c98b8bSMyungJoo Ham	help
46c81f905SMyungJoo Ham	  A device may have a list of frequencies and voltages available.
56c81f905SMyungJoo Ham	  devfreq, a generic DVFS framework can be registered for a device
66c81f905SMyungJoo Ham	  in order to let the governor provided to devfreq choose an
76c81f905SMyungJoo Ham	  operating frequency based on the device driver's policy.
8a3c98b8bSMyungJoo Ham
96c81f905SMyungJoo Ham	  Each device may have its own governor and policy. Devfreq can
10a3c98b8bSMyungJoo Ham	  reevaluate the device state periodically and/or based on the
116c81f905SMyungJoo Ham	  notification to "nb", a notifier block, of devfreq.
12a3c98b8bSMyungJoo Ham
136c81f905SMyungJoo Ham	  Like some CPUs with CPUfreq, a device may have multiple clocks.
14a3c98b8bSMyungJoo Ham	  However, because the clock frequencies of a single device are
156c81f905SMyungJoo Ham	  determined by the single device's state, an instance of devfreq
16a3c98b8bSMyungJoo Ham	  is attached to a single device and returns a "representative"
176c81f905SMyungJoo Ham	  clock frequency of the device, which is also attached
186c81f905SMyungJoo Ham	  to a device by 1-to-1. The device registering devfreq takes the
196c81f905SMyungJoo Ham	  responsiblity to "interpret" the representative frequency and
20a3c98b8bSMyungJoo Ham	  to set its every clock accordingly with the "target" callback
216c81f905SMyungJoo Ham	  given to devfreq.
226c81f905SMyungJoo Ham
236c81f905SMyungJoo Ham	  When OPP is used with the devfreq device, it is recommended to
246c81f905SMyungJoo Ham	  register devfreq's nb to the OPP's notifier head.  If OPP is
256c81f905SMyungJoo Ham	  used with the devfreq device, you may use OPP helper
266c81f905SMyungJoo Ham	  functions defined in devfreq.h.
27a3c98b8bSMyungJoo Ham
28a3c98b8bSMyungJoo Hamif PM_DEVFREQ
29a3c98b8bSMyungJoo Ham
30ce26c5bbSMyungJoo Hamcomment "DEVFREQ Governors"
31ce26c5bbSMyungJoo Ham
32ce26c5bbSMyungJoo Hamconfig DEVFREQ_GOV_SIMPLE_ONDEMAND
33ce26c5bbSMyungJoo Ham	bool "Simple Ondemand"
34ce26c5bbSMyungJoo Ham	help
35ce26c5bbSMyungJoo Ham	  Chooses frequency based on the recent load on the device. Works
36ce26c5bbSMyungJoo Ham	  similar as ONDEMAND governor of CPUFREQ does. A device with
37ce26c5bbSMyungJoo Ham	  Simple-Ondemand should be able to provide busy/total counter
38ce26c5bbSMyungJoo Ham	  values that imply the usage rate. A device may provide tuned
39ce26c5bbSMyungJoo Ham	  values to the governor with data field at devfreq_add_device().
40ce26c5bbSMyungJoo Ham
41ce26c5bbSMyungJoo Hamconfig DEVFREQ_GOV_PERFORMANCE
42ce26c5bbSMyungJoo Ham	bool "Performance"
43ce26c5bbSMyungJoo Ham	help
44ce26c5bbSMyungJoo Ham	  Sets the frequency at the maximum available frequency.
45ce26c5bbSMyungJoo Ham	  This governor always returns UINT_MAX as frequency so that
46ce26c5bbSMyungJoo Ham	  the DEVFREQ framework returns the highest frequency available
47ce26c5bbSMyungJoo Ham	  at any time.
48ce26c5bbSMyungJoo Ham
49ce26c5bbSMyungJoo Hamconfig DEVFREQ_GOV_POWERSAVE
50ce26c5bbSMyungJoo Ham	bool "Powersave"
51ce26c5bbSMyungJoo Ham	help
52ce26c5bbSMyungJoo Ham	  Sets the frequency at the minimum available frequency.
53ce26c5bbSMyungJoo Ham	  This governor always returns 0 as frequency so that
54ce26c5bbSMyungJoo Ham	  the DEVFREQ framework returns the lowest frequency available
55ce26c5bbSMyungJoo Ham	  at any time.
56ce26c5bbSMyungJoo Ham
57ce26c5bbSMyungJoo Hamconfig DEVFREQ_GOV_USERSPACE
58ce26c5bbSMyungJoo Ham	bool "Userspace"
59ce26c5bbSMyungJoo Ham	help
60ce26c5bbSMyungJoo Ham	  Sets the frequency at the user specified one.
61ce26c5bbSMyungJoo Ham	  This governor returns the user configured frequency if there
62ce26c5bbSMyungJoo Ham	  has been an input to /sys/devices/.../power/devfreq_set_freq.
63ce26c5bbSMyungJoo Ham	  Otherwise, the governor does not change the frequnecy
64ce26c5bbSMyungJoo Ham	  given at the initialization.
65ce26c5bbSMyungJoo Ham
66a3c98b8bSMyungJoo Hamcomment "DEVFREQ Drivers"
67a3c98b8bSMyungJoo Ham
68a3c98b8bSMyungJoo Hamendif # PM_DEVFREQ
69