mctp i3c: MCTP I3C driver

Provides MCTP network transport over an I3C bus, as specified in
DMTF DSP0233.

Each I3C bus (with "mctp-controller" devicetree property) gets an
"mctpi3cX" net device created. I3C devices are reachable as remote
endpoints through that net device. Link layer addressing uses the
I3C PID as a fixed hardware address for neighbour table entries.

The driver matches I3C devices that have the MIPI assigned DCR 0xCC for
MCTP.

Signed-off-by: Matt Johnston <matt@codeconstruct.com.au>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
Matt Johnston
2023-10-13 12:06:25 +08:00
committed by Paolo Abeni
parent 0ac6486e5c
commit c8755b29b5
3 changed files with 765 additions and 0 deletions

View File

@@ -33,6 +33,15 @@ config MCTP_TRANSPORT_I2C
from DMTF specification DSP0237. A MCTP protocol network device is
created for each I2C bus that has been assigned a mctp-i2c device.
config MCTP_TRANSPORT_I3C
tristate "MCTP I3C transport"
depends on I3C
help
Provides a driver to access MCTP devices over I3C transport,
from DMTF specification DSP0233.
A MCTP protocol network device is created for each I3C bus
having a "mctp-controller" devicetree property.
endmenu
endif

View File

@@ -1,2 +1,3 @@
obj-$(CONFIG_MCTP_SERIAL) += mctp-serial.o
obj-$(CONFIG_MCTP_TRANSPORT_I2C) += mctp-i2c.o
obj-$(CONFIG_MCTP_TRANSPORT_I3C) += mctp-i3c.o

755
drivers/net/mctp/mctp-i3c.c Normal file

File diff suppressed because it is too large Load Diff