All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rillian Grant <rillian.grant@gmail.com>
To: lee@kernel.org, pavel@kernel.org, linux-leds@vger.kernel.org
Cc: Rillian Grant <rillian.grant@gmail.com>
Subject: [RFC PATCH 0/2] leds: flash: LM3643 dual LED flash driver
Date: Fri, 21 Aug 2026 09:36:04 +0100	[thread overview]
Message-ID: <20260821083620.68324-1-rillian.grant@gmail.com> (raw)

This series adds a flash LED driver for the Texas Instruments
LM3643. I wrote it to support the Windows Hello NIR illuminator on my
ThinkPad X9-15 Gen 1, which appears to have a single LED connected to
both current sources. All non-error code paths have been tested on my
device.

This device is enumerated by ACPI (HID TXNW3643) as an I2C client with
no _DSD. The driver, following the leds/flash convention, sees no LED
child nodes and fails to probe. For testing I have been using an SSDT
overlay.

On Windows, Lenovo distributes an LM3643 driver authored by Intel. Its
inf file matches on the HID alone and contains a default intensity for
each LED, 100% for LED1 and 60% for LED2, which suggests the driver
applies a static configuration to any enumerated LM3643.

I am sending this RFC to ask how best to supply this default static
configuration. The options I can see are:

1. A DMI-matched table, similar to touchscreen_dmi.c, that attaches
   LED child nodes on verified boards. I haven't found any existing
   examples of this being done for LED child nodes.
2. A generic fallback in the driver exposing both current sources as
   independent LEDs. However this would apply to all matches without
   a firmware description.

I'd appreciate any guidance on the preferred approach.

Rillian Grant (2):
  dt-bindings: leds: Document TI LM3643 dual LED flash driver
  leds: flash: Add support for the TI LM3643 dual LED flash driver

 .../devicetree/bindings/leds/ti,lm3643.yaml   | 126 +++
 MAINTAINERS                                   |   7 +
 drivers/leds/flash/Kconfig                    |  12 +
 drivers/leds/flash/Makefile                   |   1 +
 drivers/leds/flash/leds-lm3643.c              | 775 ++++++++++++++++++
 5 files changed, 921 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/leds/ti,lm3643.yaml
 create mode 100644 drivers/leds/flash/leds-lm3643.c


base-commit: a4ff2be345d0abc943da8dd8da98151843b750dc
-- 
2.55.0


             reply	other threads:[~2026-08-21  8:37 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-21  8:36 Rillian Grant [this message]
2026-08-21  8:36 ` [RFC PATCH 1/2] dt-bindings: leds: Document TI LM3643 dual LED flash driver Rillian Grant
2026-08-21  8:44   ` sashiko-bot
2026-08-21  8:36 ` [RFC PATCH 2/2] leds: flash: Add support for the " Rillian Grant
2026-08-21  8:46   ` sashiko-bot

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=20260821083620.68324-1-rillian.grant@gmail.com \
    --to=rillian.grant@gmail.com \
    --cc=lee@kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=pavel@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.