# Copyright (c) 2018, Endre Karlson # Copyright (c) 2018, Song Qiang # SPDX-License-Identifier: Apache-2.0 description: ST STM32 family ADC compatible: "st,stm32-adc" include: [adc-controller.yaml, pinctrl-device.yaml] properties: reg: required: true clocks: required: true interrupts: required: true "#io-channel-cells": const: 1 st,adc-clock-source: type: int required: true enum: - 1 # SYNC for synchronous ADC clock source - 2 # ASYNC for asynchronous ADC clock source description: | 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. If an asynchronous clock is selected, a domain clock in the clock property has to be defined explicitly. st,adc-prescaler: type: int required: true enum: - 1 # not divided - 2 - 4 - 6 - 8 - 10 - 12 - 16 - 32 - 64 - 128 - 256 description: | 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). vref-mv: type: int default: 3300 description: Indicates the reference voltage of the ADC in mV (on the target board). resolutions: type: array required: true description: | 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. sampling-times: type: array required: true description: | 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. num-sampling-time-common-channels: type: int description: | Number of sampling time common channels for this ADC instance, if any. st,adc-sequencer: type: int required: true enum: - 0 # NOT_FULLY_CONFIGURABLE - 1 # FULLY_CONFIGURABLE description: | Type of ADC sequencer: - : Not fully configurable sequencer - : Fully configurable sequencer io-channel-cells: - input