# NPCX ADC driver configuration options

# Copyright (c) 2020 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0

config ADC_NPCX
	bool "Nuvoton NPCX embedded controller (EC) ADC driver"
	default y
	depends on DT_HAS_NUVOTON_NPCX_ADC_ENABLED
	select PINCTRL
	help
	  This option enables the ADC driver for NPCX family of
	  processors.
	  Say y if you wish to use ADC channels on NPCX MCU.

if ADC_NPCX

config ADC_NPCX_CMP_V1
	bool "ADC comparator version 1 support"
	default y if SOC_SERIES_NPCX7 || SOC_SERIES_NPCX9
	help
	  This option enables ADC comparator V1 support.

config ADC_NPCX_CMP_V2
	bool "ADC comparator version 2 support"
	default y if SOC_SERIES_NPCX4
	help
	  This option enables ADC comparator V2 support.

endif #ADC_NPCX
