# SPDX-License-Identifier: GPL-2.0-only

config AMD_I3C_MASTER
	tristate "AMD I3C Master driver"
	depends on I3C
	depends on HAS_IOMEM
	help
	  Support for AMD I3C Master Controller.

	  This driver allows communication with I3C devices using the AMD
	  I3C master, currently supporting Standard Data Rate (SDR) mode.
	  Features include Dynamic Address Assignment, private transfers,
	  and CCC transfers in both broadcast and direct modes.

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

config CDNS_I3C_MASTER
	tristate "Cadence I3C master driver"
	depends on I3C
	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 I3C
	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 I3C
	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 I3C
	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.
