menu "Power Domain Support"

config POWER_DOMAIN
	bool "Enable power domain support using Driver Model"
	depends on DM && OF_CONTROL
	help
	  Enable support for the power domain driver class. Many SoCs allow
	  power to be applied to or removed from portions of the SoC (power
	  domains). This may be used to save power. This API provides the
	  means to control such power management hardware.

config BCM6328_POWER_DOMAIN
	bool "Enable the BCM6328 power domain driver"
	depends on POWER_DOMAIN && ARCH_BMIPS
	help
	  Enable support for manipulating BCM6345 power domains via MMIO
	  mapped registers.

config IMX8_POWER_DOMAIN
	bool "Enable i.MX8 power domain driver"
        depends on ARCH_IMX8
        help
          Enable support for manipulating NXP i.MX8 on-SoC power domains via IPC
          requests to the SCU.

config MTK_POWER_DOMAIN
	bool "Enable the MediaTek power domain driver"
	depends on POWER_DOMAIN && ARCH_MEDIATEK
	help
	  Enable support for manipulating MediaTek power domains via MMIO
	  mapped registers.

config MESON_GX_VPU_POWER_DOMAIN
	bool "Enable Amlogic Meson GX VPU power domain driver"
	depends on ARCH_MESON
	help
	  Enable support for manipulating Amlogic Meson GX Video Processing
	  Unit power domain.

config SANDBOX_POWER_DOMAIN
	bool "Enable the sandbox power domain test driver"
	depends on POWER_DOMAIN && SANDBOX
	help
	  Enable support for a test power domain driver implementation, which
	  simply accepts requests to power on/off various HW modules without
	  actually doing anything beyond a little error checking.

config TEGRA186_POWER_DOMAIN
	bool "Enable Tegra186 BPMP-based power domain driver"
	depends on TEGRA186_BPMP
	help
	  Enable support for manipulating Tegra's on-SoC power domains via IPC
	  requests to the BPMP (Boot and Power Management Processor).

config TI_SCI_POWER_DOMAIN
	bool "Enable the TI SCI-based power domain driver"
	depends on POWER_DOMAIN && TI_SCI_PROTOCOL
	help
	  Generic power domain implementation for TI devices implementing the
	  TI SCI protocol.
endmenu

