[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260113140430.207990-1-heikki.krogerus@linux.intel.com>
Date: Tue, 13 Jan 2026 15:04:26 +0100
From: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
To: Wolfram Sang <wsa+renesas@...g-engineering.com>
Cc: Jeremy Kerr <jk@...econstruct.com.au>,
Matt Johnston <matt@...econstruct.com.au>,
linux-i2c@...r.kernel.org,
netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v1 0/4] i2c: SMBus ARP support
Hi,
I know there has been a couple of PoCs for ARP over the years, but for
what ever reason none of them were ever made part of the kernel. I
don't know how common ARP-capable devices are, but since they do
exist, we really should enumerate them as intended. I'm guessing that
in Linux ARP-capable devices have so far been left mostly undetected.
The problem I'm trying to tackle with these is to detect SMBus devices
on discrete components like PCIe cards. We obviously won't have any
kind ACPI or DT description for those, so we would always have to
create the device for them in the drivers. Unfortunately in some cases
it's actually very difficult to know what exactly is attached to the
I2C on those cards because the vendors can put what ever they like
there - this is the case at least with some of the GPUs it seems. But
luckily those I2C/SMBus devices are at least in some cases fully
ARP-capable.
I'm including a patch that binds the detected ARP-capable MCTP devices
to the driver. There is also a target mode test driver.
thanks,
Heikki Krogerus (4):
i2c: SMBus Address Resolution Protocol implementation for host side
i2c: Sysfs attribute files for the Unique Device Identifier fields
mctp i2c: Enable SMBus ARP discovery
i2c: Add SMBus ARP target mode test driver
Documentation/ABI/testing/sysfs-bus-i2c | 53 ++++
drivers/i2c/Kconfig | 6 +
drivers/i2c/Makefile | 3 +-
drivers/i2c/i2c-core-arp.c | 334 ++++++++++++++++++++++++
drivers/i2c/i2c-core-base.c | 154 ++++++++++-
drivers/i2c/i2c-core.h | 8 +
drivers/i2c/i2c-target-arp.c | 201 ++++++++++++++
drivers/net/mctp/mctp-i2c.c | 8 +
include/linux/i2c-smbus.h | 67 +++++
include/linux/i2c.h | 10 +
include/linux/mod_devicetable.h | 13 +
scripts/mod/devicetable-offsets.c | 8 +
scripts/mod/file2alias.c | 24 ++
13 files changed, 878 insertions(+), 11 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-bus-i2c
create mode 100644 drivers/i2c/i2c-core-arp.c
create mode 100644 drivers/i2c/i2c-target-arp.c
--
2.50.1
Powered by blists - more mailing lists