lkml.org 
[lkml]   [2014]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] iio: adc: at91_adc: correct default shtim value
Hi, Alexandre

On 3/4/2014 2:07 AM, Alexandre Belloni wrote:
> When sample_hold_time is zero (this is the case when DT is not used or if
> atmel,adc-sample-hold-time is omitted), then the calculated shtim is large.
>
> Make that 0, which is the default for that register and the ADC will then use a
> sane value of 2/ADCCLK or 1/ADCCLK depending on the version.
>
> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>

Thanks for the fix and

Acked-by: Josh Wu<josh.wu@atmel.com>

Best Regards,
Josh Wu
> ---
> drivers/iio/adc/at91_adc.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/adc/at91_adc.c b/drivers/iio/adc/at91_adc.c
> index 5b1aa027c034..0b103f905607 100644
> --- a/drivers/iio/adc/at91_adc.c
> +++ b/drivers/iio/adc/at91_adc.c
> @@ -1004,8 +1004,11 @@ static int at91_adc_probe(struct platform_device *pdev)
> * the best converted final value between two channels selection
> * The formula thus is : Sample and Hold Time = (shtim + 1) / ADCClock
> */
> - shtim = round_up((st->sample_hold_time * adc_clk_khz /
> - 1000) - 1, 1);
> + if (st->sample_hold_time > 0)
> + shtim = round_up((st->sample_hold_time * adc_clk_khz / 1000)
> + - 1, 1);
> + else
> + shtim = 0;
>
> reg = AT91_ADC_PRESCAL_(prsc) & st->registers->mr_prescal_mask;
> reg |= AT91_ADC_STARTUP_(ticks) & st->registers->mr_startup_mask;



\
 
 \ /
  Last update: 2014-03-06 18:01    [W:0.078 / U:0.880 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site