2020-05-16 02:28:57

by Jonathan Bakker

[permalink] [raw]
Subject: [PATCH 0/2] iio: adc: Add a current from voltage driver

In the discussion around adding the GP2A002 light driver, there came
up the question of what to do when a system emulates a current ADC
by using a voltage ADC and a resistor. Rather than adding it on
a per-driver basis, it was suggested(1) to add a minimal IIO driver
to support this situation.

The new driver is fairly simple - it simply takes a voltage ADC and
a resistor value in ohms exposed as the scale and outputs a current.

It has been tested on a first-gen Galaxy S device which has the above
mentioned GP2A002 chip connected to the voltage ADC resistor complex.

1) https://lore.kernel.org/linux-iio/20200202150843.762c6897@archlinux/

Jonathan Bakker (2):
dt-bindings: iio: adc: Add binding for current-from-voltage
iio: adc: Add current-from-voltage driver

.../iio/adc/linux,current-from-voltage.yaml | 47 +++++++
MAINTAINERS | 8 ++
drivers/iio/adc/Kconfig | 9 ++
drivers/iio/adc/Makefile | 1 +
drivers/iio/adc/current-from-voltage.c | 123 ++++++++++++++++++
5 files changed, 188 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/linux,current-from-voltage.yaml
create mode 100644 drivers/iio/adc/current-from-voltage.c

--
2.20.1


2020-05-16 06:32:49

by Lars-Peter Clausen

[permalink] [raw]
Subject: Re: [PATCH 0/2] iio: adc: Add a current from voltage driver

On 5/16/20 4:26 AM, Jonathan Bakker wrote:
> In the discussion around adding the GP2A002 light driver, there came
> up the question of what to do when a system emulates a current ADC
> by using a voltage ADC and a resistor. Rather than adding it on
> a per-driver basis, it was suggested(1) to add a minimal IIO driver
> to support this situation.
>
> The new driver is fairly simple - it simply takes a voltage ADC and
> a resistor value in ohms exposed as the scale and outputs a current.
>
> It has been tested on a first-gen Galaxy S device which has the above
> mentioned GP2A002 chip connected to the voltage ADC resistor complex.
>
> 1) https://lore.kernel.org/linux-iio/20200202150843.762c6897@archlinux/

Hi,

There is afe/iio-rescale.c, which I think already implements this
functionality.

- Lars


2020-05-16 15:05:42

by Jonathan Bakker

[permalink] [raw]
Subject: Re: [PATCH 0/2] iio: adc: Add a current from voltage driver

Oops, sorry about that, you're absolutely right. The current-sense-shunt part
of iio-rescale is exactly what I was looking for.

Thanks,
Jonathan

On 2020-05-15 11:28 p.m., Lars-Peter Clausen wrote:
> On 5/16/20 4:26 AM, Jonathan Bakker wrote:
>> In the discussion around adding the GP2A002 light driver, there came
>> up the question of what to do when a system emulates a current ADC
>> by using a voltage ADC and a resistor.  Rather than adding it on
>> a per-driver basis, it was suggested(1) to add a minimal IIO driver
>> to support this situation.
>>
>> The new driver is fairly simple - it simply takes a voltage ADC and
>> a resistor value in ohms exposed as the scale and outputs a current.
>>
>> It has been tested on a first-gen Galaxy S device which has the above
>> mentioned GP2A002 chip connected to the voltage ADC resistor complex.
>>
>> 1) https://lore.kernel.org/linux-iio/20200202150843.762c6897@archlinux/
>
> Hi,
>
> There is afe/iio-rescale.c, which I think already implements this functionality.
>
> - Lars
>
>