config CPU_FREQ_CBE
	tristate "CBE frequency scaling"
	depends on CBE_RAS && PPC_CELL
	default m
	help
	  This adds the cpufreq driver for Cell BE processors.
	  For details, take a look at <file:Documentation/cpu-freq/>.
	  If you don't have such processor, say N

config CPU_FREQ_CBE_PMI
	bool "CBE frequency scaling using PMI interface"
	depends on CPU_FREQ_CBE
	default n
	help
	  Select this, if you want to use the PMI interface to switch
	  frequencies. Using PMI, the processor will not only be able to run at
	  lower speed, but also at lower core voltage.

config CPU_FREQ_MAPLE
	bool "Support for Maple 970FX Evaluation Board"
	depends on PPC_MAPLE
	help
	  This adds support for frequency switching on Maple 970FX
	  Evaluation Board and compatible boards (IBM JS2x blades).

config PPC_CORENET_CPUFREQ
	tristate "CPU frequency scaling driver for Freescale E500MC SoCs"
	depends on PPC_E500MC && OF && COMMON_CLK
	select CLK_PPC_CORENET
	help
	  This adds the CPUFreq driver support for Freescale e500mc,
	  e5500 and e6500 series SoCs which are capable of changing
	  the CPU's frequency dynamically.

config CPU_FREQ_PMAC
	bool "Support for Apple PowerBooks"
	depends on ADB_PMU && PPC32
	help
	  This adds support for frequency switching on Apple PowerBooks,
	  this currently includes some models of iBook & Titanium
	  PowerBook.

config CPU_FREQ_PMAC64
	bool "Support for some Apple G5s"
	depends on PPC_PMAC && PPC64
	help
	  This adds support for frequency switching on Apple iMac G5,
	  and some of the more recent desktop G5 machines as well.

config PPC_PASEMI_CPUFREQ
	bool "Support for PA Semi PWRficient"
	depends on PPC_PASEMI
	default y
	help
	  This adds the support for frequency switching on PA Semi
	  PWRficient processors.

config POWERNV_CPUFREQ
       tristate "CPU frequency scaling for IBM POWERNV platform"
       depends on PPC_POWERNV
       default y
       help
	 This adds support for CPU frequency switching on IBM POWERNV
	 platform
