# ADS1X1X ADC configuration options

# Copyright (c) 2021 Facebook, Inc.
# SPDX-License-Identifier: Apache-2.0

config ADC_ADS1X1X
	bool "ADS1X1X driver"
	default y
	depends on DT_HAS_TI_ADS1013_ENABLED || DT_HAS_TI_ADS1014_ENABLED || \
		   DT_HAS_TI_ADS1015_ENABLED || DT_HAS_TI_ADS1113_ENABLED || \
		   DT_HAS_TI_ADS1114_ENABLED || DT_HAS_TI_ADS1115_ENABLED || \
		   DT_HAS_TI_ADS1119_ENABLED

	select I2C
	select ADC_CONFIGURABLE_INPUTS
	help
	  Enable ADS1X1X ADC driver.

if ADC_ADS1X1X

config ADC_ADS1X1X_INIT_PRIORITY
	int "Init priority"
	default 80
	help
	  ADS1X1X ADC device driver initialization priority.

config ADC_ADS1X1X_ACQUISITION_THREAD_PRIO
	int "Priority for the ADC data acquisition thread"
	default 0
	help
	  Priority level for the internal ADC data acquisition thread.

config ADC_ADS1X1X_ACQUISITION_THREAD_STACK_SIZE
	int "Stack size for the ADC data acquisition thread"
	default 1024
	help
	  Size of the stack used for the internal data acquisition
	  thread.

endif # ADC_ADS1X1X
