# Copyright (c) 2023 SILA  Embedded Solutions GmbH
#
# SPDX-License-Identifier: Apache-2.0

menuconfig ADC_ADS114S0X
	bool "Texas instruments ADS114S0x"
	default y
	depends on DT_HAS_TI_ADS114S08_ENABLED
	select SPI
	select ADC_CONFIGURABLE_INPUTS
	help
	  Enable the driver implementation for the ADS114S0X family

config ADC_ADS114S0X_ASYNC_THREAD_INIT_PRIO
	int "ADC ADS114S0x async thread priority"
	default 0
	depends on ADC_ADS114S0X

config ADC_ADS114S0X_ACQUISITION_THREAD_STACK_SIZE
	int "Stack size for the ADC data acquisition thread"
	default 400
	depends on ADC_ADS114S0X
	help
	  Size of the stack used for the internal data acquisition
	  thread.

config ADC_ADS114S0X_GPIO
	bool "GPIO support"
	default n
	depends on GPIO && ADC_ADS114S0X
	help
	  Enable GPIO child device support in the ADS114S0x ADC driver.

	  The GPIO functionality is handled by the ADS114S0x GPIO
	  driver.
