mbox series

[v4,0/3] iio: adc: add support for pac1921

Message ID 20240724-iio-pac1921-v4-0-723698e903a3@gmail.com (mailing list archive)
Headers show
Series iio: adc: add support for pac1921 | expand

Message

Matteo Martelli July 24, 2024, 9:08 a.m. UTC
Add iio driver and DT binding for the Microchip PAC1921 Current/Power
monitor.

Implemented most of the features with few limitations listed in the
driver commit message.

Tested with a Pine64 host board connected to a PAC1921 click board [1]
via I2C. The PAC1921 click board embeds the Microchip PAC1921 device
and a 10 mOhms shunt resistor. The PAC1921 datasheet is at [2].

[1]: https://www.mikroe.com/pac1921-click
[2]: https://ww1.microchip.com/downloads/en/DeviceDoc/PAC1921-Data-Sheet-DS20005293E.pdf

Signed-off-by: Matteo Martelli <matteomartelli3@gmail.com>
---
Changes in v4:
- DT binding: rename microchip,read-int-gpios to read-integrate-gpios
- Fix non constant ext info initializers, reported by kernel test robot,
  ref: https://lore.kernel.org/oe-kbuild-all/202407240123.tjObpf49-lkp@intel.com/
- Link to v3: https://lore.kernel.org/r/20240722-iio-pac1921-v3-0-05dc9916cb33@gmail.com

Changes in v3:
- Add shunt_resistor attribute for current channel
- Generalize shunt_resistor ABI
- Remove specific pac1921 ABI
- Remove resolution and filters controls
- Use scale attributes instead of hwgain attributes to control gains
- Replace integration_num_samples and integration_time attributes with
  oversample_ratio and sampling_frequency
- Consider time to enter integration mode before marking data available
- Add controls for overflow events
- Add select fields in Kconfig
- Refactoring based on Jonathan feedback from v2
- Link to v2: https://lore.kernel.org/r/20240704-iio-pac1921-v2-0-0deb95a48409@gmail.com

Changes in v2:
- DT binding: remove vendor specific gains, add vdd-supply, add
  read/int gpio and fix properties order in example
- Remove parsing of gains from DT
- Handle vdd regulator
- Fix return value in filter_en write handler
- Link to v1: https://lore.kernel.org/r/20240703-iio-pac1921-v1-0-54c47d9180b6@gmail.com

---
Matteo Martelli (3):
      dt-bindings: iio: adc: add binding for pac1921
      iio: ABI: generalize shunt_resistor attribute
      iio: adc: add support for pac1921

 Documentation/ABI/testing/sysfs-bus-iio            |    8 +
 .../ABI/testing/sysfs-bus-iio-adc-max9611          |   17 -
 Documentation/ABI/testing/sysfs-bus-iio-ina2xx-adc |    9 -
 .../bindings/iio/adc/microchip,pac1921.yaml        |   71 ++
 MAINTAINERS                                        |    7 +
 drivers/iio/adc/Kconfig                            |   13 +
 drivers/iio/adc/Makefile                           |    1 +
 drivers/iio/adc/pac1921.c                          | 1263 ++++++++++++++++++++
 8 files changed, 1363 insertions(+), 26 deletions(-)
---
base-commit: 1ebab783647a9e3bf357002d5c4ff060c8474a0a
change-id: 20240606-iio-pac1921-77fa0fa3ac11

Best regards,