# Kconfig - ADC configuration options

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

#
# ADC options
#
menuconfig ADC
	bool "ADC drivers"
	help
	  Enable ADC (Analog to Digital Converter) driver configuration

if ADC

config SYS_LOG_ADC_LEVEL
	int "ADC drivers log level"
	depends on SYS_LOG
	default 0
	range 0 4
	help

	  Sets log level for ADC driver.

	  Levels are:

	  - 0 OFF, do not write

	  - 1 ERROR, only write SYS_LOG_ERR

	  - 2 WARNING, write SYS_LOG_WRN in addition to previous level

	  - 3 INFO, write SYS_LOG_INF in addition to previous levels

	  - 4 DEBUG, write SYS_LOG_DBG in addition to previous levels

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

config ADC_0
	bool "Enable ADC 0"

config ADC_0_NAME
	string "ADC 0 Driver's name"
	depends on ADC_0 && !HAS_DTS_ADC
	default "ADC_0"

config ADC_0_IRQ_PRI
	int "ADC 0 interrupt priority"
	depends on ADC_0 && !HAS_DTS_ADC
	default 2

config ADC_1
	bool "Enable ADC 1"

config ADC_1_NAME
	string "ADC 1 Driver's name"
	depends on ADC_1 && !HAS_DTS_ADC
	default "ADC_1"

config ADC_1_IRQ_PRI
	int "ADC 1 interrupt priority"
	depends on ADC_1 && !HAS_DTS_ADC
	default 2

source "drivers/adc/Kconfig.dw"

source "drivers/adc/Kconfig.mcux"

source "drivers/adc/Kconfig.qmsi"

source "drivers/adc/Kconfig.sam_afec"

source "drivers/adc/Kconfig.ti_adc108s102"

endif # ADC
