1 menu "CPU Frequency scaling"
4 bool "CPU Frequency scaling"
5 depends on !PROCESSOR_EXTERNAL_CONTROL
7 CPU Frequency scaling allows you to change the clock speed of
8 CPUs on the fly. This is a nice method to save power, because
9 the lower the CPU clock speed, the less power the CPU consumes.
11 Note that this driver doesn't automatically change the CPU
12 clock speed, you need to either enable a dynamic cpufreq governor
13 (see below) after boot, or use a userspace tool.
15 For details, take a look at <file:Documentation/cpu-freq>.
25 tristate "CPU frequency translation statistics"
29 This driver exports CPU frequency statistics information through sysfs
32 To compile this driver as a module, choose M here: the
33 module will be called cpufreq_stats.
37 config CPU_FREQ_STAT_DETAILS
38 bool "CPU frequency translation statistics details"
39 depends on CPU_FREQ_STAT
41 This will show detail CPU frequency translation table in sysfs file
47 prompt "Default CPUFreq governor"
48 default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
49 default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
51 This option sets which CPUFreq governor shall be loaded at
52 startup. If in doubt, select 'performance'.
54 config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
56 select CPU_FREQ_GOV_PERFORMANCE
58 Use the CPUFreq governor 'performance' as default. This sets
59 the frequency statically to the highest frequency supported by
62 config CPU_FREQ_DEFAULT_GOV_POWERSAVE
65 select CPU_FREQ_GOV_POWERSAVE
67 Use the CPUFreq governor 'powersave' as default. This sets
68 the frequency statically to the lowest frequency supported by
71 config CPU_FREQ_DEFAULT_GOV_USERSPACE
73 select CPU_FREQ_GOV_USERSPACE
75 Use the CPUFreq governor 'userspace' as default. This allows
76 you to set the CPU frequency manually or when a userspace
77 program shall be able to set the CPU dynamically without having
78 to enable the userspace governor manually.
80 config CPU_FREQ_DEFAULT_GOV_ONDEMAND
82 select CPU_FREQ_GOV_ONDEMAND
83 select CPU_FREQ_GOV_PERFORMANCE
85 Use the CPUFreq governor 'ondemand' as default. This allows
86 you to get a full dynamic frequency capable system by simply
87 loading your cpufreq low-level hardware driver.
88 Be aware that not all cpufreq drivers support the ondemand
89 governor. If unsure have a look at the help section of the
90 driver. Fallback governor will be the performance governor.
92 config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
94 select CPU_FREQ_GOV_CONSERVATIVE
95 select CPU_FREQ_GOV_PERFORMANCE
97 Use the CPUFreq governor 'conservative' as default. This allows
98 you to get a full dynamic frequency capable system by simply
99 loading your cpufreq low-level hardware driver.
100 Be aware that not all cpufreq drivers support the conservative
101 governor. If unsure have a look at the help section of the
102 driver. Fallback governor will be the performance governor.
105 config CPU_FREQ_GOV_PERFORMANCE
106 tristate "'performance' governor"
108 This cpufreq governor sets the frequency statically to the
109 highest available CPU frequency.
111 To compile this driver as a module, choose M here: the
112 module will be called cpufreq_performance.
116 config CPU_FREQ_GOV_POWERSAVE
117 tristate "'powersave' governor"
119 This cpufreq governor sets the frequency statically to the
120 lowest available CPU frequency.
122 To compile this driver as a module, choose M here: the
123 module will be called cpufreq_powersave.
127 config CPU_FREQ_GOV_USERSPACE
128 tristate "'userspace' governor for userspace frequency scaling"
130 Enable this cpufreq governor when you either want to set the
131 CPU frequency manually or when a userspace program shall
132 be able to set the CPU dynamically, like on LART
133 <http://www.lartmaker.nl/>.
135 To compile this driver as a module, choose M here: the
136 module will be called cpufreq_userspace.
138 For details, take a look at <file:Documentation/cpu-freq/>.
142 config CPU_FREQ_GOV_ONDEMAND
143 tristate "'ondemand' cpufreq policy governor"
144 select CPU_FREQ_TABLE
146 'ondemand' - This driver adds a dynamic cpufreq policy governor.
147 The governor does a periodic polling and
148 changes frequency based on the CPU utilization.
149 The support for this governor depends on CPU capability to
150 do fast frequency switching (i.e, very low latency frequency
153 To compile this driver as a module, choose M here: the
154 module will be called cpufreq_ondemand.
156 For details, take a look at linux/Documentation/cpu-freq.
160 config CPU_FREQ_GOV_CONSERVATIVE
161 tristate "'conservative' cpufreq governor"
164 'conservative' - this driver is rather similar to the 'ondemand'
165 governor both in its source code and its purpose, the difference is
166 its optimisation for better suitability in a battery powered
167 environment. The frequency is gracefully increased and decreased
168 rather than jumping to 100% when speed is required.
170 If you have a desktop machine then you should really be considering
171 the 'ondemand' governor instead, however if you are using a laptop,
172 PDA or even an AMD64 based computer (due to the unacceptable
173 step-by-step latency issues between the minimum and maximum frequency
174 transitions in the CPU) you will probably want to use this governor.
176 To compile this driver as a module, choose M here: the
177 module will be called cpufreq_conservative.
179 For details, take a look at linux/Documentation/cpu-freq.
183 menu "x86 CPU frequency scaling drivers"
185 source "drivers/cpufreq/Kconfig.x86"
188 menu "ARM CPU frequency scaling drivers"
190 source "drivers/cpufreq/Kconfig.arm"
193 menu "PowerPC CPU frequency scaling drivers"
194 depends on PPC32 || PPC64
195 source "drivers/cpufreq/Kconfig.powerpc"