# SPDX-License-Identifier: GPL-2.0-only
menuconfig POWER_AVS
	bool "Adaptive Voltage Scaling class support"
	help
	  AVS is a power management technique which finely controls the
	  operating voltage of a device in order to optimize (i.e. reduce)
	  its power consumption.
	  At a given operating point the voltage is adapted depending on
	  static factors (chip manufacturing process) and dynamic factors
	  (temperature depending performance).
	  AVS is also called SmartReflex on OMAP devices.

	  Say Y here to enable Adaptive Voltage Scaling class support.

config QCOM_CPR
	tristate "QCOM Core Power Reduction (CPR) support"
	depends on POWER_AVS && HAS_IOMEM
	select PM_OPP
	select REGMAP
	help
	  Say Y here to enable support for the CPR hardware found on Qualcomm
	  SoCs like QCS404.

	  This driver populates CPU OPPs tables and makes adjustments to the
	  tables based on feedback from the CPR hardware. If you want to do
	  CPUfrequency scaling say Y here.

	  To compile this driver as a module, choose M here: the module will
	  be called qcom-cpr

config ROCKCHIP_IODOMAIN
	tristate "Rockchip IO domain support"
	depends on POWER_AVS && ARCH_ROCKCHIP && OF
	help
	  Say y here to enable support io domains on Rockchip SoCs. It is
	  necessary for the io domain setting of the SoC to match the
	  voltage supplied by the regulators.
