mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-17 22:23:45 -04:00
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>
16 lines
400 B
C
16 lines
400 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef INCLUDE_PLATFORM_DATA_MIPI_I3C_HCI_H
|
|
#define INCLUDE_PLATFORM_DATA_MIPI_I3C_HCI_H
|
|
|
|
#include <linux/compiler_types.h>
|
|
|
|
/**
|
|
* struct mipi_i3c_hci_platform_data - Platform-dependent data for mipi_i3c_hci
|
|
* @base_regs: Register set base address (to support multi-bus instances)
|
|
*/
|
|
struct mipi_i3c_hci_platform_data {
|
|
void __iomem *base_regs;
|
|
};
|
|
|
|
#endif
|