From: Ahmad Byagowi <ahmadexp@gmail.com>
To: netdev@vger.kernel.org
Cc: Lee Jones <lee@kernel.org>, Pavel Machek <pavel@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Nam Tran <trannamatk@gmail.com>, Kees Cook <kees@kernel.org>,
"Gustavo A. R. Silva" <gustavoars@kernel.org>,
Peter Rosin <peda@lysator.liu.se>,
Andi Shyti <andi.shyti@kernel.org>,
Richard Cochran <richardcochran@gmail.com>,
Vadim Fedorenko <vadim.fedorenko@linux.dev>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
linux-leds@vger.kernel.org, devicetree@vger.kernel.org,
linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-hardening@vger.kernel.org
Subject: [PATCH net-next v3 0/5] ptp: ocp: Add R4006 and V9 I2C peripheral support
Date: Mon, 10 Aug 2026 22:02:39 -0700 [thread overview]
Message-ID: <cover.1786423898.git.ahmadexp@gmail.com> (raw)
Add the generic LED and I2C-mux support needed to describe peripherals
behind the FPGA I2C controller, then use it to instantiate the R4006 and
Time Card V9 board topologies from software nodes.
Patches 1 and 2 add the binding and LED-class driver for the Lumissil
IS32FL3207. The driver supports individual and multicolor LEDs, enforces
per-output current limits, and keeps the controller shut down until every
channel has been configured.
Patch 3 propagates software-node channel descriptions to adapters created
by i2c-mux, including a software node attached behind a primary ACPI node.
Patch 4 adds the R4006 profile for the temperature, humidity, pressure,
GNSS LED, and four SMA LEDs. The BNO08x channel remains empty because no
upstream driver binds that device. Profile selection is fail-closed and
requires a supported PCI device plus a printable fixed-width EEPROM ID
with valid padding and an R4006 prefix.
Patch 5 adds the V9 BME280, BNO055, two GNSS LEDs, and four SMA LEDs. It
uses the exact EEPROM ID "TIMECARD-V9" because earlier revisions expose
the same detectable I2C devices with different LED routing.
The prerequisite patches touch DT bindings, LED, and I2C code. Reviews or
acks from those maintainers are requested so the complete dependency
series can be carried through net-next.
Hardware and build validation:
- Exercised the R4006 LED routing on hardware.
- Checked the V9 controller address, 4.7 kohm RISET, sequential RGB
routing, and second GNSS LED against the V9 schematic.
- Ran dt_binding_check for issi,is32fl3207.yaml.
- Built i2c-mux.o, leds-is32fl3207.o, and ptp_ocp.o with W=1 for x86-64
and arm64.
- Ran strict checkpatch with an 80-column limit on all five patches.
- Applied the generated mailbox to the stated base and compared the
resulting tree with the source branch.
Changes since RFC v2:
- Drop the board-ID over-read fix, now upstream as 6b69f2ef10cd
("ptp: ocp: Fix board ID over-read").
- Fold non-mutating fixed-width ID validation into the R4006 topology
patch for fail-closed profile selection.
- Clarify zero-based LED outputs and correct binding color, naming, and
nonempty-group constraints.
- Use fail-safe LED reset and enable sequencing, serialize scaling
writes, validate node structure, and use the driver-specific subject
prefix and private-data variable name.
- Preserve secondary software nodes behind ACPI primary firmware nodes
and balance their adapter lifetime.
- Validate profile indices and make mux channel, RISET, and current
limits explicit per profile.
- Gate topology work before EEPROM access, avoid core device locks around
client probing, and continue low-rate recovery after retry exhaustion.
- Confirm the V9 address, RISET, RGB order, and second GNSS LED from the
schematic.
- Resolve every 80-column warning reported for RFC v2.
RFC v2:
https://lore.kernel.org/r/20260803205011.1249-1-ahmadexp@gmail.com/
Ahmad Byagowi (5):
dt-bindings: leds: Add IS32FL3207 controller
leds: is32fl3207: Add controller driver
i2c: mux: Propagate software nodes to channel adapters
ptp: ocp: Add R4006 I2C peripheral topology
ptp: ocp: Add Time Card V9 I2C peripheral topology
.../bindings/leds/issi,is32fl3207.yaml | 251 +++++
MAINTAINERS | 7 +
drivers/i2c/i2c-mux.c | 69 +-
drivers/leds/rgb/Kconfig | 11 +
drivers/leds/rgb/Makefile | 1 +
drivers/leds/rgb/leds-is32fl3207.c | 687 ++++++++++++++
drivers/ptp/ptp_ocp.c | 881 +++++++++++++++++-
7 files changed, 1859 insertions(+), 48 deletions(-)
create mode 100644 Documentation/devicetree/bindings/leds/issi,is32fl3207.yaml
create mode 100644 drivers/leds/rgb/leds-is32fl3207.c
base-commit: d67e5dbda22604d0fcde32fce58c65f88676e676
--
2.50.1 (Apple Git-155)
next reply other threads:[~2026-08-11 5:02 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-11 5:02 Ahmad Byagowi [this message]
2026-08-11 5:02 ` [PATCH net-next v3 1/5] dt-bindings: leds: Add IS32FL3207 controller Ahmad Byagowi
2026-08-11 5:02 ` [PATCH net-next v3 2/5] leds: is32fl3207: Add controller driver Ahmad Byagowi
2026-08-11 5:02 ` [PATCH net-next v3 3/5] i2c: mux: Propagate software nodes to channel adapters Ahmad Byagowi
2026-08-11 5:02 ` [PATCH net-next v3 4/5] ptp: ocp: Add R4006 I2C peripheral topology Ahmad Byagowi
2026-08-11 5:02 ` [PATCH net-next v3 5/5] ptp: ocp: Add Time Card V9 " Ahmad Byagowi
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=cover.1786423898.git.ahmadexp@gmail.com \
--to=ahmadexp@gmail.com \
--cc=andi.shyti@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=gustavoars@kernel.org \
--cc=kees@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=lee@kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pavel@kernel.org \
--cc=peda@lysator.liu.se \
--cc=richardcochran@gmail.com \
--cc=robh@kernel.org \
--cc=trannamatk@gmail.com \
--cc=vadim.fedorenko@linux.dev \
/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.