Files
linux/Documentation/devicetree/bindings/iio/health/maxim,max30100.yaml
Shrikant Raskar e7966a4953 dt-bindings: iio: health: max30100: Add LED pulse-width property
The LED pulse width on the MAX30100 sensor determines how long the
IR/Red LEDs are driven during each sample, directly affecting the
emitted optical energy and hence the received signal amplitude.

This parameter is highly dependent on the mechanical and optical
integration of the sensor, such as:
- The type and thickness of the optical window or lens covering
  the sensor.
- The distance between the LED and photodiode.
- The reflectivity of the target surface.

For example:
- A smartwatch or wearable ring with a thin glass window can operate
  with shorter pulses (200-400 us) to save power.
- A medical-grade pulse oximeter or sensor mounted behind a thicker
  protective layer may require longer pulses (800-1600 us) for
  reliable signal amplitude.

Because this configuration is determined by hardware design rather than
by runtime conditions, it is appropriate to describe it in the DT.

If not specified, the driver defaults to 1600 us to maintain
existing behavior.

Tested on: Raspberry Pi 3B + MAX30100 breakout board.

Signed-off-by: Shrikant Raskar <raskar.shree97@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2025-10-19 11:59:22 +01:00

60 lines
1.4 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/health/maxim,max30100.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Maxim MAX30100 heart rate and pulse oximeter sensor
maintainers:
- Matt Ranostay <matt.ranostay@konsulko.com>
properties:
compatible:
const: maxim,max30100
reg:
maxItems: 1
interrupts:
maxItems: 1
description: Connected to ADC_RDY pin.
maxim,led-current-microamp:
minItems: 2
maxItems: 2
description: |
LED current whilst the engine is running. First indexed value is
the configuration for the RED LED, and second value is for the IR LED.
maxim,pulse-width-us:
description: |
LED pulse width in microseconds. Appropriate pulse width depends on
factors such as optical window absorption, LED-to-sensor distance,
and expected reflectivity of the skin or contact surface.
enum: [200, 400, 800, 1600]
default: 1600
additionalProperties: false
required:
- compatible
- reg
- interrupts
examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
heart-rate@57 {
compatible = "maxim,max30100";
reg = <0x57>;
maxim,led-current-microamp = <24000 50000>;
interrupt-parent = <&gpio1>;
interrupts = <16 2>;
};
};
...