PM: Introduce devfreq: generic DVFS framework with device-specific OPPs
[pandora-kernel.git] / drivers / devfreq / Kconfig
diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig
new file mode 100644 (file)
index 0000000..1fb42de
--- /dev/null
@@ -0,0 +1,39 @@
+config ARCH_HAS_DEVFREQ
+       bool
+       depends on ARCH_HAS_OPP
+       help
+         Denotes that the architecture supports DEVFREQ. If the architecture
+         supports multiple OPP entries per device and the frequency of the
+         devices with OPPs may be altered dynamically, the architecture
+         supports DEVFREQ.
+
+menuconfig PM_DEVFREQ
+       bool "Generic Dynamic Voltage and Frequency Scaling (DVFS) support"
+       depends on PM_OPP && ARCH_HAS_DEVFREQ
+       help
+         With OPP support, a device may have a list of frequencies and
+         voltages available. DEVFREQ, a generic DVFS framework can be
+         registered for a device with OPP support in order to let the
+         governor provided to DEVFREQ choose an operating frequency
+         based on the OPP's list and the policy given with DEVFREQ.
+
+         Each device may have its own governor and policy. DEVFREQ can
+         reevaluate the device state periodically and/or based on the
+         OPP list changes (each frequency/voltage pair in OPP may be
+         disabled or enabled).
+
+         Like some CPUs with CPUFREQ, a device may have multiple clocks.
+         However, because the clock frequencies of a single device are
+         determined by the single device's state, an instance of DEVFREQ
+         is attached to a single device and returns a "representative"
+         clock frequency from the OPP of the device, which is also attached
+         to a device by 1-to-1. The device registering DEVFREQ takes the
+         responsiblity to "interpret" the frequency listed in OPP and
+         to set its every clock accordingly with the "target" callback
+         given to DEVFREQ.
+
+if PM_DEVFREQ
+
+comment "DEVFREQ Drivers"
+
+endif # PM_DEVFREQ