| 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | |
| 3 | menuconfig I3C |
| 4 | tristate "I3C support" |
| 5 | select I2C |
| 6 | help |
| 7 | I3C is a serial protocol standardized by the MIPI alliance. |
| 8 | |
| 9 | It's supposed to be backward compatible with I2C while providing |
| 10 | support for high speed transfers and native interrupt support |
| 11 | without the need for extra pins. |
| 12 | |
| 13 | The I3C protocol also standardizes the slave device types and is |
| 14 | mainly designed to communicate with sensors. |
| 15 | |
| 16 | If you want I3C support, you should say Y here and also to the |
| 17 | specific driver for your bus adapter(s) below. |
| 18 | |
| 19 | This I3C support can also be built as a module. If so, the module |
| 20 | will be called i3c. |
| 21 | |
| 22 | if I3C |
| 23 | source "drivers/i3c/master/Kconfig" |
| 24 | endif # I3C |
| 25 | |
| 26 | config I3C_OR_I2C |
| 27 | tristate |
| 28 | default m if I3C=m |
| 29 | default I2C |
| 30 | help |
| 31 | Device drivers using module_i3c_i2c_driver() can use either |
| 32 | i2c or i3c hosts, but cannot be built-in for the kernel when |
| 33 | CONFIG_I3C=m. |
| 34 | |
| 35 | Add 'depends on I2C_OR_I3C' in Kconfig for those drivers to |
| 36 | get the correct dependencies. |