Linux Audio

Check our new training course

Loading...
# Kconfig - ADC configuration options

#
# Copyright (c) 2015 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

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

config SYS_LOG_ADC_LEVEL
	int
	prompt "ADC drivers log level"
	depends on ADC
	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 adition to previous level

	- 3 INFO, write SYS_LOG_INF in adition to previous levels

	- 4 DEBUG, write SYS_LOG_DBG in adition to previous levels

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

config ADC_0_NAME
	string "ADC Driver's name"
	depends on ADC
	default "ADC_0"

config ADC_0_IRQ_PRI
	int
	depends on ADC
	prompt "ADC interrupt priority"
	default 2

menuconfig ADC_TI_ADC108S102
	bool "TI adc108s102 chip driver"
	depends on ADC
	select SPI
	select NANO_TIMEOUTS
	default n
	help
	Enable support for TI's ADC chip adc108s102 driver.

if ADC_TI_ADC108S102

config ADC_TI_ADC108S102_SPI_PORT_NAME
	string "Master SPI port name"
	depends on ADC_TI_ADC108S102
	default ""
	help
	Master SPI port name through which adc108s102 chip is accessed.

config ADC_TI_ADC108S102_SPI_CONFIGURATION
	hex "Master SPI port configuration"
	depends on ADC_TI_ADC108S102
	default 0x0
	help
	Master SPI port configuration flags used to access adc108s102 chip.

config ADC_TI_ADC108S102_SPI_MAX_FREQ
	hex "Master SPI port max frequency"
	depends on ADC_TI_ADC108S102
	default 0x0
	help
	Master SPI port maximum frequency used to access adc108s102 chip.

config ADC_TI_ADC108S102_SPI_SLAVE
	int "SPI slave slot"
	depends on ADC_TI_ADC108S102
	default 0
	help
	adc108s102 chip's SPI slave number on master SPI port.

endif # ADC_TI_ADC108S102

menuconfig ADC_DW
	bool "ARC Designware Driver"
	depends on ADC && ARC
	default n
	help
	Enable the driver implementation of the Designware ADC IP.

if ADC_DW


config ADC_DW_CALIBRATION
	bool "Enable Calibration"
	default y
	depends on ADC_DW
	help
	Enables ADC to run with a calibrated output at the
	expense of execution speed when exiting low power states.
	If disabled, the ADC will require the application/system-integrator
	to provide a calibration method.

config ADC_DW_DUMMY_CONVERSION
	bool "Enable dummy conversion"
	default y
	depends on ADC_DW
	help
	After awaking from low power state a dummy
	conversion must be performed and discarded.
	If disabled the user will have to discard the first
	sample after a resume from a low power state.

choice
	prompt "Output Mode"
	default ADC_DW_SERIAL
	depends on ADC_DW
	help
	ADC output mode: parallel or serial.

config ADC_DW_SERIAL
	bool "Serial"

config ADC_DW_PARALLEL
	bool "Parallel"

endchoice

choice
	prompt "Sequence Mode"
	default ADC_DW_SINGLESHOT
	depends on ADC_DW
	help
	ADC sequence mode - single run/repetitive

config ADC_DW_SINGLESHOT
	bool "Single Ended"

config ADC_DW_REPETITIVE
	bool "Differential"

endchoice

choice
	prompt "Capture Mode"
	default ADC_DW_RISING_EDGE
	depends on ADC_DW
	help
	ADC controller capture mode:
	by rising or falling edge of adc_clk

config ADC_DW_RISING_EDGE
	bool "Rising Edge"

config ADC_DW_FALLING_EDGE
	bool "Falling Edge"

endchoice

config ADC_DW_SAMPLE_WIDTH
	int "Sample Width"
	depends on ADC_DW
	default 31
	help
	Defines ADC device data sample width (resolution):

	- 0 = 6 bits resolution

	- 1 = 8 bits resolution

	- 2 = 10 bits resolution

	- 3 = 12 bits resolution

config ADC_DW_SERIAL_DELAY
	int "Serial Delay"
	default 1
	help
	Number of ADC clock ticks that the first bit of
	the serial output is delayed after the conversion
	has started.

config ADC_DW_CLOCK_RATIO
	int "Clock Ratio"
	default 1024
	help
	ADC Clock Ratio

endif

menuconfig ADC_QMSI
	bool "QMSI ADC Driver"
	depends on QMSI && ADC
	default n
	help
	Enable the driver implementation of the QMSI ADC IP.

menuconfig ADC_QMSI_SS
	bool "QMSI ADC Driver for the Sensor Subsystem"
	depends on QMSI && ADC
	default n
	help
	Enable the driver implementation of the QMSI ADC IP.

if ADC_QMSI || ADC_QMSI_SS

choice
	prompt "Capturing Mode"
	default ADC_QMSI_INTERRUPT
	help
	ADC sample capture mode - interrupt mode/polling mode

config ADC_QMSI_POLL
	bool "Polling samples"

config ADC_QMSI_INTERRUPT
	bool "Interrupt notification"

endchoice

config ADC_QMSI_CALIBRATION
	bool "Enable Calibration"
	default y
	help
	Enables ADC to run with a calibrated output at the
	expense of execution speed when exiting low power states.
	If disabled, the ADC will require the application/system-integrator
	to provide a calibration method.

config ADC_QMSI_CLOCK_RATIO
	int "Clock Ratio"
	default 100
	help
	ADC Clock Ratio

config ADC_QMSI_SERIAL_DELAY
	int "Serial Delay"
	default 1
	help
	Number of ADC clock ticks that the first bit of
	the serial output is delayed after the conversion
	has started.

#if ADC_QMSI
config ADC_QMSI_SAMPLE_WIDTH
	int "Sample Width"
	default 3
	help
	Defines ADC device data sample width (resolution):

	- 0 = 6 bits resolution

	- 1 = 8 bits resolution

	- 2 = 10 bits resolution

	- 3 = 12 bits resolution
#endif

#if ADC_QMSI_SS
config ADC_QMSI_SAMPLE_WIDTH
	int "Sample Width"
	default 11
	help
	Defines ADC device data sample width (resolution):

	- 5 = 6 bits resolution

	- 7 = 8 bits resolution

	- 9 = 10 bits resolution

	- 11 = 12 bits resolution
#endif

endif # ADC_QMSI || ADC_QMSI_SS