Lines Matching defs:channels
39 #define STM32_ADC_CH_MAX 20 /* max number of channels */
94 * struct stm32_adc_ic - ADC internal channels
198 * @adc_info: per instance input channels definitions
211 * @ts_int_ch: pointer to array of internal channels minimum sampling time in ns
250 * @pcsel: bitmask to preselect channels on some devices
255 * @num_diff: number of differential channels
257 * @nsmps: number of channels with optional sample time
294 * @max_channels: Number of channels
309 /* stm32f4 can have up to 16 channels */
321 /* stm32h7 can have up to 20 channels */
328 /* stm32mp13 can have up to 19 channels */
787 * stm32f4_adc_start_conv() - Start conversions for regular channels.
791 * Start conversions for regular channels.
1171 * Configure channels as single ended or differential before enabling ADC.
1174 * Pre-select channels that may be used in PCSEL (required by input MUX / IO):
1176 * - Two inputs are selected for differential channels (e.g. 'vinp' & 'vinn')
1241 * stm32_adc_conf_scan_seq() - Build regular channels scan sequence
1243 * @scan_mask: channels to be converted
1246 * Apply sampling time settings for all channels.
1247 * Configure ADC scan sequence based on selected channels in scan_mask.
1248 * Add channels to SQR registers, from scan_mask LSB to MSB, then
1265 chan = indio_dev->channels + bit;
1637 if (indio_dev->channels[i].channel == iiospec->args[0])
1931 * For internal channels, ensure that the sampling time cannot
1980 /* pre-build selected channels mask */
1983 /* pre-build diff channels mask */
1985 /* Also add negative input to pre-selected channels */
1998 ret = device_property_count_u32(dev, "st,adc-channels");
2000 dev_err(&indio_dev->dev, "Bad st,adc-channels?\n");
2007 * each st,adc-diff-channels is a group of 2 u32 so we divide @ret
2008 * to get the *real* number of channels.
2010 ret = device_property_count_u32(dev, "st,adc-diff-channels");
2014 dev_err(&indio_dev->dev, "Bad st,adc-diff-channels?\n");
2022 /* Optional sample time is provided either for each, or all channels */
2034 struct iio_chan_spec *channels,
2047 ret = device_property_read_u32_array(dev, "st,adc-diff-channels",
2050 dev_err(&indio_dev->dev, "Failed to get diff channels %d\n", ret);
2062 stm32_adc_chan_init_one(indio_dev, &channels[scan_index],
2069 ret = device_property_read_u32_array(dev, "st,adc-channels", chans, num_se);
2071 dev_err(&indio_dev->dev, "Failed to get st,adc-channels %d\n", ret);
2090 stm32_adc_chan_init_one(indio_dev, &channels[scan_index],
2115 stm32_adc_smpr_init(adc, channels[i].channel, smp);
2187 struct iio_chan_spec *channels)
2230 ret = fwnode_property_read_u32_array(child, "diff-channels", vin, 2);
2231 /* diff-channels is optional */
2240 dev_err(&indio_dev->dev, "Invalid diff-channels property %d\n", ret);
2244 stm32_adc_chan_init_one(indio_dev, &channels[scan_index], val,
2256 stm32_adc_smpr_init(adc, channels[scan_index].channel, val);
2275 struct iio_chan_spec *channels;
2283 /* If no channels have been found, fallback to channels legacy properties. */
2307 channels = devm_kcalloc(&indio_dev->dev, num_channels,
2309 if (!channels)
2313 ret = stm32_adc_legacy_chan_init(indio_dev, adc, channels,
2316 ret = stm32_adc_generic_chan_init(indio_dev, adc, channels);
2322 struct iio_chan_spec *timestamp = &channels[scan_index];
2335 indio_dev->channels = channels;