xref: /openbmc/linux/drivers/devfreq/Kconfig (revision 6234f380)
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
196b2aac42SMasanari Iida	  responsibility 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
33eff607fdSNishanth Menon	tristate "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
42eff607fdSNishanth Menon	tristate "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
50eff607fdSNishanth Menon	tristate "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
58eff607fdSNishanth Menon	tristate "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
687b405038SMyungJoo Hamconfig ARM_EXYNOS4_BUS_DEVFREQ
697b405038SMyungJoo Ham	bool "ARM Exynos4210/4212/4412 Memory Bus DEVFREQ Driver"
70ba7abeb1SSachin Kamat	depends on (CPU_EXYNOS4210 || SOC_EXYNOS4212 || SOC_EXYNOS4412) && !ARCH_MULTIPLATFORM
717b405038SMyungJoo Ham	select DEVFREQ_GOV_SIMPLE_ONDEMAND
72b0d5068aSChanwoo Choi	select PM_OPP
737b405038SMyungJoo Ham	help
747b405038SMyungJoo Ham	  This adds the DEVFREQ driver for Exynos4210 memory bus (vdd_int)
757b405038SMyungJoo Ham	  and Exynos4212/4412 memory interface and bus (vdd_mif + vdd_int).
767b405038SMyungJoo Ham	  It reads PPMU counters of memory controllers and adjusts
777b405038SMyungJoo Ham	  the operating frequencies and voltages with OPP support.
78cb7063f4SPaul Bolle	  This does not yet operate with optimal voltages.
797b405038SMyungJoo Ham
806ccce699SAbhilash Kesavanconfig ARM_EXYNOS5_BUS_DEVFREQ
8181da57e6SPunit Agrawal	tristate "ARM Exynos5250 Bus DEVFREQ Driver"
826ccce699SAbhilash Kesavan	depends on SOC_EXYNOS5250
836ccce699SAbhilash Kesavan	select DEVFREQ_GOV_SIMPLE_ONDEMAND
84ae29fa1dSChanwoo Choi	select PM_OPP
856ccce699SAbhilash Kesavan	help
866ccce699SAbhilash Kesavan	  This adds the DEVFREQ driver for Exynos5250 bus interface (vdd_int).
876ccce699SAbhilash Kesavan	  It reads PPMU counters of memory controllers and adjusts the
886ccce699SAbhilash Kesavan	  operating frequencies and voltages with OPP support.
896ccce699SAbhilash Kesavan
906234f380STomeu Vizosoconfig ARM_TEGRA_DEVFREQ
916234f380STomeu Vizoso       tristate "Tegra DEVFREQ Driver"
926234f380STomeu Vizoso       depends on ARCH_TEGRA_124_SOC
936234f380STomeu Vizoso       select DEVFREQ_GOV_SIMPLE_ONDEMAND
946234f380STomeu Vizoso       select PM_OPP
956234f380STomeu Vizoso       help
966234f380STomeu Vizoso         This adds the DEVFREQ driver for the Tegra family of SoCs.
976234f380STomeu Vizoso         It reads ACTMON counters of memory controllers and adjusts the
986234f380STomeu Vizoso         operating frequencies and voltages with OPP support.
996234f380STomeu Vizoso
100a3c98b8bSMyungJoo Hamendif # PM_DEVFREQ
101