# 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_INIT_PRIORITY
	int "Power domain init priority"
	default 75
	help
	  Power domain initialization priority.

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
	select DEVICE_DEPS

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

config POWER_DOMAIN_GPIO_MONITOR
	bool "GPIO monitor for sensing power on rail"
	default y
	depends on DT_HAS_POWER_DOMAIN_GPIO_MONITOR_ENABLED
	depends on GPIO
	select DEVICE_DEPS

endif
