espressif,esp32-adc
Vendor: Espressif Systems
Description
Espressif ESP32 ADC
Possible available resolutions depends on the used chip.
- ESP32 < 9,10,11,12 >
- ESP32-S2 < 12 >
- ESP32-C3 < 12 >
- ESP32-S3 < 12 >
For chips with configurable resolution feature (ESP32),
maximum resolution will be used if not set explicitly.
Zephyr API is using gain unit to characterize ADC input.
To achieve compatibility we choose to select those gain,
which coresponds to the ESP32 ADC attenuation feature.
ESP32,attenuation ~ zephyr,gain
----------------- -----------
0 dB ADC_GAIN_1
2.5 dB ADC_GAIN_4_5
6 dB ADC_GAIN_1_2
11 dB ADC_GAIN_1_4
In case unsupported gain is selected the adc_channel_setup()
would return ENOTSUP error.
Properties
Top level properties
These property descriptions apply to “espressif,esp32-adc” nodes themselves. This page also describes child node properties in the following sections.
Properties not inherited from the base binding file.
Name |
Type |
Details |
---|---|---|
|
|
ADC unit number. Possible values are 1,2,.. depending on chip.
This property is required. |
|
|
The maximum channels supported on each unit.
This property is required. |
|
|
This property is required. Constant value: |
Deprecated properties not inherited from the base binding file.
(None)
Properties inherited from the base binding file, which defines common properties that may be set on many nodes. Not all of these may apply to the “espressif,esp32-adc” compatible.
Name |
Type |
Details |
---|---|---|
|
|
number of address cells in reg property
Constant value: |
|
|
number of size cells in reg property
|
|
|
indicates the operational status of a device
Legal values: See Important properties for more information. |
|
|
compatible strings
This property is required. See Important properties for more information. |
|
|
register space
See Important properties for more information. |
|
|
name of each register space
|
|
|
interrupts for device
See Important properties for more information. |
|
|
extended interrupt specifier for device
|
|
|
name of each interrupt
|
|
|
phandle to interrupt controller node
|
|
|
Human readable string describing the device (used as device_get_binding() argument)
See Important properties for more information. This property is deprecated. |
|
|
Clock gate information
|
|
|
name of each clock
|
|
|
DMA channels specifiers
|
|
|
Provided names of DMA channel specifiers
|
|
|
IO channels specifiers
|
|
|
Provided names of IO channel specifiers
|
|
|
mailbox / IPM channels specifiers
|
|
|
Provided names of mailbox / IPM channel specifiers
|
|
|
Property to identify that a device can be used as wake up source.
When this property is provided a specific flag is set into the
device that tells the system that the device is capable of
wake up the system.
Wake up capable devices are disabled (interruptions will not wake up
the system) by default but they can be enabled at runtime if necessary.
|
|
|
Power domain the device belongs to.
The device will be notified when the power domain it belongs to is either
suspended or resumed.
|
|
|
Automatically configure the device for runtime power management after the
init function runs.
|
Child node properties
Name |
Type |
Details |
---|---|---|
|
|
Channel identifier.
This property is required. See Important properties for more information. |
|
|
Gain selection:
- ADC_GAIN_1_6: x 1/6
- ADC_GAIN_1_5: x 1/5
- ADC_GAIN_1_4: x 1/4
- ADC_GAIN_1_3: x 1/3
- ADC_GAIN_2_5: x 2/5
- ADC_GAIN_1_2: x 1/2
- ADC_GAIN_2_3: x 2/3
- ADC_GAIN_4_5: x 4/5
- ADC_GAIN_1: x 1
- ADC_GAIN_2: x 2
- ADC_GAIN_3: x 3
- ADC_GAIN_4: x 4
- ADC_GAIN_6: x 6
- ADC_GAIN_8: x 8
- ADC_GAIN_12: x 12
- ADC_GAIN_16: x 16
- ADC_GAIN_24: x 24
- ADC_GAIN_32: x 32
- ADC_GAIN_64: x 64
- ADC_GAIN_128: x 128
This property is required. Legal values: |
|
|
Reference selection:
- ADC_REF_VDD_1: VDD
- ADC_REF_VDD_1_2: VDD/2
- ADC_REF_VDD_1_3: VDD/3
- ADC_REF_VDD_1_4: VDD/4
- ADC_REF_INTERNAL: Internal
- ADC_REF_EXTERNAL0: External, input 0
- ADC_REF_EXTERNAL1: External, input 1
This property is required. Legal values: |
|
|
This property can be used to specify the voltage (in millivolts)
of the reference selected for this channel, so that applications
can get that value if needed for some calculations.
For the internal reference, the voltage can be usually obtained with
a dedicated ADC API call, so there is no need to use this property
in that case, but for other references this property can be useful.
|
|
|
Acquisition time.
Use the ADC_ACQ_TIME macro to compose the value for this property
or pass ADC_ACQ_TIME_DEFAULT to use the default setting for a given
hardware (e.g. when the hardware does not allow to configure the
acquisition time).
This property is required. |
|
|
When set, selects differential input mode for the channel. Otherwise,
single-ended mode is used unless the zephyr,input-negative property is
specified, in which case the differential mode is selected implicitly.
|
|
|
Positive ADC input. Used only for drivers that select
the ADC_CONFIGURABLE_INPUTS Kconfig option.
|
|
|
Negative ADC input. Used only for drivers that select
the ADC_CONFIGURABLE_INPUTS Kconfig option.
When specified, implies the differential input mode for the channel.
|
|
|
ADC resolution to be used for the channel.
|
|
|
Oversampling setting to be used for the channel.
When specified, each sample is averaged from 2^N conversion results
(where N is the provided value).
|
|
|
Output pin selection for the current sources. The actual
interpretation depends on the driver. This is used only for drivers
which select the ADC_CONFIGURABLE_EXCITATION_CURRENT_SOURCE_PIN
Kconfig option.
|
Specifier cell names
io-channel cells: input