From: Jonathan Cameron <jic23@kernel.org>
To: Shrikant <raskar.shree97@gmail.com>
Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org,
matt@ranostay.sg, skhan@linuxfoundation.org,
david.hunter.linux@gmail.com, linux-iio@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-kernel-mentees@lists.linux.dev
Subject: Re: [PATCH 1/2] dt-bindings: iio: max30100: Add pulse-width property
Date: Sun, 12 Oct 2025 15:11:30 +0100 [thread overview]
Message-ID: <20251012151130.797450e3@jic23-huawei> (raw)
In-Reply-To: <CAHc1_P7MU=BYf_8sbZqikpXpfuvAtLNJ2E_hmi-50ohoh+gQcg@mail.gmail.com>
On Mon, 6 Oct 2025 08:34:03 +0530
Shrikant <raskar.shree97@gmail.com> wrote:
> On Sat, Oct 4, 2025 at 6:42 PM Jonathan Cameron <jic23@kernel.org> wrote:
> >
> > On Sat, 4 Oct 2025 07:26:22 +0530
> > Shrikant Raskar <raskar.shree97@gmail.com> wrote:
> >
> > > The MAX30100 sensor supports multiple LED pulse widths (200us, 400us,
> > > 800us, 1600us). These settings affect measurement resolution and power
> > > consumption. Until now, the driver always defaulted to 1600us.
> > >
> > > Introduce a new device tree property `maxim,pulse-width` that allows
> > > users to select the desired pulse width in microseconds from device
> > > tree.
> > >
> > > Valid values are: 200, 400, 800, 1600.
> > >
> > > This prepares for driver changes that read this property and configure
> > > the SPO2 register accordingly.
> > >
> > > Signed-off-by: Shrikant Raskar <raskar.shree97@gmail.com>
> > Hi Shrikant,
> >
> > Explain why this is in some way related to characteristics of how the
> > system containing this chip is built (wiring, lenses etc). Otherwise
> > this might instead be something that should be controlled from userspace
> > not firmware.
> >
> > Also, give a little more on why we care about controlling it at all.
> > Is there a usecase where power use of this chip matters? Mostly I'd expect
> > it to be in measurement equipment with relatively short measuring periods.
> >
> > Jonathan
> Hi Jonathan,
>
> Thanks for the feedback.
>
> The pulse width configuration is indeed dependent on the hardware integration
> of the MAX30100. It affects how much optical energy the LEDs emit per sample,
> which in turn depends on physical factors 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 skin/contact surface
>
> For example:
> - A smartwatch/wearable ring with a thin glass window can operate
> with 200–400 µs pulses to
> save power, while
> - A medical-grade pulse oximeter or a sensor mounted behind a thicker
> protective layer may require 800–1600 µs for reliable signal amplitude.
>
> I believe it would be appropriate to describe these fixed,
> board-specific characteristics in the Device Tree,
> since they are determined by the hardware design rather than being
> runtime or user-controlled parameters.
>
> Would it be okay if I send v2 of the patch with the above explanation
> included in the commit message?
Hi Shrikant,
I'd have this excellent detail + examples summarised in the patch description
and also a small amount of description in the actual binding even if that just says
something like
Description:
Pulse width in... . Appropriate pulse width is dependant on factors
such as optical window absorption, distances and expected reflectivity
of skin / contact surface.
That's just a quick mash up of what you have above, feel free to not use this
particular text!
The inclusion of target surface reflectivity in there makes me thing that
for some applications we may also need userspace tweaking or some algorithmic
way to increase or decrease the value according to skin characteristics. However
I guess maybe it isn't that sensitive.
Jonathan
>
> Thanks and regards,
> Shrikant
next prev parent reply other threads:[~2025-10-12 14:11 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-04 1:56 [PATCH 0/2] iio: health: max30100: Add DT pulse-width support Shrikant Raskar
2025-10-04 1:56 ` [PATCH 1/2] dt-bindings: iio: max30100: Add pulse-width property Shrikant Raskar
2025-10-04 3:22 ` Bhanu Seshu Kumar Valluri
2025-10-04 6:19 ` Shrikant
2025-10-04 13:12 ` Jonathan Cameron
2025-10-06 3:04 ` Shrikant
2025-10-12 14:11 ` Jonathan Cameron [this message]
2025-10-12 16:52 ` Shrikant
2025-10-06 14:40 ` Krzysztof Kozlowski
2025-10-04 1:56 ` [PATCH 2/2] iio: health: max30100: Add pulse-width configuration via DT Shrikant Raskar
2025-10-04 13:16 ` Jonathan Cameron
2025-10-09 13:28 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251012151130.797450e3@jic23-huawei \
--to=jic23@kernel.org \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=david.hunter.linux@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=krzk+dt@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel-mentees@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=matt@ranostay.sg \
--cc=nuno.sa@analog.com \
--cc=raskar.shree97@gmail.com \
--cc=robh@kernel.org \
--cc=skhan@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).