The latest development version of this page may be more current than this released 4.0.0 version.

st,stm32-adc

Vendor: STMicroelectronics

Note

An implementation of a driver matching this compatible is available in drivers/adc/adc_stm32.c.

Description

ST STM32 family ADC

Properties

Top level properties

These property descriptions apply to “st,stm32-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

#io-channel-cells

int

This property is required.

Constant value: 1

st,adc-clock-source

int

Type of ADC clock source :
- <SYNC>: derived from the bus clock.
- <ASYNC> : independent and asynchronous with the bus clock
One of the two values may not apply to some series. Refer to the RefMan.
If an asynchronous clock is selected, a domain clock in the clock property
has to be defined explicitly.

This property is required.

Legal values: 1, 2

st,adc-prescaler

int

Clock prescaler at the input of the ADC:
Apply to synchronous or asynchronous clock depending on the STM32
st,adc-clock-source.
Some of the values may not apply to some series, and may depend on the
selected clock source. Refer to the RefMan.
On STM32F3x (except STM32F37x), this configures only the synchronous
prescaler (see properties adcXX-prescaler in st,stm32f3-rcc bindings to
set asynchronous prescaler).

This property is required.

Legal values: 1, 2, 4, 6, 8, 10, 12, 16, 32, 64, 128, 256

vref-mv

int

Indicates the reference voltage of the ADC in mV (on the target board).

Default value: 3300

resolutions

array

List of the resolutions supported by the ADC instance. They should be
values created with STM32_ADC_RES macro or similar. Their order is not
important. For example for STM32F4:
  <STM32_ADC_RES(12, 0x00) STM32_ADC_RES(10, 0x01)
   STM32_ADC_RES(8, 0x02)  STM32_ADC_RES(6, 0x03)>
The two parameters are the resolution (for example 10 bits) and the
corresponding register value (0x01 for a 10-bit resolution).
By design, these macros also contains all register information (address,
field offset and field mask) necessary to properly set the resolution.

This property is required.

sampling-times

array

List all the sampling times supported by the ADC instance.
Rounded up if needed. Order is important: their index matches their binary
value in the register.

This property is required.

num-sampling-time-common-channels

int

Number of sampling time common channels for this ADC instance, if any.

st,adc-sequencer

int

Type of ADC sequencer:
- <NOT_FULLY_CONFIGURABLE>: Not fully configurable sequencer
- <FULLY_CONFIGURABLE>: Fully configurable sequencer

This property is required.

Legal values: 0, 1

pinctrl-0

phandles

Pin configuration/s for the first state. Content is specific to the
selected pin controller driver implementation.

pinctrl-1

phandles

Pin configuration/s for the second state. See pinctrl-0.

pinctrl-2

phandles

Pin configuration/s for the third state. See pinctrl-0.

pinctrl-3

phandles

Pin configuration/s for the fourth state. See pinctrl-0.

pinctrl-4

phandles

Pin configuration/s for the fifth state. See pinctrl-0.

pinctrl-names

string-array

Names for the provided states. The number of names needs to match the
number of states.

Child node properties

Name

Type

Details

reg

array

Channel identifier.

This property is required.

See Important properties for more information.

zephyr,gain

string

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: 'ADC_GAIN_1_6', 'ADC_GAIN_1_5', 'ADC_GAIN_1_4', 'ADC_GAIN_1_3', 'ADC_GAIN_2_5', 'ADC_GAIN_1_2', 'ADC_GAIN_2_3', 'ADC_GAIN_4_5', 'ADC_GAIN_1', 'ADC_GAIN_2', 'ADC_GAIN_3', 'ADC_GAIN_4', 'ADC_GAIN_6', 'ADC_GAIN_8', 'ADC_GAIN_12', 'ADC_GAIN_16', 'ADC_GAIN_24', 'ADC_GAIN_32', 'ADC_GAIN_64', 'ADC_GAIN_128'

zephyr,reference

string

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: 'ADC_REF_VDD_1', 'ADC_REF_VDD_1_2', 'ADC_REF_VDD_1_3', 'ADC_REF_VDD_1_4', 'ADC_REF_INTERNAL', 'ADC_REF_EXTERNAL0', 'ADC_REF_EXTERNAL1'

zephyr,vref-mv

int

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.

zephyr,acquisition-time

int

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.

zephyr,differential

boolean

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.

zephyr,input-positive

int

Positive ADC input. Used only for drivers that select
the ADC_CONFIGURABLE_INPUTS Kconfig option.

zephyr,input-negative

int

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.

zephyr,resolution

int

ADC resolution to be used for the channel.

zephyr,oversampling

int

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).

zephyr,current-source-pin

uint8-array

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.

zephyr,vbias-pins

int

Output pin selection for the bias voltage. The actual interpretation
depends on the driver. This is used only for drivers which select
the ADC_CONFIGURABLE_VBIAS_PIN Kconfig option.

Specifier cell names

  • io-channel cells: input