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 IMX8M_POWER_DOMAIN
	bool "Enable i.MX8M power domain driver"
	depends on POWER_DOMAIN && ARCH_IMX8M
	help
	  Enable support for manipulating NXP i.MX8M on-SoC power domains via
	  requests to the ATF.

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 POWER_DOMAIN && ARCH_MESON
	help
	  Enable support for manipulating Amlogic Meson GX Video Processing
	  Unit power domain.

config MESON_EE_POWER_DOMAIN
	bool "Enable Amlogic Everything-Else power domain driver"
	depends on POWER_DOMAIN && ARCH_MESON
	help
	  Enable support for manipulating Amlogic Meson Everything-Else power
	  domains.

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
