| # 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. |