xref: /openbmc/linux/drivers/cpufreq/Kconfig (revision f15cbe6f)
1config CPU_FREQ
2	bool "CPU Frequency scaling"
3	help
4	  CPU Frequency scaling allows you to change the clock speed of
5	  CPUs on the fly. This is a nice method to save power, because
6	  the lower the CPU clock speed, the less power the CPU consumes.
7
8	  Note that this driver doesn't automatically change the CPU
9	  clock speed, you need to either enable a dynamic cpufreq governor
10	  (see below) after boot, or use a userspace tool.
11
12	  For details, take a look at <file:Documentation/cpu-freq>.
13
14	  If in doubt, say N.
15
16if CPU_FREQ
17
18config CPU_FREQ_TABLE
19	tristate
20
21config CPU_FREQ_DEBUG
22	bool "Enable CPUfreq debugging"
23	help
24	  Say Y here to enable CPUfreq subsystem (including drivers)
25	  debugging. You will need to activate it via the kernel
26	  command line by passing
27	     cpufreq.debug=<value>
28
29	  To get <value>, add
30	       1 to activate CPUfreq core debugging,
31	       2 to activate CPUfreq drivers debugging, and
32	       4 to activate CPUfreq governor debugging
33
34config CPU_FREQ_STAT
35	tristate "CPU frequency translation statistics"
36	select CPU_FREQ_TABLE
37	default y
38	help
39	  This driver exports CPU frequency statistics information through sysfs
40	  file system.
41
42	  To compile this driver as a module, choose M here: the
43	  module will be called cpufreq_stats.
44
45	  If in doubt, say N.
46
47config CPU_FREQ_STAT_DETAILS
48	bool "CPU frequency translation statistics details"
49	depends on CPU_FREQ_STAT
50	help
51	  This will show detail CPU frequency translation table in sysfs file
52	  system.
53
54	  If in doubt, say N.
55
56choice
57	prompt "Default CPUFreq governor"
58	default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
59	default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
60	help
61	  This option sets which CPUFreq governor shall be loaded at
62	  startup. If in doubt, select 'performance'.
63
64config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
65	bool "performance"
66	select CPU_FREQ_GOV_PERFORMANCE
67	help
68	  Use the CPUFreq governor 'performance' as default. This sets
69	  the frequency statically to the highest frequency supported by
70	  the CPU.
71
72config CPU_FREQ_DEFAULT_GOV_POWERSAVE
73	bool "powersave"
74	depends on EMBEDDED
75	select CPU_FREQ_GOV_POWERSAVE
76	help
77	  Use the CPUFreq governor 'powersave' as default. This sets
78	  the frequency statically to the lowest frequency supported by
79	  the CPU.
80
81config CPU_FREQ_DEFAULT_GOV_USERSPACE
82	bool "userspace"
83	select CPU_FREQ_GOV_USERSPACE
84	help
85	  Use the CPUFreq governor 'userspace' as default. This allows
86	  you to set the CPU frequency manually or when an userspace
87	  program shall be able to set the CPU dynamically without having
88	  to enable the userspace governor manually.
89
90config CPU_FREQ_DEFAULT_GOV_ONDEMAND
91	bool "ondemand"
92	select CPU_FREQ_GOV_ONDEMAND
93	select CPU_FREQ_GOV_PERFORMANCE
94	help
95	  Use the CPUFreq governor 'ondemand' as default. This allows
96	  you to get a full dynamic frequency capable system by simply
97	  loading your cpufreq low-level hardware driver.
98	  Be aware that not all cpufreq drivers support the ondemand
99	  governor. If unsure have a look at the help section of the
100	  driver. Fallback governor will be the performance governor.
101
102config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
103	bool "conservative"
104	select CPU_FREQ_GOV_CONSERVATIVE
105	select CPU_FREQ_GOV_PERFORMANCE
106	help
107	  Use the CPUFreq governor 'conservative' as default. This allows
108	  you to get a full dynamic frequency capable system by simply
109	  loading your cpufreq low-level hardware driver.
110	  Be aware that not all cpufreq drivers support the conservative
111	  governor. If unsure have a look at the help section of the
112	  driver. Fallback governor will be the performance governor.
113endchoice
114
115config CPU_FREQ_GOV_PERFORMANCE
116	tristate "'performance' governor"
117	help
118	  This cpufreq governor sets the frequency statically to the
119	  highest available CPU frequency.
120
121	  To compile this driver as a module, choose M here: the
122	  module will be called cpufreq_performance.
123
124	  If in doubt, say Y.
125
126config CPU_FREQ_GOV_POWERSAVE
127	tristate "'powersave' governor"
128	help
129	  This cpufreq governor sets the frequency statically to the
130	  lowest available CPU frequency.
131
132	  To compile this driver as a module, choose M here: the
133	  module will be called cpufreq_powersave.
134
135	  If in doubt, say Y.
136
137config CPU_FREQ_GOV_USERSPACE
138	tristate "'userspace' governor for userspace frequency scaling"
139	help
140	  Enable this cpufreq governor when you either want to set the
141	  CPU frequency manually or when an userspace program shall
142	  be able to set the CPU dynamically, like on LART
143	  <http://www.lartmaker.nl/>.
144
145	  To compile this driver as a module, choose M here: the
146	  module will be called cpufreq_userspace.
147
148	  For details, take a look at <file:Documentation/cpu-freq/>.
149
150	  If in doubt, say Y.
151
152config CPU_FREQ_GOV_ONDEMAND
153	tristate "'ondemand' cpufreq policy governor"
154	select CPU_FREQ_TABLE
155	help
156	  'ondemand' - This driver adds a dynamic cpufreq policy governor.
157	  The governor does a periodic polling and
158	  changes frequency based on the CPU utilization.
159	  The support for this governor depends on CPU capability to
160	  do fast frequency switching (i.e, very low latency frequency
161	  transitions).
162
163	  To compile this driver as a module, choose M here: the
164	  module will be called cpufreq_ondemand.
165
166	  For details, take a look at linux/Documentation/cpu-freq.
167
168	  If in doubt, say N.
169
170config CPU_FREQ_GOV_CONSERVATIVE
171	tristate "'conservative' cpufreq governor"
172	depends on CPU_FREQ
173	help
174	  'conservative' - this driver is rather similar to the 'ondemand'
175	  governor both in its source code and its purpose, the difference is
176	  its optimisation for better suitability in a battery powered
177	  environment.  The frequency is gracefully increased and decreased
178	  rather than jumping to 100% when speed is required.
179
180	  If you have a desktop machine then you should really be considering
181	  the 'ondemand' governor instead, however if you are using a laptop,
182	  PDA or even an AMD64 based computer (due to the unacceptable
183	  step-by-step latency issues between the minimum and maximum frequency
184	  transitions in the CPU) you will probably want to use this governor.
185
186	  To compile this driver as a module, choose M here: the
187	  module will be called cpufreq_conservative.
188
189	  For details, take a look at linux/Documentation/cpu-freq.
190
191	  If in doubt, say N.
192
193endif	# CPU_FREQ
194