summaryrefslogtreecommitdiffstats
path: root/drivers/i3c/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/i3c/Kconfig')
-rw-r--r--drivers/i3c/Kconfig36
1 files changed, 36 insertions, 0 deletions
diff --git a/drivers/i3c/Kconfig b/drivers/i3c/Kconfig
new file mode 100644
index 000000000..626c54b38
--- /dev/null
+++ b/drivers/i3c/Kconfig
@@ -0,0 +1,36 @@
+# 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"
+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.