xref: /linux/drivers/i3c/Kconfig (revision 9a48d4a130871bea7a7ae2d83cda0326b1922d3e)
13a379bbcSBoris Brezillon# SPDX-License-Identifier: GPL-2.0
23a379bbcSBoris Brezillon
33a379bbcSBoris Brezillonmenuconfig I3C
43a379bbcSBoris Brezillon	tristate "I3C support"
53a379bbcSBoris Brezillon	select I2C
63a379bbcSBoris Brezillon	help
73a379bbcSBoris Brezillon	  I3C is a serial protocol standardized by the MIPI alliance.
83a379bbcSBoris Brezillon
93a379bbcSBoris Brezillon	  It's supposed to be backward compatible with I2C while providing
103a379bbcSBoris Brezillon	  support for high speed transfers and native interrupt support
113a379bbcSBoris Brezillon	  without the need for extra pins.
123a379bbcSBoris Brezillon
133a379bbcSBoris Brezillon	  The I3C protocol also standardizes the slave device types and is
143a379bbcSBoris Brezillon	  mainly designed to communicate with sensors.
153a379bbcSBoris Brezillon
163a379bbcSBoris Brezillon	  If you want I3C support, you should say Y here and also to the
173a379bbcSBoris Brezillon	  specific driver for your bus adapter(s) below.
183a379bbcSBoris Brezillon
193a379bbcSBoris Brezillon	  This I3C support can also be built as a module.  If so, the module
203a379bbcSBoris Brezillon	  will be called i3c.
213a379bbcSBoris Brezillon
223a379bbcSBoris Brezillonif I3C
233a379bbcSBoris Brezillonsource "drivers/i3c/master/Kconfig"
243a379bbcSBoris Brezillonendif # I3C
25*663eb876SArnd Bergmann
26*663eb876SArnd Bergmannconfig I3C_OR_I2C
27*663eb876SArnd Bergmann	tristate
28*663eb876SArnd Bergmann	default m if I3C=m
29*663eb876SArnd Bergmann	default I2C
30*663eb876SArnd Bergmann	help
31*663eb876SArnd Bergmann	  Device drivers using module_i3c_i2c_driver() can use either
32*663eb876SArnd Bergmann	  i2c or i3c hosts, but cannot be built-in for the kernel when
33*663eb876SArnd Bergmann	  CONFIG_I3C=m.
34*663eb876SArnd Bergmann
35*663eb876SArnd Bergmann	  Add 'depends on I2C_OR_I3C' in Kconfig for those drivers to
36*663eb876SArnd Bergmann	  get the correct dependencies.
37