# Copyright (c) 2023 Grinn
# SPDX -License-Identifier: Apache-2.0

config ADC_AD5592
	bool "AD5592 ADC driver"
	default y
	depends on DT_HAS_ADI_AD5592_ADC_ENABLED
	select MFD
	help
	  Enable the AD5592 ADC driver.

config ADC_AD5592_ACQUISITION_THREAD_STACK_SIZE
	int "Stack size for the ADC data acquisition thread"
	depends on ADC_AD5592
	default 384
	help
	  Size of the stack used for the internal data acquisition
	  thread.

config ADC_AD5592_ACQUISITION_THREAD_PRIO
	int "Priority for the ADC data acquisition thread"
	depends on ADC_AD5592
	default 0
	help
	  Priority level for the internal ADC data acquisition thread.
