2022-06-28 15:49:10

by Claudiu Beznea

[permalink] [raw]
Subject: [PATCH v2 00/19] iio: adc: at91-sama5d2_adc: add support for temperature sensor

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


2022-07-16 18:07:07

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH v2 00/19] iio: adc: at91-sama5d2_adc: add support for temperature sensor

On Tue, 28 Jun 2022 18:16:12 +0300
Claudiu Beznea <[email protected]> wrote:

> 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.

Other than the use of MEGA in patch 17, I'm fine with this now, but
would like to leave more time for Eugen and others to comment if they
wish. Given timing, I'm afraid this is very unlikely to make the next
merge window anyway now, so we have lots of time.

Sorry for the delay in my reviewing v2. Pesky covid.

Jonathan

>
> 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(-)
>

2022-07-31 20:13:39

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH v2 00/19] iio: adc: at91-sama5d2_adc: add support for temperature sensor

On Sat, 16 Jul 2022 17:42:49 +0100
Jonathan Cameron <[email protected]> wrote:

> On Tue, 28 Jun 2022 18:16:12 +0300
> Claudiu Beznea <[email protected]> wrote:
>
> > 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.
>
> Other than the use of MEGA in patch 17, I'm fine with this now, but
> would like to leave more time for Eugen and others to comment if they
> wish. Given timing, I'm afraid this is very unlikely to make the next
> merge window anyway now, so we have lots of time.

Long enough. I'll queue this up though for now it'll only be exposed as testing
as I'll be rebasing the togreg tree on rc1 once available.

Thanks,

Jonathan

>
> Sorry for the delay in my reviewing v2. Pesky covid.
>
> Jonathan
>
> >
> > 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(-)
> >
>


2022-08-01 09:59:14

by Claudiu Beznea

[permalink] [raw]
Subject: Re: [PATCH v2 00/19] iio: adc: at91-sama5d2_adc: add support for temperature sensor

On 31.07.2022 23:13, Jonathan Cameron wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On Sat, 16 Jul 2022 17:42:49 +0100
> Jonathan Cameron <[email protected]> wrote:
>
>> On Tue, 28 Jun 2022 18:16:12 +0300
>> Claudiu Beznea <[email protected]> wrote:
>>
>>> 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.
>>
>> Other than the use of MEGA in patch 17, I'm fine with this now, but
>> would like to leave more time for Eugen and others to comment if they
>> wish. Given timing, I'm afraid this is very unlikely to make the next
>> merge window anyway now, so we have lots of time.
>
> Long enough. I'll queue this up though for now it'll only be exposed as testing
> as I'll be rebasing the togreg tree on rc1 once available.

I saw that kbuild robot found something (reported at [1]). Is it OK to just
send a patch fixing the issue or would you like me to integrate the changes
in patch [21/30] iio: adc: at91-sama5d2_adc: adjust osr based on specific
platform data and resend the whole series.

Thank you,
Claudiu Beznea

[1] https://lore.kernel.org/all/[email protected]/

>
> Thanks,
>
> Jonathan
>
>>
>> Sorry for the delay in my reviewing v2. Pesky covid.
>>
>> Jonathan
>>
>>>
>>> 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(-)
>>>
>>
>

2022-08-03 11:11:04

by Claudiu Beznea

[permalink] [raw]
Subject: Re: [PATCH v2 00/19] iio: adc: at91-sama5d2_adc: add support for temperature sensor

On 01.08.2022 12:46, Claudiu Beznea - M18063 wrote:
> On 31.07.2022 23:13, Jonathan Cameron wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>
>> On Sat, 16 Jul 2022 17:42:49 +0100
>> Jonathan Cameron <[email protected]> wrote:
>>
>>> On Tue, 28 Jun 2022 18:16:12 +0300
>>> Claudiu Beznea <[email protected]> wrote:
>>>
>>>> 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.
>>>
>>> Other than the use of MEGA in patch 17, I'm fine with this now, but
>>> would like to leave more time for Eugen and others to comment if they
>>> wish. Given timing, I'm afraid this is very unlikely to make the next
>>> merge window anyway now, so we have lots of time.
>>
>> Long enough. I'll queue this up though for now it'll only be exposed as testing
>> as I'll be rebasing the togreg tree on rc1 once available.
>
> I saw that kbuild robot found something (reported at [1]). Is it OK to just
> send a patch fixing the issue or would you like me to integrate the changes
> in patch [21/30] iio: adc: at91-sama5d2_adc: adjust osr based on specific
> platform data and resend the whole series.

Hi, Jonathan,

I've posted a new version fixing the compilation warning: patches 10/19 and
11/19 were adapted.

Thank you,
Claudiu Beznea

>
> Thank you,
> Claudiu Beznea
>
> [1] https://lore.kernel.org/all/[email protected]/
>
>>
>> Thanks,
>>
>> Jonathan
>>
>>>
>>> Sorry for the delay in my reviewing v2. Pesky covid.
>>>
>>> Jonathan
>>>
>>>>
>>>> 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(-)
>>>>
>>>
>>
>