# SPDX-License-Identifier: GPL-2.0-only
config CDNS_I3C_MASTER
	tristate "Cadence I3C master driver"
	depends on HAS_IOMEM
	depends on !(ALPHA || PARISC)
	help
	  Enable this driver if you want to support Cadence I3C master block.

config DW_I3C_MASTER
	tristate "Synospsys DesignWare I3C master driver"
	depends on HAS_IOMEM
	depends on !(ALPHA || PARISC)
	# ALPHA and PARISC needs {read,write}sl()
	help
	  Support for Synopsys DesignWare MIPI I3C Controller.

	  For details please see
	  https://www.synopsys.com/dw/ipdir.php?ds=mipi_i3c

	  This driver can also be built as a module.  If so, the module
	  will be called dw-i3c-master.

config AST2600_I3C_MASTER
	tristate "ASPEED AST2600 I3C master driver"
	depends on DW_I3C_MASTER
	depends on ARCH_ASPEED || COMPILE_TEST
	select MFD_SYSCON
	help
	  Support for ASPEED AST2600 I3C Controller.

	  This hardware is an instance of the DW I3C controller; this
	  driver adds platform- specific support for AST2600 hardware.

	  This driver can also be built as a module.  If so, the module
	  will be called ast2600-i3c-master.

config SVC_I3C_MASTER
	tristate "Silvaco I3C Dual-Role Master driver"
	depends on HAS_IOMEM
	depends on !(ALPHA || PARISC)
	help
	  Support for Silvaco I3C Dual-Role Master Controller.

config MIPI_I3C_HCI
	tristate "MIPI I3C Host Controller Interface driver (EXPERIMENTAL)"
	depends on HAS_IOMEM
	help
	  Support for hardware following the MIPI Aliance's I3C Host Controller
	  Interface specification.

	  For details please see:
	  https://www.mipi.org/specifications/i3c-hci

	  This driver can also be built as a module.  If so, the module will be
	  called mipi-i3c-hci.

config MIPI_I3C_HCI_PCI
	tristate "MIPI I3C Host Controller Interface PCI support"
	depends on MIPI_I3C_HCI
	depends on PCI
	help
	  Support for MIPI I3C Host Controller Interface compatible hardware
	  on the PCI bus.

	  This driver can also be built as a module. If so, the module will be
	  called mipi-i3c-hci-pci.
