From: MD Danish Anwar <danishanwar@ti.com>
To: "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Simon Horman <horms@kernel.org>, Jonathan Corbet <corbet@lwn.net>,
Nishanth Menon <nm@ti.com>, Vignesh Raghavendra <vigneshr@ti.com>,
Tero Kristo <kristo@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Andrew Lunn <andrew+netdev@lunn.ch>,
MD Danish Anwar <danishanwar@ti.com>,
Mengyuan Lou <mengyuanlou@net-swift.com>,
Lei Wei <quic_leiwei@quicinc.com>, Xin Guo <guoxin09@huawei.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Fan Gong <gongfan1@huawei.com>,
Lorenzo Bianconi <lorenzo@kernel.org>,
Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com>,
Lukas Bulwahn <lukas.bulwahn@redhat.com>,
Geert Uytterhoeven <geert+renesas@glider.be>
Cc: <netdev@vger.kernel.org>, <linux-doc@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<devicetree@vger.kernel.org>
Subject: [PATCH net-next v4 0/7] Add RPMSG Ethernet Driver
Date: Thu, 11 Sep 2025 17:06:05 +0530 [thread overview]
Message-ID: <20250911113612.2598643-1-danishanwar@ti.com> (raw)
This patch series introduces the RPMSG Ethernet driver, which provides a
virtual Ethernet interface for communication between a host processor and
a remote processor using the RPMSG framework. The driver enables
Ethernet-like packet transmission and reception over shared memory,
facilitating inter-core communication in systems with heterogeneous
processors.
Key features of this driver:
1. Virtual Ethernet interface using RPMSG framework
2. Shared memory-based packet transmission and reception
3. Support for multicast address filtering
4. Dynamic MAC address assignment
5. NAPI support for efficient packet processing
6. State machine for managing interface states
This driver is designed to be generic and vendor-agnostic. Vendors can
develop firmware for the remote processor to make it compatible with this
driver by adhering to the shared memory layout and communication protocol
described in the documentation.
This patch series has been tested on a TI AM64xx platform with a
compatible remote processor firmware. Feedback and suggestions for
improvement are welcome.
Changes from v3 to v4:
- Addressed comments from Parthiban Veerasooran regarding return values in
patch 4/7
- Added "depends on REMOTEPROC" in Kconfig entry for RPMSG_ETH as it uses a
symbol from REMOTEPROC driver.
Changes from v2 to v3:
- Removed the binding patches as suggested by Krzysztof Kozlowski <krzk@kernel.org>
- Dropped the rpmsg-eth node. The shared memory region is directly added to the
"memory-region" in rproc device.
- Added #include <linux/io.h> header for memory mapping operations
- Added vendor-specific configuration through rpmsg_eth_data structure
- Added shared memory region index support with shm_region_index parameter
- Changed RPMSG channel name from generic "shm-eth" to vendor-specific "ti.shm-eth"
- Fixed format string warning using %zu instead of %lu for size_t type
- Updated Documentation to include shm_region_index
- Added MAINTAINERS entry for the driver
v3 https://lore.kernel.org/all/20250908090746.862407-1-danishanwar@ti.com/
v2 https://lore.kernel.org/all/20250902090746.3221225-1-danishanwar@ti.com/
v1 https://lore.kernel.org/all/20250723080322.3047826-1-danishanwar@ti.com/
MD Danish Anwar (7):
net: rpmsg-eth: Add Documentation for RPMSG-ETH Driver
net: rpmsg-eth: Add basic rpmsg skeleton
net: rpmsg-eth: Register device as netdev
net: rpmsg-eth: Add netdev ops
net: rpmsg-eth: Add support for multicast filtering
MAINTAINERS: Add entry for RPMSG Ethernet driver
arch: arm64: dts: k3-am64*: Add shared memory region
.../device_drivers/ethernet/index.rst | 1 +
.../device_drivers/ethernet/rpmsg_eth.rst | 424 ++++++++++++
MAINTAINERS | 6 +
arch/arm64/boot/dts/ti/k3-am642-evm.dts | 11 +-
drivers/net/ethernet/Kconfig | 11 +
drivers/net/ethernet/Makefile | 1 +
drivers/net/ethernet/rpmsg_eth.c | 653 ++++++++++++++++++
drivers/net/ethernet/rpmsg_eth.h | 294 ++++++++
8 files changed, 1399 insertions(+), 2 deletions(-)
create mode 100644 Documentation/networking/device_drivers/ethernet/rpmsg_eth.rst
create mode 100644 drivers/net/ethernet/rpmsg_eth.c
create mode 100644 drivers/net/ethernet/rpmsg_eth.h
base-commit: 1f24a240974589ce42f70502ccb3ff3f5189d69a
--
2.34.1
next reply other threads:[~2025-09-11 11:37 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-11 11:36 MD Danish Anwar [this message]
2025-09-11 11:36 ` [PATCH net-next v4 1/7] net: rpmsg-eth: Add Documentation for RPMSG-ETH Driver MD Danish Anwar
2025-09-11 11:36 ` [PATCH net-next v4 2/7] net: rpmsg-eth: Add basic rpmsg skeleton MD Danish Anwar
2025-09-11 11:36 ` [PATCH net-next v4 3/7] net: rpmsg-eth: Register device as netdev MD Danish Anwar
2025-09-11 11:36 ` [PATCH net-next v4 4/7] net: rpmsg-eth: Add netdev ops MD Danish Anwar
2025-09-11 11:36 ` [PATCH net-next v4 5/7] net: rpmsg-eth: Add support for multicast filtering MD Danish Anwar
2025-09-11 11:36 ` [PATCH net-next v4 6/7] MAINTAINERS: Add entry for RPMSG Ethernet driver MD Danish Anwar
2025-09-11 11:36 ` [PATCH net-next v4 7/7] arch: arm64: dts: k3-am64*: Add shared memory region MD Danish Anwar
2025-09-11 16:04 ` [PATCH net-next v4 0/7] Add RPMSG Ethernet Driver Andrew Davis
2025-09-17 11:44 ` MD Danish Anwar
2025-09-17 16:37 ` Andrew Davis
2025-09-22 10:59 ` MD Danish Anwar
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=20250911113612.2598643-1-danishanwar@ti.com \
--to=danishanwar@ti.com \
--cc=Parthiban.Veerasooran@microchip.com \
--cc=andrew+netdev@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=geert+renesas@glider.be \
--cc=gongfan1@huawei.com \
--cc=guoxin09@huawei.com \
--cc=horms@kernel.org \
--cc=kristo@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lorenzo@kernel.org \
--cc=lukas.bulwahn@redhat.com \
--cc=mengyuanlou@net-swift.com \
--cc=mpe@ellerman.id.au \
--cc=netdev@vger.kernel.org \
--cc=nm@ti.com \
--cc=pabeni@redhat.com \
--cc=quic_leiwei@quicinc.com \
--cc=robh@kernel.org \
--cc=vigneshr@ti.com \
/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