# Copyright (c) 2022, CSIRO.
# SPDX-License-Identifier: Apache-2.0

menuconfig POWER_DOMAIN
	bool "Power domain drivers"
	help
	  Include drivers for power domains in system config

if POWER_DOMAIN

module = POWER_DOMAIN
module-str = power_domain
source "subsys/logging/Kconfig.template.log_config"

config POWER_DOMAIN_GPIO
	bool "GPIO controlled power domain"
	default y
	depends on DT_HAS_POWER_DOMAIN_GPIO_ENABLED
	depends on GPIO
	depends on TIMEOUT_64BIT

config POWER_DOMAIN_INTEL_ADSP
	bool "Use Intel ADSP power gating mechanisms"
	default y
	depends on DT_HAS_INTEL_ADSP_POWER_DOMAIN_ENABLED
	help
	  Include Intel ADSP power domain control mechanisms

endif
