]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
i3c: mipi-i3c-hci: Allow for Multi-Bus Instances
authorAdrian Hunter <adrian.hunter@intel.com>
Tue, 6 Jan 2026 16:44:12 +0000 (18:44 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Wed, 14 Jan 2026 14:53:34 +0000 (15:53 +0100)
commitb8460480f62e16751876a1f367dc14fb62867463
tree982dbcb30f84fe49a823abbb3b2db2c7b13b87a4
parent35c0bfe8fd1066c61420b076e7bcd3cfa54b9d92
i3c: mipi-i3c-hci: Allow for Multi-Bus Instances

Add support for MIPI I3C Host Controllers with the Multi-Bus Instance
capability.  These controllers can host multiple I3C buses (up to 15)
within a single hardware function (e.g., PCIe B/D/F), providing one
indepedent HCI register set and corresponding I3C bus controller logic
per bus.

A separate platform device will represent each instance, but it is
necessary to allow for shared resources.

Multi-bus instances share the same MMIO address space, but the ranges are
not guaranteed to be contiguous. To avoid overlapping mappings, pass
base_regs from the parent mapping to child devices.

Allow the IRQ to be shared among instances.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260106164416.67074-8-adrian.hunter@intel.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/i3c/master/mipi-i3c-hci/core.c
include/linux/platform_data/mipi-i3c-hci.h [new file with mode: 0644]