iio: adc: stm32: add support for differential channels
authorFabrice Gasnier <fabrice.gasnier@st.com>
Wed, 25 Oct 2017 09:27:45 +0000 (11:27 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 2 Dec 2017 10:40:28 +0000 (10:40 +0000)
commit3fb2e24ed7b713bd6c1a03ab9f9849f76629f26f
tree0692f0f47fdb2bb743f01853b8350876f63ccc89
parent0bae72aa8a89fd2b6a8ae4b21ff9141fc1f3b496
iio: adc: stm32: add support for differential channels

STM32H7 ADC channels can be configured either as single ended or
differential with 'st,adc-channels' or 'st,adc-diff-channels'
(positive and negative input pair: <vinp vinn>, ...).

Differential channels have different offset and scale, from spec:
raw value = (full_scale / 2) * (1 + (vinp - vinn) / vref).
Add offset attribute.

Differential channels are selected by DIFSEL register. Negative
inputs must be added to pre-selected channels as well (PCSEL).

Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/stm32-adc.c