lkml.org 
[lkml]   [2017]   [Sep]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [RFC PATCH 2/7] iio: adc: axp20x-adc: allow to skip ADC rate setup now
    From
    Date
    Hi Icenowy,

    On 20/09/2017 17:18, Icenowy Zheng wrote:
    > The ADC rate setup on AXP803 is more complex than AXP20x/22x.
    >

    Can you elaborate?

    I can see two rate settings in register 0x85.

    Bits 7-6 => TS/GPIO ADC speed setting (25, 50, 100, 200 Hz) ((ilog2(x) /
    25) << 6, same as AXP20X).
    Bits 5-4 => Vol/Cur ADC speed setting (100, 200, 400, 800 Hz) ((ilog2(x)
    / 100) << 4, same as AXP22X except the bit shift).

    Just set both to 100 or 200 by default (common rate). If someone wants
    to add a more specific rate setting, he could do it in the future.

    Setting a default is safer as we don't know if anything before the
    kernel does anything to this register.

    Thanks,
    Quentin

    > As it's not a necessary setup, allow it to be skipped, to allow simpler
    > AXP803 support now.
    >
    > Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
    > ---
    > drivers/iio/adc/axp20x_adc.c | 6 ++++--
    > 1 file changed, 4 insertions(+), 2 deletions(-)
    >
    > diff --git a/drivers/iio/adc/axp20x_adc.c b/drivers/iio/adc/axp20x_adc.c
    > index 11e177180ea0..93dd6b80059e 100644
    > --- a/drivers/iio/adc/axp20x_adc.c
    > +++ b/drivers/iio/adc/axp20x_adc.c
    > @@ -556,8 +556,10 @@ static int axp20x_probe(struct platform_device *pdev)
    > AXP20X_ADC_EN2_MASK, AXP20X_ADC_EN2_MASK);
    >
    > /* Configure ADCs rate */
    > - regmap_update_bits(info->regmap, AXP20X_ADC_RATE, AXP20X_ADC_RATE_MASK,
    > - info->data->adc_rate(100));
    > + if (info->data->adc_rate)
    > + regmap_update_bits(info->regmap, AXP20X_ADC_RATE,
    > + AXP20X_ADC_RATE_MASK,
    > + info->data->adc_rate(100));
    >
    > ret = iio_map_array_register(indio_dev, info->data->maps);
    > if (ret < 0) {
    >

    --
    Quentin Schulz, Free Electrons
    Embedded Linux and Kernel engineering
    http://free-electrons.com

    \
     
     \ /
      Last update: 2017-09-25 09:20    [W:4.165 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site