config ADC
	bool "Enable ADC drivers using Driver Model"
	help
	  This enables ADC API for drivers, which allows driving ADC features
	  by single and multi-channel methods for:
	  - start/stop/get data for conversion of a single-channel selected by
	    a number or multi-channels selected by a bitmask
	  - get data mask (ADC resolution)
	  ADC reference Voltage supply options:
	  - methods for get Vdd/Vss reference Voltage values with polarity
	  - support supply's phandle with auto-enable
	  - supply polarity setting in fdt

config ADC_EXYNOS
	bool "Enable Exynos 54xx ADC driver"
	help
	  This enables basic driver for Exynos ADC compatible with Exynos54xx.
	  It provides:
	  - 10 analog input channels
	  - 12-bit resolution
	  - 600 KSPS of sample rate

config ADC_SANDBOX
	bool "Enable Sandbox ADC test driver"
	help
	  This enables driver for Sandbox ADC device emulation.
	  It provides:
	  - 4 analog input channels
	  - 16-bit resolution
	  - single and multi-channel conversion mode

config SARADC_MESON
	bool "Enable Amlogic Meson SARADC driver"
	imply REGMAP
	help
	  This enables driver for Amlogic Meson SARADC.
	  It provides:
	  - 8 analog input channels
	  - 1O or 12 bits resolution
	  - Up to 1MSPS of sample rate

config SARADC_ROCKCHIP
	bool "Enable Rockchip SARADC driver"
	help
	  This enables driver for Rockchip SARADC.
	  It provides:
	  - 2~6 analog input channels
	  - 1O or 12 bits resolution
	  - Up to 1MSPS of sample rate

config STM32_ADC
	bool "Enable STMicroelectronics STM32 ADC driver"
	depends on ADC && (STM32H7 || ARCH_STM32MP)
	help
	  This enables driver for STMicroelectronics STM32 analog-to-digital
	  converter (ADC).
	  A STM32 ADC block can be composed of several individual ADCs.
	  Each has its own private registers, but shares some resources:
	  - clock selection and prescaler
	  - voltage reference
	  - common registers area.
	  STM32 ADC driver is composed of:
	  - core driver to deal with common resources
	  - child driver to deal with individual ADC resources (declare ADC
	  device and associated channels, start/stop conversions)

config ADC_IMX93
	bool "Enable NXP IMX93 ADC driver"
	depends on ADC
	help
	  This enables basic driver for NXP IMX93 ADC.
	  It provides:
	  - 4 analog input channels
	  - 12-bit resolution
