summaryrefslogtreecommitdiff
path: root/zephyr/Kconfig.adc
blob: 37245f50709be43dc1fa89d1d6da14af38af6b58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Copyright 2021 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

config NAMED_ADC_CHANNELS
	bool "Named ADC Channels support"
	default y
	depends on DT_HAS_NAMED_ADC_CHANNELS_ENABLED
	select ADC

# Options using the named channels APIs.
if NAMED_ADC_CHANNELS

# Chromium EC provides it's own "adc" command.  Disable the Zephyr
# built-in ADC shell command.
# TODO(b:188434233) Investigate moving to zephyr adc shell
config ADC_SHELL
	default n

config PLATFORM_EC_ADC_CMD
	bool "ADC host/console command"
	default y
	help
	  Enables support for printing ADC channels state with the "adc"
	  console command and reading a state of ADC channel with the
	  EC_CMD_ADC_READ host command. Replaces generic Zephyr "adc"
	  command.

endif # NAMED_ADC_CHANNELS

# Options used by native drivers as well.
if ADC

config PLATFORM_EC_ADC_RESOLUTION
	int "ADC resolution"
	default 10
	help
	  The resolution, in bits, to use for the ADC conversion. Determines
	  the sample values range: 0 .. 2^resolution -1. The supported
	  resolution values depend on specific hardware.

config PLATFORM_EC_ADC_OVERSAMPLING
	int "ADC oversampling"
	default 0
	help
	  ADC oversampling to use for the ADC conversion. Each sample is
	  averaged from 2^oversampling conversion results. Oversampling can
	  help in providing more stable readings. The supported oversampling
	  values depend on specific hardware.

config PLATFORM_EC_ADC_CHANNELS_RUNTIME_CONFIG
	bool "ADC runtime config"
	default n
	help
	  Allows the configuration of the ADC channels to be set up at
	  runtime. This makes the adc_channels[] array writable,
	  i.e. not const. It should be declared as such in the board
	  config.

	  This is useful when the board has runtime information that
	  changes the configuration, such as board revision information.
	  Without this, multiple EC images would need to be installed
	  depending on the board.

endif # ADC