|
|
Log in / Subscribe / Register

iio: health: add MAX86150 ECG and PPG biosensor driver

From:  Md Shofiqul Islam <shofiqtest-AT-gmail.com>
To:  linux-iio-AT-vger.kernel.org
Subject:  [PATCH v6 0/3] iio: health: add MAX86150 ECG and PPG biosensor driver
Date:  Mon, 06 Jul 2026 14:22:51 +0300
Message-ID:  <20260706112254.1262002-1-shofiqtest@gmail.com>
Cc:  jic23-AT-kernel.org, lars-AT-metafoo.de, linux-kernel-AT-vger.kernel.org, krzysztof.kozlowski-AT-linaro.org, Md Shofiqul Islam <shofiqtest-AT-gmail.com>
Archive-link:  Article

The MAX86150 (Analog Devices / Maxim) is an integrated biosensor
combining two photoplethysmography (PPG) channels (Red LED and IR LED)
and one electrocardiogram (ECG) channel. Samples are buffered in a
32-entry hardware FIFO with a configurable almost-full interrupt.

This series adds a DT binding schema, an IIO triggered-buffer driver,
and a MAINTAINERS entry.

Changes in v6:
- dt-bindings: remove "SoC" from description (Jonathan Cameron)
- dt-bindings: spell out PPG and ECG acronyms in full before
  abbreviating them (Jonathan Cameron)
- dt-bindings: remove the I2C 400 kHz sentence from description;
  keep FIFO/interrupt mention (Jonathan Cameron)
- dt-bindings: simplify interrupt description to FIFO almost-full only

Changes in v5:
- dt-bindings: remove avdd-supply from required[] (Krzysztof Kozlowski)
- dt-bindings: rename leds-supply to vled-supply (Krzysztof Kozlowski)
- dt-bindings: remove literal block scalar from interrupts description
  (Krzysztof Kozlowski)
- dt-bindings: use IRQ_TYPE_LEVEL_LOW in example (Sashiko AI review)

Changes in v4:
- driver: fix buffer overflow: buf[4] -> buf[6] for full sample
- driver: use iio_device_claim_direct() for raw reads
- driver: add OVF_COUNTER FIFO-full detection
- driver: fix active_scan_mask channel packing
- driver: remove IRQF_ONESHOT (threaded IRQ already implies it)
- driver: add set_trigger_state callback
- driver: use IIO_CPU endianness for timestamp
- driver: use devm for powerdown on remove
- driver: enable regulator before first access
- driver: use devm action for iio_trigger_put

Md Shofiqul Islam (3):
  dt-bindings: iio: health: add adi,max86150
  iio: health: add MAX86150 ECG and PPG biosensor driver
  MAINTAINERS: add entry for MAX86150 IIO health driver

 .../bindings/iio/health/adi,max86150.yaml     |  70 ++
 MAINTAINERS                                   |   7 +
 drivers/iio/health/Kconfig                    |  23 +
 drivers/iio/health/Makefile                   |   1 +
 drivers/iio/health/max86150.c                 | 725 ++++++++++++++++++
 5 files changed, 826 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/health/adi,max86150.yaml
 create mode 100644 drivers/iio/health/max86150.c

-- 
2.51.1




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds