[PATCH 00/16] iio: adc: at91-sama5d2_adc: add support for temperature sensor

Claudiu Beznea
2022-06-09T08:29:56Z

Hi,

The following series add support for temperature sensor available on
SAMA7G5.

Temperature sensor available on SAMA7G5 provides 2 outputs VTEMP and VBG.
VTEMP is proportional to the absolute temperature voltage and VBG is a
quasi-temperature independent voltage. Both are necessary in computing
the temperature (for better accuracy). Also, for better accuracy the
following settings were imposed when measusing the temperature:
oversampling rate of 256, sampling frequency of 10MHz, a startup time of
512 ticks, MR.tracktim=0xf, EMR.trackx=0x3.

For computing the temperature measured by ADC calibration data is
necessary. This is provided via OTP memory available on SAMA7G5.

Patches 1/16-3/16 provides some fixes.
Patches 3/16-12/16 prepares for the addition of temperature sensor
support.
Patch 13/16 adds the temperature sensor support.

Along with temperature sensor support I took the chance and added
runtime PM support in this series, too (handled in patch 15/16).

The rest of patches in this series are minor cleanups.

Thank you,
Claudiu Beznea

Claudiu Beznea (16):
iio: adc: at91-sama5d2_adc: fix AT91_SAMA5D2_MR_TRACKTIM_MAX
iio: adc: at91-sama5d2_adc: lock around oversampling and sample freq
iio: adc: at91-sama5d2_adc: exit from write_raw() when buffers are
enabled
iio: adc: at91-sama5d2_adc: handle different EMR.OSR for different hw
versions
iio: adc: at91-sama5d2_adc: adjust osr based on specific platform data
iio: adc: at91-sama5d2_adc: add 64 and 256 oversampling ratio
iio: adc: at91-sama5d2_adc: simplify the code in
at91_adc_read_info_raw()
iio: adc: at91-sama5d2_adc: move oversampling storage in its function
iio: adc: at91-sama5d2_adc: update trackx on emr
iio: adc: at91-sama5d2_adc: add startup and tracktim as parameter for
at91_adc_setup_samp_freq()
iio: adc: at91-sama5d2_adc: add locking parameter to
at91_adc_read_info_raw()
dt-bindings: iio: adc: at91-sama5d2_adc: add id for temperature
channel
iio: adc: at91-sama5d2_adc: add support for temperature sensor
iio: adc: at91-sama5d2_adc: add empty line after functions
iio: adc: at91-sama5d2_adc: add runtime pm support
iio: adc: at91-sama5d2_adc: use pm_ptr()

drivers/iio/adc/at91-sama5d2_adc.c | 633 +++++++++++++++---
.../dt-bindings/iio/adc/at91-sama5d2_adc.h | 3 +
2 files changed, 548 insertions(+), 88 deletions(-)

--
2.34.1