# SPDX-License-Identifier: GPL-2.0 menuconfig I3C tristate "I3C support" select I2C help I3C is a serial protocol standardized by the MIPI alliance. It's supposed to be backward compatible with I2C while providing support for high speed transfers and native interrupt support without the need for extra pins. The I3C protocol also standardizes the slave device types and is mainly designed to communicate with sensors. If you want I3C support, you should say Y here and also to the specific driver for your bus adapter(s) below. This I3C support can also be built as a module. If so, the module will be called i3c. if I3C source "drivers/i3c/master/Kconfig" config I3C_HUB tristate "I3C Hub Support" help Enable support for the I3C interface in hub devices. This option adds virtual I3C bus support for hubs by creating virtual master controllers for downstream ports and forwarding bus operations through the hub device. It also provides an interface used by hub drivers to enable or disable downstream ports during bus transactions. Say Y here if your platform includes an I3C hub device endif # I3C config I3C_OR_I2C tristate default m if I3C=m default I2C help Device drivers using module_i3c_i2c_driver() can use either i2c or i3c hosts, but cannot be built-in for the kernel when CONFIG_I3C=m. Add 'depends on I2C_OR_I3C' in Kconfig for those drivers to get the correct dependencies.