:orphan: .. raw:: html .. dtcompatible:: st,stm32-adc .. _dtbinding_st_stm32_adc: st,stm32-adc ############ Vendor: :ref:`STMicroelectronics ` Description *********** .. code-block:: none 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. .. tabs:: .. group-tab:: Node specific properties Properties not inherited from the base binding file. .. list-table:: :widths: 1 1 4 :header-rows: 1 * - Name - Type - Details * - ``#io-channel-cells`` - ``int`` - This property is **required**. Constant value: ``1`` * - ``pinctrl-0`` - ``phandles`` - .. code-block:: none Pin configuration/s for the first state. Content is specific to the selected pin controller driver implementation. This property is **required**. * - ``pinctrl-names`` - ``string-array`` - .. code-block:: none Names for the provided states. The number of names needs to match the number of states. This property is **required**. * - ``st,adc-clock-source`` - ``int`` - .. code-block:: none Type of ADC clock source : - : derived from the bus clock. - : independent and asynchronous with the bus clock One of the two values may not apply to some series. Refer to the RefMan. This property is **required**. Legal values: ``1``, ``2`` * - ``st,adc-prescaler`` - ``int`` - .. code-block:: none 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`` - .. code-block:: none Indicates the reference voltage of the ADC in mV (on the target board). Default value: ``3300`` * - ``resolutions`` - ``array`` - .. code-block:: none 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: 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`` - .. code-block:: none 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`` - .. code-block:: none Number of sampling time common channels for this ADC instance, if any. * - ``st,adc-sequencer`` - ``int`` - .. code-block:: none Type of ADC sequencer: - : Not fully configurable sequencer - : Fully configurable sequencer This property is **required**. Legal values: ``0``, ``1`` * - ``pinctrl-1`` - ``phandles`` - .. code-block:: none Pin configuration/s for the second state. See pinctrl-0. * - ``pinctrl-2`` - ``phandles`` - .. code-block:: none Pin configuration/s for the third state. See pinctrl-0. * - ``pinctrl-3`` - ``phandles`` - .. code-block:: none Pin configuration/s for the fourth state. See pinctrl-0. * - ``pinctrl-4`` - ``phandles`` - .. code-block:: none Pin configuration/s for the fifth state. See pinctrl-0. .. group-tab:: Deprecated node specific properties Deprecated properties not inherited from the base binding file. (None) .. group-tab:: Base properties 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 "st,stm32-adc" compatible. .. list-table:: :widths: 1 1 4 :header-rows: 1 * - Name - Type - Details * - ``reg`` - ``array`` - .. code-block:: none register space This property is **required**. See :ref:`dt-important-props` for more information. * - ``clocks`` - ``phandle-array`` - .. code-block:: none Clock gate information This property is **required**. * - ``interrupts`` - ``array`` - .. code-block:: none interrupts for device This property is **required**. See :ref:`dt-important-props` for more information. * - ``#address-cells`` - ``int`` - .. code-block:: none number of address cells in reg property Constant value: ``1`` * - ``#size-cells`` - ``int`` - .. code-block:: none number of size cells in reg property * - ``status`` - ``string`` - .. code-block:: none indicates the operational status of a device Legal values: ``'ok'``, ``'okay'``, ``'disabled'``, ``'reserved'``, ``'fail'``, ``'fail-sss'`` See :ref:`dt-important-props` for more information. * - ``compatible`` - ``string-array`` - .. code-block:: none compatible strings This property is **required**. See :ref:`dt-important-props` for more information. * - ``reg-names`` - ``string-array`` - .. code-block:: none name of each register space * - ``interrupts-extended`` - ``compound`` - .. code-block:: none extended interrupt specifier for device * - ``interrupt-names`` - ``string-array`` - .. code-block:: none name of each interrupt * - ``interrupt-parent`` - ``phandle`` - .. code-block:: none phandle to interrupt controller node * - ``label`` - ``string`` - .. code-block:: none Human readable string describing the device (used as device_get_binding() argument) See :ref:`dt-important-props` for more information. This property is **deprecated**. * - ``clock-names`` - ``string-array`` - .. code-block:: none name of each clock * - ``dmas`` - ``phandle-array`` - .. code-block:: none DMA channels specifiers * - ``dma-names`` - ``string-array`` - .. code-block:: none Provided names of DMA channel specifiers * - ``io-channels`` - ``phandle-array`` - .. code-block:: none IO channels specifiers * - ``io-channel-names`` - ``string-array`` - .. code-block:: none Provided names of IO channel specifiers * - ``mboxes`` - ``phandle-array`` - .. code-block:: none mailbox / IPM channels specifiers * - ``mbox-names`` - ``string-array`` - .. code-block:: none Provided names of mailbox / IPM channel specifiers * - ``wakeup-source`` - ``boolean`` - .. code-block:: none 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`` - ``phandle`` - .. code-block:: none Power domain the device belongs to. The device will be notified when the power domain it belongs to is either suspended or resumed. * - ``zephyr,pm-device-runtime-auto`` - ``boolean`` - .. code-block:: none Automatically configure the device for runtime power management after the init function runs. Child node properties ===================== .. list-table:: :widths: 1 1 4 :header-rows: 1 * - Name - Type - Details * - ``reg`` - ``array`` - .. code-block:: none Channel identifier. This property is **required**. See :ref:`dt-important-props` for more information. * - ``zephyr,gain`` - ``string`` - .. code-block:: none 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`` - .. code-block:: none 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`` - .. code-block:: none 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`` - .. code-block:: none 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`` - .. code-block:: none 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`` - .. code-block:: none Positive ADC input. Used only for drivers that select the ADC_CONFIGURABLE_INPUTS Kconfig option. * - ``zephyr,input-negative`` - ``int`` - .. code-block:: none 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`` - .. code-block:: none ADC resolution to be used for the channel. * - ``zephyr,oversampling`` - ``int`` - .. code-block:: none 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`` - .. code-block:: none 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`` - .. code-block:: none 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