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/19-4/19 provides some fixes. Patches 5/19-16/19 prepares for the addition of temperature sensor support. Patch 17/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 19/19). The rest of patches in this series are minor cleanups. Thank you, Claudiu Beznea Changes in v2: - addressed review comments - with this, new patches were intruced in this series: 2/19, 4/19, 8/19, 9,19 - runtime pm support has been adapted to work also when CONFIG_PM is not enabled - collected tags Claudiu Beznea (19): iio: adc: at91-sama5d2_adc: fix AT91_SAMA5D2_MR_TRACKTIM_MAX iio: adc: at91-sama5d2_adc: check return status for pressure and touch iio: adc: at91-sama5d2_adc: lock around oversampling and sample freq iio: adc: at91-sama5d2_adc: disable/prepare buffer on suspend/resume 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: move the check of oversampling in its function iio: adc: at91-sama5d2_adc: drop AT91_OSR_XSAMPLES defines iio: adc: at91-sama5d2_adc: add .read_avail() chan_info ops 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: 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: lock around 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 drivers/iio/adc/at91-sama5d2_adc.c | 683 +++++++++++++++--- .../dt-bindings/iio/adc/at91-sama5d2_adc.h | 3 + 2 files changed, 566 insertions(+), 120 deletions(-) -- 2.34.1