# Kconfig - ADC configuration options

#
# Copyright (c) 2015 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

#
# ADC options
#
menuconfig ADC
	bool "ADC drivers"
	# All platforms that implement the ADC driver are now required to
	# provide relevant DTS entries.
	help
	  Enable ADC (Analog to Digital Converter) driver configuration.

if ADC

config ADC_SHELL
	bool "Enable ADC Shell"
	help
	  Enable ADC Shell for testing.

# By selecting or not this option particular ADC drivers indicate if it is
# required to explicitly specify analog inputs when configuring channels or
# just the channel identifier is sufficient.
config ADC_CONFIGURABLE_INPUTS
	bool

config ADC_ASYNC
	bool "Enable asynchronous call support"
	select POLL
	help
	  This option enables the asynchronous API calls.

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

config ADC_INIT_PRIORITY
	int "Init priority"
	default 80
	help
	  ADC Device driver initialization priority.

config ADC_0
	bool "Enable ADC 0"

config ADC_1
	bool "Enable ADC 1"

config ADC_2
	bool "Enable ADC 2"

source "drivers/adc/Kconfig.mcux"

source "drivers/adc/Kconfig.nrfx"

source "drivers/adc/Kconfig.sam_afec"

source "drivers/adc/Kconfig.sam0"

source "drivers/adc/Kconfig.stm32"

source "drivers/adc/Kconfig.xec"

endif # ADC
