From: Jinseob Kim <kimjinseob88@gmail.com>
To: Jonathan Cameron <jic23@kernel.org>, linux-iio@vger.kernel.org
Cc: "David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH RFC 0/3] iio: add Open Sensor Fusion UART driver
Date: Wed, 20 May 2026 16:28:40 +0900 [thread overview]
Message-ID: <20260520072843.3593-1-kimjinseob88@gmail.com> (raw)
Open Sensor Fusion is a UART-attached sensor aggregation device. The current
prototype sends OSF protocol v0 frames over a host UART link. This RFC adds the
first Linux IIO receive path for that UART stream.
The first transport is serdev UART. USB, real sensor reads, fusion output, and
production timestamp correlation are intentionally left out of this series.
The driver code is kept in one patch for the first RFC to avoid intermediate
non-buildable states. The internal files are still split by protocol, stream,
core, transport, and IIO code.
Current validation coverage:
- STM32F405 test firmware OSF protocol v0 UART stream at 115200 8N1.
- Raspberry Pi 4 serdev probe and receive path to osf_core_receive_frame().
- CAPABILITY_REPORT-driven IIO device registration.
- IIO read_raw for accel, gyro, magn, and temp samples.
- IIO software kfifo buffer userspace read.
- scan decode helper for buffered samples.
- dt_binding_check pass for the binding.
- checkpatch.pl --strict with ERROR 0, WARNING 0, CHECK 0.
- W=1 source compile/link phase clean in the staging kernel tree.
- modpost unresolved symbol warnings came from the staging tree missing
Module.symvers.
Known limits:
- The sample source is synthetic stream data, not real ICM-42688-P or MMC5983MA
sensor reads.
- The IIO timestamp is Linux host receive time. Device time correlation is still
open.
- Runtime capability removal is not implemented.
- The staging layout uses drivers/iio/opensensorfusion/. The final directory is
open for review.
Review feedback wanted on the IIO device layout, timestamp policy, binding
shape, and driver directory.
Jinseob Kim (3):
dt-bindings: iio: imu: add Open Sensor Fusion UART binding
iio: osf: add Open Sensor Fusion UART IIO driver
MAINTAINERS: add Open Sensor Fusion IIO driver entry
.../iio/imu/opensensorfusion,osf-uart.yaml | 33 ++
MAINTAINERS | 7 +
drivers/iio/Kconfig | 1 +
drivers/iio/Makefile | 1 +
drivers/iio/opensensorfusion/Kconfig | 15 +
drivers/iio/opensensorfusion/Makefile | 6 +
drivers/iio/opensensorfusion/osf_core.c | 334 +++++++++++++++++
drivers/iio/opensensorfusion/osf_core.h | 81 ++++
drivers/iio/opensensorfusion/osf_iio.c | 268 +++++++++++++
drivers/iio/opensensorfusion/osf_iio.h | 21 ++
drivers/iio/opensensorfusion/osf_protocol.c | 234 ++++++++++++
drivers/iio/opensensorfusion/osf_protocol.h | 100 +++++
drivers/iio/opensensorfusion/osf_serdev.c | 354 ++++++++++++++++++
drivers/iio/opensensorfusion/osf_serdev.h | 8 +
drivers/iio/opensensorfusion/osf_stream.c | 212 +++++++++++
drivers/iio/opensensorfusion/osf_stream.h | 31 ++
16 files changed, 1706 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/imu/opensensorfusion,osf-uart.yaml
create mode 100644 drivers/iio/opensensorfusion/Kconfig
create mode 100644 drivers/iio/opensensorfusion/Makefile
create mode 100644 drivers/iio/opensensorfusion/osf_core.c
create mode 100644 drivers/iio/opensensorfusion/osf_core.h
create mode 100644 drivers/iio/opensensorfusion/osf_iio.c
create mode 100644 drivers/iio/opensensorfusion/osf_iio.h
create mode 100644 drivers/iio/opensensorfusion/osf_protocol.c
create mode 100644 drivers/iio/opensensorfusion/osf_protocol.h
create mode 100644 drivers/iio/opensensorfusion/osf_serdev.c
create mode 100644 drivers/iio/opensensorfusion/osf_serdev.h
create mode 100644 drivers/iio/opensensorfusion/osf_stream.c
create mode 100644 drivers/iio/opensensorfusion/osf_stream.h
--
2.43.0
next reply other threads:[~2026-05-20 7:29 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-20 7:28 Jinseob Kim [this message]
2026-05-20 7:28 ` [PATCH RFC 1/3] dt-bindings: iio: imu: add Open Sensor Fusion UART binding Jinseob Kim
2026-05-20 7:28 ` [PATCH RFC 2/3] iio: osf: add Open Sensor Fusion UART IIO driver Jinseob Kim
2026-05-20 8:04 ` sashiko-bot
2026-05-20 7:28 ` [PATCH RFC 3/3] MAINTAINERS: add Open Sensor Fusion IIO driver entry Jinseob Kim
2026-05-20 7:59 ` Joshua Crofts
[not found] ` <CALMSewJinjbnHT_sOgWmHVeThv3su_E6fioyAjEWKzf7uROc2Q@mail.gmail.com>
2026-05-20 8:14 ` j k
2026-05-20 8:22 ` Joshua Crofts
2026-05-20 11:14 ` Jonathan Cameron
2026-05-20 11:55 ` [PATCH RFC 0/3] iio: add Open Sensor Fusion UART driver Andy Shevchenko
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=20260520072843.3593-1-kimjinseob88@gmail.com \
--to=kimjinseob88@gmail.com \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=robh@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox