xref: /OK3568_Linux_fs/kernel/drivers/cpufreq/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyunmenu "CPU Frequency scaling"
3*4882a593Smuzhiyun
4*4882a593Smuzhiyunconfig CPU_FREQ
5*4882a593Smuzhiyun	bool "CPU Frequency scaling"
6*4882a593Smuzhiyun	select SRCU
7*4882a593Smuzhiyun	help
8*4882a593Smuzhiyun	  CPU Frequency scaling allows you to change the clock speed of
9*4882a593Smuzhiyun	  CPUs on the fly. This is a nice method to save power, because
10*4882a593Smuzhiyun	  the lower the CPU clock speed, the less power the CPU consumes.
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun	  Note that this driver doesn't automatically change the CPU
13*4882a593Smuzhiyun	  clock speed, you need to either enable a dynamic cpufreq governor
14*4882a593Smuzhiyun	  (see below) after boot, or use a userspace tool.
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq>.
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun	  If in doubt, say N.
19*4882a593Smuzhiyun
20*4882a593Smuzhiyunif CPU_FREQ
21*4882a593Smuzhiyun
22*4882a593Smuzhiyunconfig CPU_FREQ_GOV_ATTR_SET
23*4882a593Smuzhiyun	bool
24*4882a593Smuzhiyun
25*4882a593Smuzhiyunconfig CPU_FREQ_GOV_COMMON
26*4882a593Smuzhiyun	select CPU_FREQ_GOV_ATTR_SET
27*4882a593Smuzhiyun	select IRQ_WORK
28*4882a593Smuzhiyun	bool
29*4882a593Smuzhiyun
30*4882a593Smuzhiyunconfig CPU_FREQ_STAT
31*4882a593Smuzhiyun	bool "CPU frequency transition statistics"
32*4882a593Smuzhiyun	help
33*4882a593Smuzhiyun	  Export CPU frequency statistics information through sysfs.
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun	  If in doubt, say N.
36*4882a593Smuzhiyun
37*4882a593Smuzhiyunconfig CPU_FREQ_TIMES
38*4882a593Smuzhiyun       bool "CPU frequency time-in-state statistics"
39*4882a593Smuzhiyun       help
40*4882a593Smuzhiyun         Export CPU time-in-state information through procfs.
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun         If in doubt, say N.
43*4882a593Smuzhiyun
44*4882a593Smuzhiyunchoice
45*4882a593Smuzhiyun	prompt "Default CPUFreq governor"
46*4882a593Smuzhiyun	default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ
47*4882a593Smuzhiyun	default CPU_FREQ_DEFAULT_GOV_SCHEDUTIL if ARM64 || ARM
48*4882a593Smuzhiyun	default CPU_FREQ_DEFAULT_GOV_SCHEDUTIL if X86_INTEL_PSTATE && SMP
49*4882a593Smuzhiyun	default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
50*4882a593Smuzhiyun	help
51*4882a593Smuzhiyun	  This option sets which CPUFreq governor shall be loaded at
52*4882a593Smuzhiyun	  startup. If in doubt, use the default setting.
53*4882a593Smuzhiyun
54*4882a593Smuzhiyunconfig CPU_FREQ_DEFAULT_GOV_PERFORMANCE
55*4882a593Smuzhiyun	bool "performance"
56*4882a593Smuzhiyun	select CPU_FREQ_GOV_PERFORMANCE
57*4882a593Smuzhiyun	help
58*4882a593Smuzhiyun	  Use the CPUFreq governor 'performance' as default. This sets
59*4882a593Smuzhiyun	  the frequency statically to the highest frequency supported by
60*4882a593Smuzhiyun	  the CPU.
61*4882a593Smuzhiyun
62*4882a593Smuzhiyunconfig CPU_FREQ_DEFAULT_GOV_POWERSAVE
63*4882a593Smuzhiyun	bool "powersave"
64*4882a593Smuzhiyun	select CPU_FREQ_GOV_POWERSAVE
65*4882a593Smuzhiyun	help
66*4882a593Smuzhiyun	  Use the CPUFreq governor 'powersave' as default. This sets
67*4882a593Smuzhiyun	  the frequency statically to the lowest frequency supported by
68*4882a593Smuzhiyun	  the CPU.
69*4882a593Smuzhiyun
70*4882a593Smuzhiyunconfig CPU_FREQ_DEFAULT_GOV_USERSPACE
71*4882a593Smuzhiyun	bool "userspace"
72*4882a593Smuzhiyun	select CPU_FREQ_GOV_USERSPACE
73*4882a593Smuzhiyun	help
74*4882a593Smuzhiyun	  Use the CPUFreq governor 'userspace' as default. This allows
75*4882a593Smuzhiyun	  you to set the CPU frequency manually or when a userspace
76*4882a593Smuzhiyun	  program shall be able to set the CPU dynamically without having
77*4882a593Smuzhiyun	  to enable the userspace governor manually.
78*4882a593Smuzhiyun
79*4882a593Smuzhiyunconfig CPU_FREQ_DEFAULT_GOV_ONDEMAND
80*4882a593Smuzhiyun	bool "ondemand"
81*4882a593Smuzhiyun	depends on !(X86_INTEL_PSTATE && SMP)
82*4882a593Smuzhiyun	select CPU_FREQ_GOV_ONDEMAND
83*4882a593Smuzhiyun	select CPU_FREQ_GOV_PERFORMANCE
84*4882a593Smuzhiyun	help
85*4882a593Smuzhiyun	  Use the CPUFreq governor 'ondemand' as default. This allows
86*4882a593Smuzhiyun	  you to get a full dynamic frequency capable system by simply
87*4882a593Smuzhiyun	  loading your cpufreq low-level hardware driver.
88*4882a593Smuzhiyun	  Be aware that not all cpufreq drivers support the ondemand
89*4882a593Smuzhiyun	  governor. If unsure have a look at the help section of the
90*4882a593Smuzhiyun	  driver. Fallback governor will be the performance governor.
91*4882a593Smuzhiyun
92*4882a593Smuzhiyunconfig CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
93*4882a593Smuzhiyun	bool "conservative"
94*4882a593Smuzhiyun	depends on !(X86_INTEL_PSTATE && SMP)
95*4882a593Smuzhiyun	select CPU_FREQ_GOV_CONSERVATIVE
96*4882a593Smuzhiyun	select CPU_FREQ_GOV_PERFORMANCE
97*4882a593Smuzhiyun	help
98*4882a593Smuzhiyun	  Use the CPUFreq governor 'conservative' as default. This allows
99*4882a593Smuzhiyun	  you to get a full dynamic frequency capable system by simply
100*4882a593Smuzhiyun	  loading your cpufreq low-level hardware driver.
101*4882a593Smuzhiyun	  Be aware that not all cpufreq drivers support the conservative
102*4882a593Smuzhiyun	  governor. If unsure have a look at the help section of the
103*4882a593Smuzhiyun	  driver. Fallback governor will be the performance governor.
104*4882a593Smuzhiyun
105*4882a593Smuzhiyunconfig CPU_FREQ_DEFAULT_GOV_SCHEDUTIL
106*4882a593Smuzhiyun	bool "schedutil"
107*4882a593Smuzhiyun	depends on SMP
108*4882a593Smuzhiyun	select CPU_FREQ_GOV_SCHEDUTIL
109*4882a593Smuzhiyun	select CPU_FREQ_GOV_PERFORMANCE
110*4882a593Smuzhiyun	help
111*4882a593Smuzhiyun	  Use the 'schedutil' CPUFreq governor by default. If unsure,
112*4882a593Smuzhiyun	  have a look at the help section of that governor. The fallback
113*4882a593Smuzhiyun	  governor will be 'performance'.
114*4882a593Smuzhiyun
115*4882a593Smuzhiyunconfig CPU_FREQ_DEFAULT_GOV_INTERACTIVE
116*4882a593Smuzhiyun	bool "interactive"
117*4882a593Smuzhiyun	depends on NO_GKI
118*4882a593Smuzhiyun	select CPU_FREQ_GOV_INTERACTIVE
119*4882a593Smuzhiyun	select CPU_FREQ_GOV_PERFORMANCE
120*4882a593Smuzhiyun	help
121*4882a593Smuzhiyun	  Use the CPUFreq governor 'interactive' as default. This allows
122*4882a593Smuzhiyun	  you to get a full dynamic cpu frequency capable system by simply
123*4882a593Smuzhiyun	  loading your cpufreq low-level hardware driver, using the
124*4882a593Smuzhiyun	  'interactive' governor for latency-sensitive workloads.
125*4882a593Smuzhiyun
126*4882a593Smuzhiyunendchoice
127*4882a593Smuzhiyun
128*4882a593Smuzhiyunconfig CPU_FREQ_GOV_PERFORMANCE
129*4882a593Smuzhiyun	tristate "'performance' governor"
130*4882a593Smuzhiyun	help
131*4882a593Smuzhiyun	  This cpufreq governor sets the frequency statically to the
132*4882a593Smuzhiyun	  highest available CPU frequency.
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
135*4882a593Smuzhiyun	  module will be called cpufreq_performance.
136*4882a593Smuzhiyun
137*4882a593Smuzhiyun	  If in doubt, say Y.
138*4882a593Smuzhiyun
139*4882a593Smuzhiyunconfig CPU_FREQ_GOV_POWERSAVE
140*4882a593Smuzhiyun	tristate "'powersave' governor"
141*4882a593Smuzhiyun	help
142*4882a593Smuzhiyun	  This cpufreq governor sets the frequency statically to the
143*4882a593Smuzhiyun	  lowest available CPU frequency.
144*4882a593Smuzhiyun
145*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
146*4882a593Smuzhiyun	  module will be called cpufreq_powersave.
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun	  If in doubt, say Y.
149*4882a593Smuzhiyun
150*4882a593Smuzhiyunconfig CPU_FREQ_GOV_USERSPACE
151*4882a593Smuzhiyun	tristate "'userspace' governor for userspace frequency scaling"
152*4882a593Smuzhiyun	help
153*4882a593Smuzhiyun	  Enable this cpufreq governor when you either want to set the
154*4882a593Smuzhiyun	  CPU frequency manually or when a userspace program shall
155*4882a593Smuzhiyun	  be able to set the CPU dynamically, like on LART
156*4882a593Smuzhiyun	  <http://www.lartmaker.nl/>.
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
159*4882a593Smuzhiyun	  module will be called cpufreq_userspace.
160*4882a593Smuzhiyun
161*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
162*4882a593Smuzhiyun
163*4882a593Smuzhiyun	  If in doubt, say Y.
164*4882a593Smuzhiyun
165*4882a593Smuzhiyunconfig CPU_FREQ_GOV_ONDEMAND
166*4882a593Smuzhiyun	tristate "'ondemand' cpufreq policy governor"
167*4882a593Smuzhiyun	select CPU_FREQ_GOV_COMMON
168*4882a593Smuzhiyun	help
169*4882a593Smuzhiyun	  'ondemand' - This driver adds a dynamic cpufreq policy governor.
170*4882a593Smuzhiyun	  The governor does a periodic polling and
171*4882a593Smuzhiyun	  changes frequency based on the CPU utilization.
172*4882a593Smuzhiyun	  The support for this governor depends on CPU capability to
173*4882a593Smuzhiyun	  do fast frequency switching (i.e, very low latency frequency
174*4882a593Smuzhiyun	  transitions).
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
177*4882a593Smuzhiyun	  module will be called cpufreq_ondemand.
178*4882a593Smuzhiyun
179*4882a593Smuzhiyun	  For details, take a look at linux/Documentation/cpu-freq.
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun	  If in doubt, say N.
182*4882a593Smuzhiyun
183*4882a593Smuzhiyunconfig CPU_FREQ_GOV_CONSERVATIVE
184*4882a593Smuzhiyun	tristate "'conservative' cpufreq governor"
185*4882a593Smuzhiyun	depends on CPU_FREQ
186*4882a593Smuzhiyun	select CPU_FREQ_GOV_COMMON
187*4882a593Smuzhiyun	help
188*4882a593Smuzhiyun	  'conservative' - this driver is rather similar to the 'ondemand'
189*4882a593Smuzhiyun	  governor both in its source code and its purpose, the difference is
190*4882a593Smuzhiyun	  its optimisation for better suitability in a battery powered
191*4882a593Smuzhiyun	  environment.  The frequency is gracefully increased and decreased
192*4882a593Smuzhiyun	  rather than jumping to 100% when speed is required.
193*4882a593Smuzhiyun
194*4882a593Smuzhiyun	  If you have a desktop machine then you should really be considering
195*4882a593Smuzhiyun	  the 'ondemand' governor instead, however if you are using a laptop,
196*4882a593Smuzhiyun	  PDA or even an AMD64 based computer (due to the unacceptable
197*4882a593Smuzhiyun	  step-by-step latency issues between the minimum and maximum frequency
198*4882a593Smuzhiyun	  transitions in the CPU) you will probably want to use this governor.
199*4882a593Smuzhiyun
200*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
201*4882a593Smuzhiyun	  module will be called cpufreq_conservative.
202*4882a593Smuzhiyun
203*4882a593Smuzhiyun	  For details, take a look at linux/Documentation/cpu-freq.
204*4882a593Smuzhiyun
205*4882a593Smuzhiyun	  If in doubt, say N.
206*4882a593Smuzhiyun
207*4882a593Smuzhiyunconfig CPU_FREQ_GOV_SCHEDUTIL
208*4882a593Smuzhiyun	bool "'schedutil' cpufreq policy governor"
209*4882a593Smuzhiyun	depends on CPU_FREQ && SMP
210*4882a593Smuzhiyun	select CPU_FREQ_GOV_ATTR_SET
211*4882a593Smuzhiyun	select IRQ_WORK
212*4882a593Smuzhiyun	help
213*4882a593Smuzhiyun	  This governor makes decisions based on the utilization data provided
214*4882a593Smuzhiyun	  by the scheduler.  It sets the CPU frequency to be proportional to
215*4882a593Smuzhiyun	  the utilization/capacity ratio coming from the scheduler.  If the
216*4882a593Smuzhiyun	  utilization is frequency-invariant, the new frequency is also
217*4882a593Smuzhiyun	  proportional to the maximum available frequency.  If that is not the
218*4882a593Smuzhiyun	  case, it is proportional to the current frequency of the CPU.  The
219*4882a593Smuzhiyun	  frequency tipping point is at utilization/capacity equal to 80% in
220*4882a593Smuzhiyun	  both cases.
221*4882a593Smuzhiyun
222*4882a593Smuzhiyun	  If in doubt, say N.
223*4882a593Smuzhiyun
224*4882a593Smuzhiyunconfig CPU_FREQ_GOV_INTERACTIVE
225*4882a593Smuzhiyun	tristate "'interactive' cpufreq policy governor"
226*4882a593Smuzhiyun	depends on NO_GKI
227*4882a593Smuzhiyun	depends on CPU_FREQ
228*4882a593Smuzhiyun	select CPU_FREQ_GOV_ATTR_SET
229*4882a593Smuzhiyun	select IRQ_WORK
230*4882a593Smuzhiyun	help
231*4882a593Smuzhiyun	  'interactive' - This driver adds a dynamic cpufreq policy governor
232*4882a593Smuzhiyun	  designed for latency-sensitive workloads.
233*4882a593Smuzhiyun
234*4882a593Smuzhiyun	  This governor attempts to reduce the latency of clock
235*4882a593Smuzhiyun	  increases so that the system is more responsive to
236*4882a593Smuzhiyun	  interactive workloads.
237*4882a593Smuzhiyun
238*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
239*4882a593Smuzhiyun	  module will be called cpufreq_interactive.
240*4882a593Smuzhiyun
241*4882a593Smuzhiyun	  For details, take a look at linux/Documentation/cpu-freq.
242*4882a593Smuzhiyun
243*4882a593Smuzhiyun	  If in doubt, say N.
244*4882a593Smuzhiyun
245*4882a593Smuzhiyuncomment "CPU frequency scaling drivers"
246*4882a593Smuzhiyun
247*4882a593Smuzhiyunconfig CPUFREQ_DT
248*4882a593Smuzhiyun	tristate "Generic DT based cpufreq driver"
249*4882a593Smuzhiyun	depends on HAVE_CLK && OF
250*4882a593Smuzhiyun	select CPUFREQ_DT_PLATDEV if !ARM_ROCKCHIP_CPUFREQ
251*4882a593Smuzhiyun	select PM_OPP
252*4882a593Smuzhiyun	help
253*4882a593Smuzhiyun	  This adds a generic DT based cpufreq driver for frequency management.
254*4882a593Smuzhiyun	  It supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
255*4882a593Smuzhiyun	  systems.
256*4882a593Smuzhiyun
257*4882a593Smuzhiyun	  If in doubt, say N.
258*4882a593Smuzhiyun
259*4882a593Smuzhiyunconfig CPUFREQ_DT_PLATDEV
260*4882a593Smuzhiyun	bool
261*4882a593Smuzhiyun	help
262*4882a593Smuzhiyun	  This adds a generic DT based cpufreq platdev driver for frequency
263*4882a593Smuzhiyun	  management.  This creates a 'cpufreq-dt' platform device, on the
264*4882a593Smuzhiyun	  supported platforms.
265*4882a593Smuzhiyun
266*4882a593Smuzhiyun	  If in doubt, say N.
267*4882a593Smuzhiyun
268*4882a593Smuzhiyunconfig CPUFREQ_DUMMY
269*4882a593Smuzhiyun	tristate "Dummy CPU frequency driver"
270*4882a593Smuzhiyun	help
271*4882a593Smuzhiyun	  This option adds a generic dummy CPUfreq driver, which sets a fake
272*4882a593Smuzhiyun	  2-frequency table when initializing each policy and otherwise does
273*4882a593Smuzhiyun	  nothing.
274*4882a593Smuzhiyun
275*4882a593Smuzhiyun	  If in doubt, say N
276*4882a593Smuzhiyun
277*4882a593Smuzhiyunif X86
278*4882a593Smuzhiyunsource "drivers/cpufreq/Kconfig.x86"
279*4882a593Smuzhiyunendif
280*4882a593Smuzhiyun
281*4882a593Smuzhiyunif ARM || ARM64
282*4882a593Smuzhiyunsource "drivers/cpufreq/Kconfig.arm"
283*4882a593Smuzhiyunendif
284*4882a593Smuzhiyun
285*4882a593Smuzhiyunif PPC32 || PPC64
286*4882a593Smuzhiyunsource "drivers/cpufreq/Kconfig.powerpc"
287*4882a593Smuzhiyunendif
288*4882a593Smuzhiyun
289*4882a593Smuzhiyunif IA64
290*4882a593Smuzhiyunconfig IA64_ACPI_CPUFREQ
291*4882a593Smuzhiyun	tristate "ACPI Processor P-States driver"
292*4882a593Smuzhiyun	depends on ACPI_PROCESSOR
293*4882a593Smuzhiyun	help
294*4882a593Smuzhiyun	This driver adds a CPUFreq driver which utilizes the ACPI
295*4882a593Smuzhiyun	Processor Performance States.
296*4882a593Smuzhiyun
297*4882a593Smuzhiyun	For details, take a look at <file:Documentation/cpu-freq/>.
298*4882a593Smuzhiyun
299*4882a593Smuzhiyun	If in doubt, say N.
300*4882a593Smuzhiyunendif
301*4882a593Smuzhiyun
302*4882a593Smuzhiyunif MIPS
303*4882a593Smuzhiyunconfig BMIPS_CPUFREQ
304*4882a593Smuzhiyun	tristate "BMIPS CPUfreq Driver"
305*4882a593Smuzhiyun	help
306*4882a593Smuzhiyun	  This option adds a CPUfreq driver for BMIPS processors with
307*4882a593Smuzhiyun	  support for configurable CPU frequency.
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun	  For now, BMIPS5 chips are supported (such as the Broadcom 7425).
310*4882a593Smuzhiyun
311*4882a593Smuzhiyun	  If in doubt, say N.
312*4882a593Smuzhiyun
313*4882a593Smuzhiyunconfig LOONGSON2_CPUFREQ
314*4882a593Smuzhiyun	tristate "Loongson2 CPUFreq Driver"
315*4882a593Smuzhiyun	depends on LEMOTE_MACH2F
316*4882a593Smuzhiyun	help
317*4882a593Smuzhiyun	  This option adds a CPUFreq driver for loongson processors which
318*4882a593Smuzhiyun	  support software configurable cpu frequency.
319*4882a593Smuzhiyun
320*4882a593Smuzhiyun	  Loongson2F and it's successors support this feature.
321*4882a593Smuzhiyun
322*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
323*4882a593Smuzhiyun
324*4882a593Smuzhiyun	  If in doubt, say N.
325*4882a593Smuzhiyun
326*4882a593Smuzhiyunconfig LOONGSON1_CPUFREQ
327*4882a593Smuzhiyun	tristate "Loongson1 CPUFreq Driver"
328*4882a593Smuzhiyun	depends on LOONGSON1_LS1B
329*4882a593Smuzhiyun	help
330*4882a593Smuzhiyun	  This option adds a CPUFreq driver for loongson1 processors which
331*4882a593Smuzhiyun	  support software configurable cpu frequency.
332*4882a593Smuzhiyun
333*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
334*4882a593Smuzhiyun
335*4882a593Smuzhiyun	  If in doubt, say N.
336*4882a593Smuzhiyunendif
337*4882a593Smuzhiyun
338*4882a593Smuzhiyunif SPARC64
339*4882a593Smuzhiyunconfig SPARC_US3_CPUFREQ
340*4882a593Smuzhiyun	tristate "UltraSPARC-III CPU Frequency driver"
341*4882a593Smuzhiyun	help
342*4882a593Smuzhiyun	  This adds the CPUFreq driver for UltraSPARC-III processors.
343*4882a593Smuzhiyun
344*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq>.
345*4882a593Smuzhiyun
346*4882a593Smuzhiyun	  If in doubt, say N.
347*4882a593Smuzhiyun
348*4882a593Smuzhiyunconfig SPARC_US2E_CPUFREQ
349*4882a593Smuzhiyun	tristate "UltraSPARC-IIe CPU Frequency driver"
350*4882a593Smuzhiyun	help
351*4882a593Smuzhiyun	  This adds the CPUFreq driver for UltraSPARC-IIe processors.
352*4882a593Smuzhiyun
353*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq>.
354*4882a593Smuzhiyun
355*4882a593Smuzhiyun	  If in doubt, say N.
356*4882a593Smuzhiyunendif
357*4882a593Smuzhiyun
358*4882a593Smuzhiyunif SUPERH
359*4882a593Smuzhiyunconfig SH_CPU_FREQ
360*4882a593Smuzhiyun	tristate "SuperH CPU Frequency driver"
361*4882a593Smuzhiyun	help
362*4882a593Smuzhiyun	  This adds the cpufreq driver for SuperH. Any CPU that supports
363*4882a593Smuzhiyun	  clock rate rounding through the clock framework can use this
364*4882a593Smuzhiyun	  driver. While it will make the kernel slightly larger, this is
365*4882a593Smuzhiyun	  harmless for CPUs that don't support rate rounding. The driver
366*4882a593Smuzhiyun	  will also generate a notice in the boot log before disabling
367*4882a593Smuzhiyun	  itself if the CPU in question is not capable of rate rounding.
368*4882a593Smuzhiyun
369*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq>.
370*4882a593Smuzhiyun
371*4882a593Smuzhiyun	  If unsure, say N.
372*4882a593Smuzhiyunendif
373*4882a593Smuzhiyun
374*4882a593Smuzhiyunconfig QORIQ_CPUFREQ
375*4882a593Smuzhiyun	tristate "CPU frequency scaling driver for Freescale QorIQ SoCs"
376*4882a593Smuzhiyun	depends on OF && COMMON_CLK
377*4882a593Smuzhiyun	depends on PPC_E500MC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
378*4882a593Smuzhiyun	select CLK_QORIQ
379*4882a593Smuzhiyun	help
380*4882a593Smuzhiyun	  This adds the CPUFreq driver support for Freescale QorIQ SoCs
381*4882a593Smuzhiyun	  which are capable of changing the CPU's frequency dynamically.
382*4882a593Smuzhiyun
383*4882a593Smuzhiyunendif
384*4882a593Smuzhiyunendmenu
385