[PATCH v2 0/2] add support for Microchip PAC1711 Power Monitor
Ariana Lazar <[email protected]>
| Newsgroups | org.kernel.vger.linux-iio,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
The PAC1711, PAC1721, PAC1811 and PAC1821 products are single-channel power monitors with accumulator. The PAC1711 and PAC1721 devices use 12-bit resolution for voltage and current measurements and 24 bits for power calculations, while PAC1811 and PAC1821 have 16-bit resolution and use 32 bits for power calculations. The 56-bit accumulator register accumulates power (energy) or current (Coulomb counter). PAC1711 and PAC1811 measure up to 42V Full-Scale Range, respectively 9V for PAC1721 and PAC1821. Signed-off-by: Ariana Lazar <[email protected]> --- Changes in v2: - fix review comments device tree binding: add PAC1721, PAC1811 and PAC1821 part numbers add Vbus/Vsense input ranges in attribute definition change accumulation-mode from int to string type remove size and address cells correct interrupts definition and add attributes for the two alerts, microchip,gpio0-mode and microchip,gpio1-mode remove microchip,gpio attribute remove "vbus" accumulation mode - fix review comments driver: add PAC1721, PAC1811 and PAC1821 part numbers run pahole on reg_data and pac1711_chip_info structs remove average registers - VBUS_AVG and VSENSE_AVG add PAC1721, PAC1811, PAC1821 to features/compatible add missing headers remove rarely used defines like PAC1711_POWER_24B_RES and use the numerical value inline instead use ARRAY_SIZE() instead of define for the number of accumulator related attributes add explanation for bytes length defines use spacing convention space after { and before } remove pac1711_shift_map_tbl in order to use just pac1711_samp_rate_map_tbl and an index saved in struct use read_avail() for sampling_rate change mutex comment in reg_data use fsleep instead of usleep use a local __be16 variable in endianess transformations add missing error returns after dev_err add info_mask_shared_by_all for sampling_frequency use dev_info instead of dev_err_probe in chip_identify generalize input setup functions into one remove device_property_present rename pac1711_single_channel into pac1711_chan_spec rename pac1711_of_parse_channel_config into pac1711_parse_fw remove unneccessary comments in probe define in_shunt_resistor as ext_info instead of custom attribute use calculations only with 16-bit resolution instead of multiple shifting (12-bit registers are left shifted) add scale computations based on new voltage of 9V for PAC1721/PAC1821 v1: - first version committed to review - Link to v1: https://lore.kernel.org/r/[email protected] --- Ariana Lazar (2): dt-bindings: iio: adc: add support for PAC1711 iio: adc: add support for PAC1711 .../ABI/testing/sysfs-bus-iio-adc-pac1711 | 24 + .../bindings/iio/adc/microchip,pac1711.yaml | 209 ++++ MAINTAINERS | 8 + drivers/iio/adc/Kconfig | 11 + drivers/iio/adc/Makefile | 1 + drivers/iio/adc/pac1711.c | 1274 ++++++++++++++++++++ 6 files changed, 1527 insertions(+) --- base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494 change-id: 20250901-pac1711-d3bacda400fd Best regards, -- Ariana Lazar <[email protected]>