Linux Audio

Check our new training course

Loading...
v6.2
   1# SPDX-License-Identifier: GPL-2.0-only
   2#
   3# Sensor device configuration
   4#
   5
   6menu "I2C Hardware Bus support"
   7	depends on HAS_IOMEM
   8
   9comment "PC SMBus host controller drivers"
  10	depends on PCI
  11
  12config I2C_CCGX_UCSI
  13	tristate
  14	help
  15	  A common module to provide an API to instantiate UCSI device
  16	  for Cypress CCGx Type-C controller. Individual bus drivers
  17	  need to select this one on demand.
  18
  19config I2C_ALI1535
  20	tristate "ALI 1535"
  21	depends on PCI
  22	help
  23	  If you say yes to this option, support will be included for the SMB
  24	  Host controller on Acer Labs Inc. (ALI) M1535 South Bridges.  The SMB
  25	  controller is part of the 7101 device, which is an ACPI-compliant
  26	  Power Management Unit (PMU).
  27
  28	  This driver can also be built as a module.  If so, the module
  29	  will be called i2c-ali1535.
  30
  31config I2C_ALI1563
  32	tristate "ALI 1563"
  33	depends on PCI
  34	help
  35	  If you say yes to this option, support will be included for the SMB
  36	  Host controller on Acer Labs Inc. (ALI) M1563 South Bridges.  The SMB
  37	  controller is part of the 7101 device, which is an ACPI-compliant
  38	  Power Management Unit (PMU).
  39
  40	  This driver can also be built as a module.  If so, the module
  41	  will be called i2c-ali1563.
  42
  43config I2C_ALI15X3
  44	tristate "ALI 15x3"
  45	depends on PCI
  46	help
  47	  If you say yes to this option, support will be included for the
  48	  Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
  49
  50	  This driver can also be built as a module.  If so, the module
  51	  will be called i2c-ali15x3.
  52
  53config I2C_AMD756
  54	tristate "AMD 756/766/768/8111 and nVidia nForce"
  55	depends on PCI
  56	help
  57	  If you say yes to this option, support will be included for the AMD
  58	  756/766/768 mainboard I2C interfaces.  The driver also includes
  59	  support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
  60	  the nVidia nForce I2C interface.
  61
  62	  This driver can also be built as a module.  If so, the module
  63	  will be called i2c-amd756.
  64
  65config I2C_AMD756_S4882
  66	tristate "SMBus multiplexing on the Tyan S4882"
  67	depends on I2C_AMD756 && X86
  68	help
  69	  Enabling this option will add specific SMBus support for the Tyan
  70	  S4882 motherboard.  On this 4-CPU board, the SMBus is multiplexed
  71	  over 8 different channels, where the various memory module EEPROMs
  72	  and temperature sensors live.  Saying yes here will give you access
  73	  to these in addition to the trunk.
  74
  75	  This driver can also be built as a module.  If so, the module
  76	  will be called i2c-amd756-s4882.
  77
  78config I2C_AMD8111
  79	tristate "AMD 8111"
  80	depends on PCI
  81	help
  82	  If you say yes to this option, support will be included for the
  83	  second (SMBus 2.0) AMD 8111 mainboard I2C interface.
  84
  85	  This driver can also be built as a module.  If so, the module
  86	  will be called i2c-amd8111.
  87
  88config I2C_AMD_MP2
  89	tristate "AMD MP2 PCIe"
  90	depends on PCI && ACPI
  91	help
  92	  If you say yes to this option, support will be included for the AMD
  93	  MP2 PCIe I2C adapter.
  94
  95	  This driver can also be built as modules.  If so, the modules will
  96	  be called i2c-amd-mp2-pci and i2c-amd-mp2-plat.
  97
  98config I2C_HIX5HD2
  99	tristate "Hix5hd2 high-speed I2C driver"
 100	depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST
 101	help
 102	  Say Y here to include support for the high-speed I2C controller
 103	  used in HiSilicon hix5hd2 SoCs.
 104
 105	  This driver can also be built as a module. If so, the module
 106	  will be called i2c-hix5hd2.
 107
 108config I2C_I801
 109	tristate "Intel 82801 (ICH/PCH)"
 110	depends on PCI
 111	select P2SB if X86
 112	select CHECK_SIGNATURE if X86 && DMI
 113	select I2C_SMBUS
 114	help
 115	  If you say yes to this option, support will be included for the Intel
 116	  801 family of mainboard I2C interfaces.  Specifically, the following
 117	  versions of the chipset are supported:
 118	    82801AA
 119	    82801AB
 120	    82801BA
 121	    82801CA/CAM
 122	    82801DB
 123	    82801EB/ER (ICH5/ICH5R)
 124	    6300ESB
 125	    ICH6
 126	    ICH7
 127	    ESB2
 128	    ICH8
 129	    ICH9
 130	    EP80579 (Tolapai)
 131	    ICH10
 132	    5/3400 Series (PCH)
 133	    6 Series (PCH)
 134	    Patsburg (PCH)
 135	    DH89xxCC (PCH)
 136	    Panther Point (PCH)
 137	    Lynx Point (PCH)
 138	    Avoton (SOC)
 139	    Wellsburg (PCH)
 140	    Coleto Creek (PCH)
 141	    Wildcat Point (PCH)
 142	    BayTrail (SOC)
 143	    Braswell (SOC)
 144	    Sunrise Point (PCH)
 145	    Kaby Lake (PCH)
 146	    DNV (SOC)
 147	    Broxton (SOC)
 148	    Lewisburg (PCH)
 149	    Gemini Lake (SOC)
 150	    Cannon Lake (PCH)
 151	    Cedar Fork (PCH)
 152	    Ice Lake (PCH)
 153	    Comet Lake (PCH)
 154	    Elkhart Lake (PCH)
 155	    Tiger Lake (PCH)
 156	    Jasper Lake (SOC)
 157	    Emmitsburg (PCH)
 158	    Alder Lake (PCH)
 159	    Raptor Lake (PCH)
 160	    Meteor Lake (SOC)
 161
 162	  This driver can also be built as a module.  If so, the module
 163	  will be called i2c-i801.
 164
 165config I2C_ISCH
 166	tristate "Intel SCH SMBus 1.0"
 167	depends on PCI
 168	select LPC_SCH
 169	help
 170	  Say Y here if you want to use SMBus controller on the Intel SCH
 171	  based systems.
 172
 173	  This driver can also be built as a module. If so, the module
 174	  will be called i2c-isch.
 175
 176config I2C_ISMT
 177	tristate "Intel iSMT SMBus Controller"
 178	depends on PCI && X86
 179	help
 180	  If you say yes to this option, support will be included for the Intel
 181	  iSMT SMBus host controller interface.
 182
 183	  This driver can also be built as a module.  If so, the module will be
 184	  called i2c-ismt.
 185
 186config I2C_PIIX4
 187	tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
 188	depends on PCI
 189	help
 190	  If you say yes to this option, support will be included for the Intel
 191	  PIIX4 family of mainboard I2C interfaces.  Specifically, the following
 192	  versions of the chipset are supported (note that Serverworks is part
 193	  of Broadcom):
 194	    Intel PIIX4
 195	    Intel 440MX
 196	    ATI IXP200
 197	    ATI IXP300
 198	    ATI IXP400
 199	    ATI SB600
 200	    ATI SB700/SP5100
 201	    ATI SB800
 202	    AMD Hudson-2
 203	    AMD ML
 204	    AMD CZ
 205	    Hygon CZ
 206	    Serverworks OSB4
 207	    Serverworks CSB5
 208	    Serverworks CSB6
 209	    Serverworks HT-1000
 210	    Serverworks HT-1100
 211	    SMSC Victory66
 212
 213	  Some AMD chipsets contain two PIIX4-compatible SMBus
 214	  controllers. This driver will attempt to use both controllers
 215	  on the SB700/SP5100, if they have been initialized by the BIOS.
 216
 217	  This driver can also be built as a module.  If so, the module
 218	  will be called i2c-piix4.
 219
 220config I2C_CHT_WC
 221	tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller"
 222	depends on INTEL_SOC_PMIC_CHTWC
 223	help
 224	  If you say yes to this option, support will be included for the
 225	  SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC
 226	  found on some Intel Cherry Trail systems.
 227
 228	  Note this controller is hooked up to a TI bq24292i charger-IC,
 229	  combined with a FUSB302 Type-C port-controller as such it is advised
 230	  to also select CONFIG_TYPEC_FUSB302=m.
 231
 232config I2C_NFORCE2
 233	tristate "Nvidia nForce2, nForce3 and nForce4"
 234	depends on PCI
 235	help
 236	  If you say yes to this option, support will be included for the Nvidia
 237	  nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
 238
 239	  This driver can also be built as a module.  If so, the module
 240	  will be called i2c-nforce2.
 241
 242config I2C_NFORCE2_S4985
 243	tristate "SMBus multiplexing on the Tyan S4985"
 244	depends on I2C_NFORCE2 && X86
 245	help
 246	  Enabling this option will add specific SMBus support for the Tyan
 247	  S4985 motherboard.  On this 4-CPU board, the SMBus is multiplexed
 248	  over 4 different channels, where the various memory module EEPROMs
 249	  live.  Saying yes here will give you access to these in addition
 250	  to the trunk.
 251
 252	  This driver can also be built as a module.  If so, the module
 253	  will be called i2c-nforce2-s4985.
 254
 255config I2C_NVIDIA_GPU
 256	tristate "NVIDIA GPU I2C controller"
 257	depends on PCI
 258	select I2C_CCGX_UCSI
 259	help
 260	  If you say yes to this option, support will be included for the
 261	  NVIDIA GPU I2C controller which is used to communicate with the GPU's
 262	  Type-C controller. This driver can also be built as a module called
 263	  i2c-nvidia-gpu.
 264
 265config I2C_SIS5595
 266	tristate "SiS 5595"
 267	depends on PCI
 268	help
 269	  If you say yes to this option, support will be included for the
 270	  SiS5595 SMBus (a subset of I2C) interface.
 271
 272	  This driver can also be built as a module.  If so, the module
 273	  will be called i2c-sis5595.
 274
 275config I2C_SIS630
 276	tristate "SiS 630/730/964"
 277	depends on PCI
 278	help
 279	  If you say yes to this option, support will be included for the
 280	  SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
 281
 282	  This driver can also be built as a module.  If so, the module
 283	  will be called i2c-sis630.
 284
 285config I2C_SIS96X
 286	tristate "SiS 96x"
 287	depends on PCI
 288	help
 289	  If you say yes to this option, support will be included for the SiS
 290	  96x SMBus (a subset of I2C) interfaces.  Specifically, the following
 291	  chipsets are supported:
 292	    645/961
 293	    645DX/961
 294	    645DX/962
 295	    648/961
 296	    650/961
 297	    735
 298	    745
 299
 300	  This driver can also be built as a module.  If so, the module
 301	  will be called i2c-sis96x.
 302
 303config I2C_VIA
 304	tristate "VIA VT82C586B"
 305	depends on PCI
 306	select I2C_ALGOBIT
 307	help
 308	  If you say yes to this option, support will be included for the VIA
 309	  82C586B I2C interface
 310
 311	  This driver can also be built as a module.  If so, the module
 312	  will be called i2c-via.
 313
 314config I2C_VIAPRO
 315	tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
 316	depends on PCI
 317	help
 318	  If you say yes to this option, support will be included for the VIA
 319	  VT82C596 and later SMBus interface.  Specifically, the following
 320	  chipsets are supported:
 321	    VT82C596A/B
 322	    VT82C686A/B
 323	    VT8231
 324	    VT8233/A
 325	    VT8235
 326	    VT8237R/A/S
 327	    VT8251
 328	    CX700
 329	    VX800/VX820
 330	    VX855/VX875
 331	    VX900
 332
 333	  This driver can also be built as a module.  If so, the module
 334	  will be called i2c-viapro.
 335
 336if ACPI
 337
 338comment "ACPI drivers"
 339
 340config I2C_SCMI
 341	tristate "SMBus Control Method Interface"
 342	help
 343	  This driver supports the SMBus Control Method Interface. It needs the
 344	  BIOS to declare ACPI control methods as described in the SMBus Control
 345	  Method Interface specification.
 346
 347	  To compile this driver as a module, choose M here:
 348	  the module will be called i2c-scmi.
 349
 350endif # ACPI
 351
 352comment "Mac SMBus host controller drivers"
 353	depends on PPC_CHRP || PPC_PMAC
 354
 355config I2C_HYDRA
 356	tristate "CHRP Apple Hydra Mac I/O I2C interface"
 357	depends on PCI && PPC_CHRP
 358	select I2C_ALGOBIT
 359	help
 360	  This supports the use of the I2C interface in the Apple Hydra Mac
 361	  I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
 362	  have such a machine.
 363
 364	  This support is also available as a module.  If so, the module
 365	  will be called i2c-hydra.
 366
 367config I2C_POWERMAC
 368	tristate "Powermac I2C interface"
 369	depends on PPC_PMAC
 370	default y
 371	help
 372	  This exposes the various PowerMac i2c interfaces to the linux i2c
 373	  layer and to userland. It is used by various drivers on the PowerMac
 374	  platform, and should generally be enabled.
 375
 376	  This support is also available as a module.  If so, the module
 377	  will be called i2c-powermac.
 378
 379comment "I2C system bus drivers (mostly embedded / system-on-chip)"
 380
 381config I2C_ALTERA
 382	tristate "Altera Soft IP I2C"
 383	depends on ARCH_INTEL_SOCFPGA || NIOS2 || COMPILE_TEST
 384	depends on OF
 385	help
 386	  If you say yes to this option, support will be included for the
 387	  Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures.
 388
 389	  This driver can also be built as a module.  If so, the module
 390	  will be called i2c-altera.
 391
 392config I2C_ASPEED
 393	tristate "Aspeed I2C Controller"
 394	depends on ARCH_ASPEED || COMPILE_TEST
 395	help
 396	  If you say yes to this option, support will be included for the
 397	  Aspeed I2C controller.
 398
 399	  This driver can also be built as a module.  If so, the module
 400	  will be called i2c-aspeed.
 401
 402config I2C_AT91
 403	tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
 404	depends on ARCH_AT91 || COMPILE_TEST
 405	help
 406	  This supports the use of the I2C interface on Atmel AT91
 407	  processors.
 408
 409	  A serious problem is that there is no documented way to issue
 410	  repeated START conditions for more than two messages, as needed
 
 
 
 411	  to support combined I2C messages.  Use the i2c-gpio driver
 412	  unless your system can cope with this limitation.
 413
 414	  Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
 415	  don't have clock stretching in transmission mode. For that reason,
 416	  you can encounter underrun issues causing premature stop sendings if
 417	  the latency to fill the transmission register is too long. If you
 418	  are facing this situation, use the i2c-gpio driver.
 419
 420config I2C_AT91_SLAVE_EXPERIMENTAL
 421	tristate "Microchip AT91 I2C experimental slave mode"
 422	depends on I2C_AT91
 423	select I2C_SLAVE
 424	help
 425	  If you say yes to this option, support for the slave mode will be
 426	  added. Caution: do not use it for production. This feature has not
 427	  been tested in a heavy way, help wanted.
 428	  There are known bugs:
 429	    - It can hang, on a SAMA5D4, after several transfers.
 430	    - There are some mismtaches with a SAMA5D4 as slave and a SAMA5D2 as
 431	    master.
 432
 433config I2C_AU1550
 434	tristate "Au1550/Au1200/Au1300 SMBus interface"
 435	depends on MIPS_ALCHEMY
 436	help
 437	  If you say yes to this option, support will be included for the
 438	  Au1550/Au1200/Au1300 SMBus interface.
 439
 440	  This driver can also be built as a module.  If so, the module
 441	  will be called i2c-au1550.
 442
 443config I2C_AXXIA
 444	tristate "Axxia I2C controller"
 445	depends on ARCH_AXXIA || COMPILE_TEST
 446	default ARCH_AXXIA
 447	select I2C_SLAVE
 448	help
 449	  Say yes if you want to support the I2C bus on Axxia platforms.
 450
 451	  Please note that this controller is limited to transfers of maximum
 452	  255 bytes in length. Any attempt to to a larger transfer will return
 453	  an error.
 454
 455config I2C_BCM2835
 456	tristate "Broadcom BCM2835 I2C controller"
 457	depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
 458	depends on COMMON_CLK
 459	help
 460	  If you say yes to this option, support will be included for the
 461	  BCM2835 I2C controller.
 462
 463	  If you don't know what to do here, say N.
 464
 465	  This support is also available as a module.  If so, the module
 466	  will be called i2c-bcm2835.
 467
 468config I2C_BCM_IPROC
 469	tristate "Broadcom iProc I2C controller"
 470	depends on ARCH_BCM_IPROC || COMPILE_TEST
 471	default ARCH_BCM_IPROC
 472	select I2C_SLAVE
 473	help
 474	  If you say yes to this option, support will be included for the
 475	  Broadcom iProc I2C controller.
 476
 477	  If you don't know what to do here, say N.
 478
 479config I2C_BCM_KONA
 480	tristate "BCM Kona I2C adapter"
 481	depends on ARCH_BCM_MOBILE || COMPILE_TEST
 482	default y if ARCH_BCM_MOBILE
 483	help
 484	  If you say yes to this option, support will be included for the
 485	  I2C interface on the Broadcom Kona family of processors.
 486
 487	  If you do not need KONA I2C interface, say N.
 488
 489config I2C_BRCMSTB
 490	tristate "BRCM Settop/DSL I2C controller"
 491	depends on ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || \
 492		   BMIPS_GENERIC || COMPILE_TEST
 493	default y
 494	help
 495	  If you say yes to this option, support will be included for the
 496	  I2C interface on the Broadcom Settop/DSL SoCs.
 497
 498	  If you do not need I2C interface, say N.
 499
 500config I2C_CADENCE
 501	tristate "Cadence I2C Controller"
 502	depends on ARCH_ZYNQ || ARM64 || XTENSA || COMPILE_TEST
 503	help
 504	  Say yes here to select Cadence I2C Host Controller. This controller is
 505	  e.g. used by Xilinx Zynq.
 506
 507config I2C_CBUS_GPIO
 508	tristate "CBUS I2C driver"
 509	depends on GPIOLIB || COMPILE_TEST
 
 
 510	help
 511	  Support for CBUS access using I2C API. Mostly relevant for Nokia
 512	  Internet Tablets (770, N800 and N810).
 513
 514	  This driver can also be built as a module.  If so, the module
 515	  will be called i2c-cbus-gpio.
 516
 517config I2C_CPM
 518	tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
 519	depends on CPM1 || CPM2
 520	help
 521	  This supports the use of the I2C interface on Freescale
 522	  processors with CPM1 or CPM2.
 523
 524	  This driver can also be built as a module.  If so, the module
 525	  will be called i2c-cpm.
 526
 527config I2C_DAVINCI
 528	tristate "DaVinci I2C driver"
 529	depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
 530	help
 531	  Support for TI DaVinci I2C controller driver.
 532
 533	  This driver can also be built as a module.  If so, the module
 534	  will be called i2c-davinci.
 535
 536	  Please note that this driver might be needed to bring up other
 537	  devices such as DaVinci NIC.
 538	  For details please see http://www.ti.com/davinci
 539
 540config I2C_DESIGNWARE_CORE
 541	tristate
 542	select REGMAP
 543
 544config I2C_DESIGNWARE_SLAVE
 545	bool "Synopsys DesignWare Slave"
 546	depends on I2C_DESIGNWARE_CORE
 547	select I2C_SLAVE
 548	help
 549	  If you say yes to this option, support will be included for the
 550	  Synopsys DesignWare I2C slave adapter.
 551
 552	  This is not a standalone module, this module compiles together with
 553	  i2c-designware-core.
 554
 555config I2C_DESIGNWARE_PLATFORM
 556	tristate "Synopsys DesignWare Platform"
 557	depends on (ACPI && COMMON_CLK) || !ACPI
 558	select I2C_DESIGNWARE_CORE
 559	select MFD_SYSCON if MIPS_BAIKAL_T1
 560	help
 561	  If you say yes to this option, support will be included for the
 562	  Synopsys DesignWare I2C adapter.
 563
 564	  This driver can also be built as a module.  If so, the module
 565	  will be called i2c-designware-platform.
 566
 567config I2C_DESIGNWARE_AMDPSP
 568	bool "AMD PSP I2C semaphore support"
 569	depends on X86_MSR
 570	depends on ACPI
 571	depends on I2C_DESIGNWARE_PLATFORM
 572	help
 573	  This driver enables managed host access to the selected I2C bus shared
 574	  between AMD CPU and AMD PSP.
 575
 576	  You should say Y if running on an AMD system equipped with the PSP.
 577
 578config I2C_DESIGNWARE_BAYTRAIL
 579	bool "Intel Baytrail I2C semaphore support"
 580	depends on ACPI
 581	depends on I2C_DESIGNWARE_PLATFORM
 582	depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
 583		   (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
 584	help
 585	  This driver enables managed host access to the PMIC I2C bus on select
 586	  Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
 587	  the host to request uninterrupted access to the PMIC's I2C bus from
 588	  the platform firmware controlling it. You should say Y if running on
 589	  a BayTrail system using the AXP288.
 590
 591config I2C_DESIGNWARE_PCI
 592	tristate "Synopsys DesignWare PCI"
 593	depends on PCI
 594	select I2C_DESIGNWARE_CORE
 595	select I2C_CCGX_UCSI
 596	help
 597	  If you say yes to this option, support will be included for the
 598	  Synopsys DesignWare I2C adapter. Only master mode is supported.
 599
 600	  This driver can also be built as a module.  If so, the module
 601	  will be called i2c-designware-pci.
 602
 603config I2C_DIGICOLOR
 604	tristate "Conexant Digicolor I2C driver"
 605	depends on ARCH_DIGICOLOR || COMPILE_TEST
 606	help
 607	  Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
 608
 609	  This driver can also be built as a module.  If so, the module
 610	  will be called i2c-digicolor.
 611
 612config I2C_EG20T
 613	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
 614	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
 615	help
 616	  This driver is for PCH(Platform controller Hub) I2C of EG20T which
 617	  is an IOH(Input/Output Hub) for x86 embedded processor.
 618	  This driver can access PCH I2C bus device.
 619
 620	  This driver also can be used for LAPIS Semiconductor IOH(Input/
 621	  Output Hub), ML7213, ML7223 and ML7831.
 622	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
 623	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
 624	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
 625	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
 626
 627config I2C_EMEV2
 628	tristate "EMMA Mobile series I2C adapter"
 629	depends on HAVE_CLK
 630	select I2C_SLAVE
 631	help
 632	  If you say yes to this option, support will be included for the
 633	  I2C interface on the Renesas Electronics EM/EV family of processors.
 634
 635config I2C_EXYNOS5
 636	tristate "Exynos high-speed I2C driver"
 637	depends on OF
 638	depends on ARCH_EXYNOS || COMPILE_TEST
 639	default y if ARCH_EXYNOS
 640	help
 641	  High-speed I2C controller on Samsung Exynos5 and newer Samsung SoCs:
 642	  Exynos5250, Exynos5260, Exynos5410, Exynos542x, Exynos5800,
 643	  Exynos5433, Exynos7, Exynos850 and ExynosAutoV9.
 644	  Choose Y here only if you build for such Samsung SoC.
 645
 646config I2C_GPIO
 647	tristate "GPIO-based bitbanging I2C"
 648	depends on GPIOLIB || COMPILE_TEST
 649	select I2C_ALGOBIT
 650	help
 651	  This is a very simple bitbanging I2C driver utilizing the
 652	  arch-neutral GPIO API to control the SCL and SDA lines.
 653
 654config I2C_GPIO_FAULT_INJECTOR
 655	bool "GPIO-based fault injector"
 656	depends on I2C_GPIO
 657	help
 658	  This adds some functionality to the i2c-gpio driver which can inject
 659	  faults to an I2C bus, so another bus master can be stress-tested.
 660	  This is for debugging. If unsure, say 'no'.
 661
 662config I2C_HIGHLANDER
 663	tristate "Highlander FPGA SMBus interface"
 664	depends on SH_HIGHLANDER || COMPILE_TEST
 665	help
 666	  If you say yes to this option, support will be included for
 667	  the SMBus interface located in the FPGA on various Highlander
 668	  boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
 669	  FPGAs. This is wholly unrelated to the SoC I2C.
 670
 671	  This driver can also be built as a module.  If so, the module
 672	  will be called i2c-highlander.
 673
 674config I2C_HISI
 675	tristate "HiSilicon I2C controller"
 676	depends on ARM64 || COMPILE_TEST
 677	help
 678	  Say Y here if you want to have Hisilicon I2C controller support
 679	  available on the Kunpeng Server.
 680
 681	  This driver can also be built as a module. If so, the module
 682	  will be called i2c-hisi.
 683
 684config I2C_IBM_IIC
 685	tristate "IBM PPC 4xx on-chip I2C interface"
 686	depends on 4xx
 687	help
 688	  Say Y here if you want to use IIC peripheral found on
 689	  embedded IBM PPC 4xx based systems.
 690
 691	  This driver can also be built as a module.  If so, the module
 692	  will be called i2c-ibm_iic.
 693
 694config I2C_IMG
 695	tristate "Imagination Technologies I2C SCB Controller"
 696	depends on MIPS || COMPILE_TEST
 697	help
 698	  Say Y here if you want to use the IMG I2C SCB controller,
 699	  available on the TZ1090 and other IMG SoCs.
 700
 701	  This driver can also be built as a module.  If so, the module
 702	  will be called i2c-img-scb.
 703
 704config I2C_IMX
 705	tristate "IMX I2C interface"
 706	depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE || COMPILE_TEST
 707	select I2C_SLAVE
 708	help
 709	  Say Y here if you want to use the IIC bus controller on
 710	  the Freescale i.MX/MXC, Layerscape or ColdFire processors.
 711
 712	  This driver can also be built as a module.  If so, the module
 713	  will be called i2c-imx.
 714
 715config I2C_IMX_LPI2C
 716	tristate "IMX Low Power I2C interface"
 717	depends on ARCH_MXC || COMPILE_TEST
 718	help
 719	  Say Y here if you want to use the Low Power IIC bus controller
 720	  on the Freescale i.MX processors.
 721
 722	  This driver can also be built as a module. If so, the module
 723	  will be called i2c-imx-lpi2c.
 724
 725config I2C_IOP3XX
 726	tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
 727	depends on ARCH_IOP32X || ARCH_IXP4XX || COMPILE_TEST
 728	help
 729	  Say Y here if you want to use the IIC bus controller on
 730	  the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
 731
 732	  This driver can also be built as a module.  If so, the module
 733	  will be called i2c-iop3xx.
 734
 735config I2C_JZ4780
 736	tristate "JZ4780 I2C controller interface support"
 737	depends on MIPS || COMPILE_TEST
 738	help
 739	 If you say yes to this option, support will be included for the
 740	 Ingenic JZ4780 I2C controller.
 741
 742	 If you don't know what to do here, say N.
 743
 744config I2C_KEMPLD
 745	tristate "Kontron COM I2C Controller"
 746	depends on MFD_KEMPLD
 747	help
 748	  This enables support for the I2C bus interface on some Kontron ETX
 749	  and COMexpress (ETXexpress) modules.
 750
 751	  This driver can also be built as a module. If so, the module
 752	  will be called i2c-kempld.
 753
 754config I2C_LPC2K
 755	tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
 756	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
 757	help
 758	  This driver supports the I2C interface found several NXP
 759	  devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
 760
 761	  This driver can also be built as a module.  If so, the module
 762	  will be called i2c-lpc2k.
 763
 764config I2C_MLXBF
 765        tristate "Mellanox BlueField I2C controller"
 766        depends on MELLANOX_PLATFORM && ARM64
 767	depends on ACPI
 768	select I2C_SLAVE
 769        help
 770          Enabling this option will add I2C SMBus support for Mellanox BlueField
 771          system.
 772
 773          This driver can also be built as a module. If so, the module will be
 774          called i2c-mlxbf.
 775
 776          This driver implements an I2C SMBus host controller and enables both
 777          master and slave functions.
 778
 779config I2C_MESON
 780	tristate "Amlogic Meson I2C controller"
 781	depends on ARCH_MESON || COMPILE_TEST
 782	depends on COMMON_CLK
 783	help
 784	  If you say yes to this option, support will be included for the
 785	  I2C interface on the Amlogic Meson family of SoCs.
 786
 787config I2C_MICROCHIP_CORE
 788	tristate "Microchip FPGA I2C controller"
 789	depends on SOC_MICROCHIP_POLARFIRE || COMPILE_TEST
 790	depends on OF
 791	help
 792	  If you say yes to this option, support will be included for the
 793	  I2C interface on Microchip FPGAs.
 794
 795	  This driver can also be built as a module. If so, the module will be
 796	  called i2c-microchip-core.
 797
 798config I2C_MPC
 799	tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
 800	depends on PPC
 801	help
 802	  If you say yes to this option, support will be included for the
 803	  built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
 804	  MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
 805
 806	  This driver can also be built as a module.  If so, the module
 807	  will be called i2c-mpc.
 808
 809config I2C_MT65XX
 810	tristate "MediaTek I2C adapter"
 811	depends on ARCH_MEDIATEK || COMPILE_TEST
 812	help
 813	  This selects the MediaTek(R) Integrated Inter Circuit bus driver
 814	  for MT65xx and MT81xx.
 815	  If you want to use MediaTek(R) I2C interface, say Y or M here.
 816	  If unsure, say N.
 817
 818config I2C_MT7621
 819	tristate "MT7621/MT7628 I2C Controller"
 820	depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || COMPILE_TEST
 821	help
 822	  Say Y here to include support for I2C controller in the
 823	  MediaTek MT7621/MT7628 SoCs.
 824
 825config I2C_MV64XXX
 826	tristate "Marvell mv64xxx I2C Controller"
 827	depends on PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST
 828	help
 829	  If you say yes to this option, support will be included for the
 830	  built-in I2C interface on the Marvell 64xxx line of host bridges.
 831	  This driver is also used for Allwinner SoCs I2C controllers.
 832
 833	  This driver can also be built as a module.  If so, the module
 834	  will be called i2c-mv64xxx.
 835
 836config I2C_MXS
 837	tristate "Freescale i.MX28 I2C interface"
 838	depends on SOC_IMX28 || COMPILE_TEST
 839	select STMP_DEVICE
 840	help
 841	  Say Y here if you want to use the I2C bus controller on
 842	  the Freescale i.MX28 processors.
 843
 844	  This driver can also be built as a module.  If so, the module
 845	  will be called i2c-mxs.
 846
 847config I2C_NOMADIK
 848	tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
 849	depends on ARM_AMBA
 850	help
 851	  If you say yes to this option, support will be included for the
 852	  I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
 853	  as well as the STA2X11 PCIe I/O HUB.
 854
 855config I2C_NPCM
 856	tristate "Nuvoton I2C Controller"
 857	depends on ARCH_NPCM || COMPILE_TEST
 858	help
 859	  If you say yes to this option, support will be included for the
 860	  Nuvoton I2C controller, which is available on the NPCM BMC
 861	  controllers.
 862	  Driver can also support slave mode (select I2C_SLAVE).
 863
 864config I2C_OCORES
 865	tristate "OpenCores I2C Controller"
 
 866	help
 867	  If you say yes to this option, support will be included for the
 868	  OpenCores I2C controller. For details see
 869	  http://www.opencores.org/projects.cgi/web/i2c/overview
 870
 871	  This driver can also be built as a module.  If so, the module
 872	  will be called i2c-ocores.
 873
 874config I2C_OMAP
 875	tristate "OMAP I2C adapter"
 876	depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST
 877	default y if MACH_OMAP_H3 || MACH_OMAP_OSK
 878	help
 879	  If you say yes to this option, support will be included for the
 880	  I2C interface on the Texas Instruments OMAP1/2 family of processors.
 881	  Like OMAP1510/1610/1710/5912 and OMAP242x.
 882	  For details see http://www.ti.com/omap.
 883
 884config I2C_OWL
 885	tristate "Actions Semiconductor Owl I2C Controller"
 886	depends on ARCH_ACTIONS || COMPILE_TEST
 887	help
 888	  Say Y here if you want to use the I2C bus controller on
 889	  the Actions Semiconductor Owl SoC's.
 890
 891config I2C_PASEMI
 892	tristate "PA Semi SMBus interface"
 893	depends on PPC_PASEMI && PCI
 894	help
 895	  Supports the PA Semi PWRficient on-chip SMBus interfaces.
 896
 897config I2C_APPLE
 898	tristate "Apple SMBus platform driver"
 899	depends on ARCH_APPLE || COMPILE_TEST
 900	default ARCH_APPLE
 901	help
 902	  Say Y here if you want to use the I2C controller present on Apple
 903	  Silicon chips such as the M1.
 904
 905	  This driver can also be built as a module. If so, the module
 906	  will be called i2c-apple.
 907
 908config I2C_PCA_PLATFORM
 909	tristate "PCA9564/PCA9665 as platform device"
 910	select I2C_ALGOPCA
 
 911	help
 912	  This driver supports a memory mapped Philips PCA9564/PCA9665
 913	  parallel bus to I2C bus controller.
 914
 915	  This driver can also be built as a module.  If so, the module
 916	  will be called i2c-pca-platform.
 917
 
 
 
 
 
 
 
 
 
 918config I2C_PNX
 919	tristate "I2C bus support for Philips PNX and NXP LPC targets"
 920	depends on ARCH_LPC32XX || COMPILE_TEST
 921	help
 922	  This driver supports the Philips IP3204 I2C IP block master and/or
 923	  slave controller
 924
 925	  This driver can also be built as a module.  If so, the module
 926	  will be called i2c-pnx.
 927
 
 
 
 
 
 
 
 
 
 
 
 928config I2C_PXA
 929	tristate "Intel PXA2XX I2C adapter"
 930	depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST
 931	help
 932	  If you have devices in the PXA I2C bus, say yes to this option.
 933	  This driver can also be built as a module.  If so, the module
 934	  will be called i2c-pxa.
 935
 936config I2C_PXA_PCI
 937	def_bool I2C_PXA && X86_32 && PCI && OF
 938
 939config I2C_PXA_SLAVE
 940	bool "Intel PXA2XX I2C Slave comms support"
 941	depends on I2C_PXA && !X86_32
 942	select I2C_SLAVE
 943	help
 944	  Support I2C slave mode communications on the PXA I2C bus.  This
 945	  is necessary for systems where the PXA may be a target on the
 946	  I2C bus.
 947
 948config I2C_QCOM_CCI
 949	tristate "Qualcomm Camera Control Interface"
 950	depends on ARCH_QCOM || COMPILE_TEST
 951	help
 952	  If you say yes to this option, support will be included for the
 953	  built-in camera control interface on the Qualcomm SoCs.
 954
 955	  This driver can also be built as a module.  If so, the module
 956	  will be called i2c-qcom-cci.
 957
 958config I2C_QCOM_GENI
 959	tristate "Qualcomm Technologies Inc.'s GENI based I2C controller"
 960	depends on ARCH_QCOM || COMPILE_TEST
 961	depends on QCOM_GENI_SE
 962	help
 963	  This driver supports GENI serial engine based I2C controller in
 964	  master mode on the Qualcomm Technologies Inc.'s SoCs. If you say
 965	  yes to this option, support will be included for the built-in I2C
 966	  interface on the Qualcomm Technologies Inc.'s SoCs.
 967
 968	  This driver can also be built as a module.  If so, the module
 969	  will be called i2c-qcom-geni.
 970
 971config I2C_QUP
 972	tristate "Qualcomm QUP based I2C controller"
 973	depends on ARCH_QCOM || COMPILE_TEST
 974	help
 975	  If you say yes to this option, support will be included for the
 976	  built-in I2C interface on the Qualcomm SoCs.
 
 977
 978	  This driver can also be built as a module.  If so, the module
 979	  will be called i2c-qup.
 980
 981config I2C_RIIC
 982	tristate "Renesas RIIC adapter"
 983	depends on ARCH_RENESAS || COMPILE_TEST
 984	help
 985	  If you say yes to this option, support will be included for the
 986	  Renesas RIIC I2C interface.
 987
 988	  This driver can also be built as a module.  If so, the module
 989	  will be called i2c-riic.
 990
 991config I2C_RK3X
 992	tristate "Rockchip RK3xxx I2C adapter"
 993	depends on OF && COMMON_CLK
 994	help
 995	  Say Y here to include support for the I2C adapter in Rockchip RK3xxx
 996	  SoCs.
 997
 998	  This driver can also be built as a module. If so, the module will
 999	  be called i2c-rk3x.
1000
1001config I2C_RZV2M
1002	tristate "Renesas RZ/V2M adapter"
1003	depends on ARCH_RENESAS || COMPILE_TEST
1004	help
1005	  If you say yes to this option, support will be included for the
1006	  Renesas RZ/V2M  I2C interface.
1007
1008	  This driver can also be built as a module.  If so, the module
1009	  will be called i2c-rzv2m.
1010
1011config I2C_S3C2410
1012	tristate "S3C/Exynos I2C Driver"
1013	depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || \
1014		   ARCH_S5PV210 || COMPILE_TEST
1015	help
1016	  Say Y here to include support for I2C controller in the
1017	  Samsung SoCs (S3C, S5Pv210, Exynos).
1018
1019config I2C_SH7760
1020	tristate "Renesas SH7760 I2C Controller"
1021	depends on CPU_SUBTYPE_SH7760
1022	help
1023	  This driver supports the 2 I2C interfaces on the Renesas SH7760.
1024
1025	  This driver can also be built as a module.  If so, the module
1026	  will be called i2c-sh7760.
1027
1028config I2C_SH_MOBILE
1029	tristate "SuperH Mobile I2C Controller"
1030	depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
1031	help
1032	  If you say yes to this option, support will be included for the
1033	  built-in I2C interface on the Renesas SH-Mobile processor.
1034
1035	  This driver can also be built as a module.  If so, the module
1036	  will be called i2c-sh_mobile.
1037
1038config I2C_SIMTEC
1039	tristate "Simtec Generic I2C interface"
1040	select I2C_ALGOBIT
1041	help
1042	  If you say yes to this option, support will be included for
1043	  the Simtec Generic I2C interface. This driver is for the
1044	  simple I2C bus used on newer Simtec products for general
1045	  I2C, such as DDC on the Simtec BBD2016A.
1046
1047	  This driver can also be built as a module. If so, the module
1048	  will be called i2c-simtec.
1049
1050config I2C_SPRD
1051	tristate "Spreadtrum I2C interface"
1052	depends on I2C=y && (ARCH_SPRD || COMPILE_TEST)
1053	depends on COMMON_CLK
1054	help
1055	  If you say yes to this option, support will be included for the
1056	  Spreadtrum I2C interface.
1057
1058config I2C_ST
1059	tristate "STMicroelectronics SSC I2C support"
1060	depends on ARCH_STI || COMPILE_TEST
1061	help
1062	  Enable this option to add support for STMicroelectronics SoCs
1063	  hardware SSC (Synchronous Serial Controller) as an I2C controller.
1064
1065	  This driver can also be built as module. If so, the module
1066	  will be called i2c-st.
1067
1068config I2C_STM32F4
1069	tristate "STMicroelectronics STM32F4 I2C support"
1070	depends on ARCH_STM32 || COMPILE_TEST
1071	help
1072	  Enable this option to add support for STM32 I2C controller embedded
1073	  in STM32F4 SoCs.
1074
1075	  This driver can also be built as module. If so, the module
1076	  will be called i2c-stm32f4.
1077
1078config I2C_STM32F7
1079	tristate "STMicroelectronics STM32F7 I2C support"
1080	depends on ARCH_STM32 || COMPILE_TEST
1081	select I2C_SLAVE
1082	select I2C_SMBUS
1083	help
1084	  Enable this option to add support for STM32 I2C controller embedded
1085	  in STM32F7 SoCs.
1086
1087	  This driver can also be built as module. If so, the module
1088	  will be called i2c-stm32f7.
1089
1090config I2C_SUN6I_P2WI
1091	tristate "Allwinner sun6i internal P2WI controller"
1092	depends on RESET_CONTROLLER
1093	depends on MACH_SUN6I || COMPILE_TEST
1094	help
1095	  If you say yes to this option, support will be included for the
1096	  P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
1097	  SOCs.
1098	  The P2WI looks like an SMBus controller (which supports only byte
1099	  accesses), except that it only supports one slave device.
1100	  This interface is used to connect to specific PMIC devices (like the
1101	  AXP221).
1102
1103config I2C_SYNQUACER
1104	tristate "Socionext SynQuacer I2C controller"
1105	depends on ARCH_SYNQUACER || COMPILE_TEST
1106	help
1107	  Say Y here to include support for the I2C controller used in some
1108	  Fujitsu and Socionext SoCs.
1109
1110	  This driver can also be built as a module. If so, the module
1111	  will be called i2c-synquacer.
1112
1113config I2C_TEGRA
1114	tristate "NVIDIA Tegra internal I2C controller"
1115	depends on ARCH_TEGRA || (COMPILE_TEST && (ARC || ARM || ARM64 || M68K || RISCV || SUPERH || SPARC))
1116	# COMPILE_TEST needs architectures with readsX()/writesX() primitives
1117	help
1118	  If you say yes to this option, support will be included for the
1119	  I2C controller embedded in NVIDIA Tegra SOCs
1120
1121config I2C_TEGRA_BPMP
1122	tristate "NVIDIA Tegra BPMP I2C controller"
1123	depends on TEGRA_BPMP || COMPILE_TEST
1124	default y if TEGRA_BPMP
1125	help
1126	  If you say yes to this option, support will be included for the I2C
1127	  controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
1128
1129	  This I2C driver is a 'virtual' I2C driver. The real driver is part
1130	  of the BPMP firmware, and this driver merely communicates with that
1131	  real driver.
1132
1133config I2C_UNIPHIER
1134	tristate "UniPhier FIFO-less I2C controller"
1135	depends on ARCH_UNIPHIER || COMPILE_TEST
1136	help
1137	  If you say yes to this option, support will be included for
1138	  the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
1139	  or older UniPhier SoCs.
1140
1141config I2C_UNIPHIER_F
1142	tristate "UniPhier FIFO-builtin I2C controller"
1143	depends on ARCH_UNIPHIER || COMPILE_TEST
1144	help
1145	  If you say yes to this option, support will be included for
1146	  the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
1147	  PH1-Pro5, or newer UniPhier SoCs.
1148
1149config I2C_VERSATILE
1150	tristate "ARM Versatile/Realview I2C bus support"
1151	depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
1152	select I2C_ALGOBIT
1153	help
1154	  Say yes if you want to support the I2C serial bus on ARMs Versatile
1155	  range of platforms.
1156
1157	  This driver can also be built as a module.  If so, the module
1158	  will be called i2c-versatile.
1159
1160config I2C_WMT
1161	tristate "Wondermedia WM8xxx SoC I2C bus support"
1162	depends on ARCH_VT8500 || COMPILE_TEST
1163	help
1164	  Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
1165	  SoCs.
1166
1167	  This driver can also be built as a module. If so, the module will be
1168	  called i2c-wmt.
1169
1170config I2C_OCTEON
1171	tristate "Cavium OCTEON I2C bus support"
1172	depends on CAVIUM_OCTEON_SOC
1173	help
1174	  Say yes if you want to support the I2C serial bus on Cavium
1175	  OCTEON SOC.
1176
1177	  This driver can also be built as a module.  If so, the module
1178	  will be called i2c-octeon.
1179
1180config I2C_THUNDERX
1181	tristate "Cavium ThunderX I2C bus support"
1182	depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
1183	select I2C_SMBUS
1184	help
1185	  Say yes if you want to support the I2C serial bus on Cavium
1186	  ThunderX SOC.
1187
1188	  This driver can also be built as a module.  If so, the module
1189	  will be called i2c-thunderx.
1190
1191config I2C_XILINX
1192	tristate "Xilinx I2C Controller"
1193	depends on HAS_IOMEM
1194	help
1195	  If you say yes to this option, support will be included for the
1196	  Xilinx I2C controller.
1197
1198	  This driver can also be built as a module.  If so, the module
1199	  will be called xilinx_i2c.
1200
1201config I2C_XLP9XX
1202	tristate "Cavium ThunderX2 I2C support"
1203	depends on ARCH_THUNDER2 || COMPILE_TEST
1204	help
1205	  This driver enables support for the on-chip I2C interface of
1206	  the Cavium ThunderX2 processors. (Originally on Netlogic XLP SoCs.)
1207
1208	  This driver can also be built as a module.  If so, the module will
1209	  be called i2c-xlp9xx.
1210
1211config I2C_RCAR
1212	tristate "Renesas R-Car I2C Controller"
1213	depends on ARCH_RENESAS || COMPILE_TEST
1214	select I2C_SLAVE
1215	select I2C_SMBUS
1216	select RESET_CONTROLLER if ARCH_RCAR_GEN3
1217	help
1218	  If you say yes to this option, support will be included for the
1219	  R-Car I2C controller.
1220
1221	  This driver can also be built as a module.  If so, the module
1222	  will be called i2c-rcar.
1223
1224comment "External I2C/SMBus adapter drivers"
1225
1226config I2C_DIOLAN_U2C
1227	tristate "Diolan U2C-12 USB adapter"
1228	depends on USB
1229	help
1230	  If you say yes to this option, support will be included for Diolan
1231	  U2C-12, a USB to I2C interface.
1232
1233	  This driver can also be built as a module.  If so, the module
1234	  will be called i2c-diolan-u2c.
1235
1236config I2C_DLN2
1237	tristate "Diolan DLN-2 USB I2C adapter"
1238	depends on MFD_DLN2
1239	help
1240	 If you say yes to this option, support will be included for Diolan
1241	 DLN2, a USB to I2C interface.
1242
1243	 This driver can also be built as a module.  If so, the module
1244	 will be called i2c-dln2.
1245
1246config I2C_CP2615
1247	tristate "Silicon Labs CP2615 USB sound card and I2C adapter"
1248	depends on USB
1249	help
1250	  If you say yes to this option, support will be included for Silicon
1251	  Labs CP2615's I2C interface.
1252
1253	  This driver can also be built as a module.  If so, the module
1254	  will be called i2c-cp2615.
1255
1256config I2C_PARPORT
1257	tristate "Parallel port adapter"
1258	depends on PARPORT
1259	select I2C_ALGOBIT
1260	select I2C_SMBUS
1261	help
1262	  This supports parallel port I2C adapters such as the ones made by
1263	  Philips or Velleman, Analog Devices evaluation boards, and more.
1264	  Basically any adapter using the parallel port as an I2C bus with
1265	  no extra chipset is supported by this driver, or could be. Please
1266	  read the file Documentation/i2c/busses/i2c-parport.rst for details.
 
 
 
 
 
 
 
 
 
 
1267
1268	  This support is also available as a module.  If so, the module
1269	  will be called i2c-parport.
1270
1271config I2C_PCI1XXXX
1272	tristate "PCI1XXXX I2C Host Adapter"
1273	depends on PCI
 
1274	help
1275	  If you say yes to this option, support will be included for
1276	  Microchip PCI1XXXX's I2C interface.
1277
1278	  This driver can also be built as a module. If so, the module will
1279	  be called i2c-mchp-pci1xxxx.
1280
1281config I2C_ROBOTFUZZ_OSIF
1282	tristate "RobotFuzz Open Source InterFace USB adapter"
1283	depends on USB
1284	help
1285	  If you say yes to this option, support will be included for the
1286	  RobotFuzz Open Source InterFace USB to I2C interface.
 
 
 
 
1287
1288	  This driver can also be built as a module.  If so, the module
1289	  will be called i2c-osif.
1290
1291config I2C_TAOS_EVM
1292	tristate "TAOS evaluation module"
1293	depends on TTY
1294	select SERIO
1295	select SERIO_SERPORT
 
1296	help
1297	  This supports TAOS evaluation modules on serial port. In order to
1298	  use this driver, you will need the inputattach tool, which is part
1299	  of the input-utils package.
1300
1301	  If unsure, say N.
1302
1303	  This support is also available as a module.  If so, the module
1304	  will be called i2c-taos-evm.
1305
1306config I2C_TINY_USB
1307	tristate "Tiny-USB adapter"
1308	depends on USB
1309	help
1310	  If you say yes to this option, support will be included for the
1311	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1312	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1313
1314	  This driver can also be built as a module.  If so, the module
1315	  will be called i2c-tiny-usb.
1316
1317config I2C_VIPERBOARD
1318	tristate "Viperboard I2C master support"
1319	depends on MFD_VIPERBOARD && USB
1320	help
1321	  Say yes here to access the I2C part of the Nano River
1322	  Technologies Viperboard as I2C master.
1323	  See viperboard API specification and Nano
1324	  River Tech's viperboard.h for detailed meaning
1325	  of the module parameters.
1326
1327comment "Other I2C/SMBus bus drivers"
1328
1329config I2C_ACORN
1330	tristate "Acorn IOC/IOMD I2C bus support"
1331	depends on ARCH_ACORN
1332	default y
1333	select I2C_ALGOBIT
1334	help
1335	  Say yes if you want to support the I2C bus on Acorn platforms.
1336
1337	  If you don't know, say Y.
1338
1339config I2C_ELEKTOR
1340	tristate "Elektor ISA card"
1341	depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1342	select I2C_ALGOPCF
1343	help
1344	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
1345	  such an adapter.
1346
1347	  This support is also available as a module.  If so, the module
1348	  will be called i2c-elektor.
1349
1350config I2C_ICY
1351	tristate "ICY Zorro card"
1352	depends on ZORRO
1353	select I2C_ALGOPCF
1354	help
1355	  This supports the PCF8584 Zorro bus I2C adapter, known as ICY.
1356	  Say Y if you own such an adapter.
1357
1358	  This support is also available as a module.  If so, the module
1359	  will be called i2c-icy.
1360
1361	  If you have a 2019 edition board with an LTC2990 sensor at address
1362	  0x4c, loading the module 'ltc2990' is sufficient to enable it.
1363
1364config I2C_MLXCPLD
1365	tristate "Mellanox I2C driver"
1366	depends on X86_64 || COMPILE_TEST
1367	help
1368	  This exposes the Mellanox platform I2C busses to the linux I2C layer
1369	  for X86 based systems.
1370	  Controller is implemented as CPLD logic.
1371
1372	  This driver can also be built as a module. If so, the module will be
1373	  called as i2c-mlxcpld.
1374
1375config I2C_PCA_ISA
1376	tristate "PCA9564/PCA9665 on an ISA bus"
1377	depends on ISA
1378	select I2C_ALGOPCA
 
1379	help
1380	  This driver supports ISA boards using the Philips PCA9564/PCA9665
1381	  parallel bus to I2C bus controller.
1382
1383	  This driver can also be built as a module.  If so, the module
1384	  will be called i2c-pca-isa.
1385
1386	  This device is almost undetectable and using this driver on a
1387	  system which doesn't have this device will result in long
1388	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1389	  time).  If unsure, say N.
1390
1391config I2C_SIBYTE
1392	tristate "SiByte SMBus interface"
1393	depends on SIBYTE_SB1xxx_SOC
1394	help
1395	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1396
1397config I2C_CROS_EC_TUNNEL
1398	tristate "ChromeOS EC tunnel I2C bus"
1399	depends on CROS_EC
1400	help
1401	  If you say yes here you get an I2C bus that will tunnel i2c commands
1402	  through to the other side of the ChromeOS EC to the i2c bus
1403	  connected there. This will work whatever the interface used to
1404	  talk to the EC (SPI, I2C or LPC).
1405
1406config I2C_XGENE_SLIMPRO
1407	tristate "APM X-Gene SoC I2C SLIMpro devices support"
1408	depends on ARCH_XGENE && MAILBOX
1409	help
1410	  Enable I2C bus access using the APM X-Gene SoC SLIMpro
1411	  co-processor. The I2C device access the I2C bus via the X-Gene
1412	  to SLIMpro (On chip coprocessor) mailbox mechanism.
1413	  If unsure, say N.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1414
1415config SCx200_ACB
1416	tristate "Geode ACCESS.bus support"
1417	depends on X86_32 && PCI
1418	help
1419	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1420	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1421
1422	  If you don't know what to do here, say N.
1423
1424	  This support is also available as a module.  If so, the module
1425	  will be called scx200_acb.
1426
1427config I2C_OPAL
1428	tristate "IBM OPAL I2C driver"
1429	depends on PPC_POWERNV
1430	default y
1431	help
1432	  This exposes the PowerNV platform i2c busses to the linux i2c layer,
1433	  the driver is based on the OPAL interfaces.
1434
1435	  This driver can also be built as a module. If so, the module will be
1436	  called as i2c-opal.
1437
1438config I2C_FSI
1439	tristate "FSI I2C driver"
1440	depends on FSI
1441	help
1442	  Driver for FSI bus attached I2C masters. These are I2C masters that
1443	  are connected to the system over an FSI bus, instead of the more
1444	  common PCI or MMIO interface.
1445
1446	  This driver can also be built as a module. If so, the module will be
1447	  called as i2c-fsi.
1448
1449config I2C_VIRTIO
1450        tristate "Virtio I2C Adapter"
1451        select VIRTIO
1452        help
1453          If you say yes to this option, support will be included for the virtio
1454          I2C adapter driver. The hardware can be emulated by any device model
1455          software according to the virtio protocol.
1456
1457          This driver can also be built as a module. If so, the module
1458          will be called i2c-virtio.
1459
1460endmenu
v3.5.6
 
  1#
  2# Sensor device configuration
  3#
  4
  5menu "I2C Hardware Bus support"
 
  6
  7comment "PC SMBus host controller drivers"
  8	depends on PCI
  9
 
 
 
 
 
 
 
 10config I2C_ALI1535
 11	tristate "ALI 1535"
 12	depends on PCI
 13	help
 14	  If you say yes to this option, support will be included for the SMB
 15	  Host controller on Acer Labs Inc. (ALI) M1535 South Bridges.  The SMB
 16	  controller is part of the 7101 device, which is an ACPI-compliant
 17	  Power Management Unit (PMU).
 18
 19	  This driver can also be built as a module.  If so, the module
 20	  will be called i2c-ali1535.
 21
 22config I2C_ALI1563
 23	tristate "ALI 1563"
 24	depends on PCI && EXPERIMENTAL
 25	help
 26	  If you say yes to this option, support will be included for the SMB
 27	  Host controller on Acer Labs Inc. (ALI) M1563 South Bridges.  The SMB
 28	  controller is part of the 7101 device, which is an ACPI-compliant
 29	  Power Management Unit (PMU).
 30
 31	  This driver can also be built as a module.  If so, the module
 32	  will be called i2c-ali1563.
 33
 34config I2C_ALI15X3
 35	tristate "ALI 15x3"
 36	depends on PCI
 37	help
 38	  If you say yes to this option, support will be included for the
 39	  Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
 40
 41	  This driver can also be built as a module.  If so, the module
 42	  will be called i2c-ali15x3.
 43
 44config I2C_AMD756
 45	tristate "AMD 756/766/768/8111 and nVidia nForce"
 46	depends on PCI
 47	help
 48	  If you say yes to this option, support will be included for the AMD
 49	  756/766/768 mainboard I2C interfaces.  The driver also includes
 50	  support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
 51	  the nVidia nForce I2C interface.
 52
 53	  This driver can also be built as a module.  If so, the module
 54	  will be called i2c-amd756.
 55
 56config I2C_AMD756_S4882
 57	tristate "SMBus multiplexing on the Tyan S4882"
 58	depends on I2C_AMD756 && X86 && EXPERIMENTAL
 59	help
 60	  Enabling this option will add specific SMBus support for the Tyan
 61	  S4882 motherboard.  On this 4-CPU board, the SMBus is multiplexed
 62	  over 8 different channels, where the various memory module EEPROMs
 63	  and temperature sensors live.  Saying yes here will give you access
 64	  to these in addition to the trunk.
 65
 66	  This driver can also be built as a module.  If so, the module
 67	  will be called i2c-amd756-s4882.
 68
 69config I2C_AMD8111
 70	tristate "AMD 8111"
 71	depends on PCI
 72	help
 73	  If you say yes to this option, support will be included for the
 74	  second (SMBus 2.0) AMD 8111 mainboard I2C interface.
 75
 76	  This driver can also be built as a module.  If so, the module
 77	  will be called i2c-amd8111.
 78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 79config I2C_I801
 80	tristate "Intel 82801 (ICH/PCH)"
 81	depends on PCI
 
 82	select CHECK_SIGNATURE if X86 && DMI
 
 83	help
 84	  If you say yes to this option, support will be included for the Intel
 85	  801 family of mainboard I2C interfaces.  Specifically, the following
 86	  versions of the chipset are supported:
 87	    82801AA
 88	    82801AB
 89	    82801BA
 90	    82801CA/CAM
 91	    82801DB
 92	    82801EB/ER (ICH5/ICH5R)
 93	    6300ESB
 94	    ICH6
 95	    ICH7
 96	    ESB2
 97	    ICH8
 98	    ICH9
 99	    EP80579 (Tolapai)
100	    ICH10
101	    5/3400 Series (PCH)
102	    6 Series (PCH)
103	    Patsburg (PCH)
104	    DH89xxCC (PCH)
105	    Panther Point (PCH)
106	    Lynx Point (PCH)
107	    Lynx Point-LP (PCH)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
109	  This driver can also be built as a module.  If so, the module
110	  will be called i2c-i801.
111
112config I2C_ISCH
113	tristate "Intel SCH SMBus 1.0"
114	depends on PCI
115	select LPC_SCH
116	help
117	  Say Y here if you want to use SMBus controller on the Intel SCH
118	  based systems.
119
120	  This driver can also be built as a module. If so, the module
121	  will be called i2c-isch.
122
 
 
 
 
 
 
 
 
 
 
123config I2C_PIIX4
124	tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
125	depends on PCI
126	help
127	  If you say yes to this option, support will be included for the Intel
128	  PIIX4 family of mainboard I2C interfaces.  Specifically, the following
129	  versions of the chipset are supported (note that Serverworks is part
130	  of Broadcom):
131	    Intel PIIX4
132	    Intel 440MX
133	    ATI IXP200
134	    ATI IXP300
135	    ATI IXP400
136	    ATI SB600
137	    ATI SB700
138	    ATI SB800
139	    AMD Hudson-2
 
 
 
140	    Serverworks OSB4
141	    Serverworks CSB5
142	    Serverworks CSB6
143	    Serverworks HT-1000
144	    Serverworks HT-1100
145	    SMSC Victory66
146
 
 
 
 
147	  This driver can also be built as a module.  If so, the module
148	  will be called i2c-piix4.
149
 
 
 
 
 
 
 
 
 
 
 
 
150config I2C_NFORCE2
151	tristate "Nvidia nForce2, nForce3 and nForce4"
152	depends on PCI
153	help
154	  If you say yes to this option, support will be included for the Nvidia
155	  nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
156
157	  This driver can also be built as a module.  If so, the module
158	  will be called i2c-nforce2.
159
160config I2C_NFORCE2_S4985
161	tristate "SMBus multiplexing on the Tyan S4985"
162	depends on I2C_NFORCE2 && X86 && EXPERIMENTAL
163	help
164	  Enabling this option will add specific SMBus support for the Tyan
165	  S4985 motherboard.  On this 4-CPU board, the SMBus is multiplexed
166	  over 4 different channels, where the various memory module EEPROMs
167	  live.  Saying yes here will give you access to these in addition
168	  to the trunk.
169
170	  This driver can also be built as a module.  If so, the module
171	  will be called i2c-nforce2-s4985.
172
 
 
 
 
 
 
 
 
 
 
173config I2C_SIS5595
174	tristate "SiS 5595"
175	depends on PCI
176	help
177	  If you say yes to this option, support will be included for the
178	  SiS5595 SMBus (a subset of I2C) interface.
179
180	  This driver can also be built as a module.  If so, the module
181	  will be called i2c-sis5595.
182
183config I2C_SIS630
184	tristate "SiS 630/730"
185	depends on PCI
186	help
187	  If you say yes to this option, support will be included for the
188	  SiS630 and SiS730 SMBus (a subset of I2C) interface.
189
190	  This driver can also be built as a module.  If so, the module
191	  will be called i2c-sis630.
192
193config I2C_SIS96X
194	tristate "SiS 96x"
195	depends on PCI
196	help
197	  If you say yes to this option, support will be included for the SiS
198	  96x SMBus (a subset of I2C) interfaces.  Specifically, the following
199	  chipsets are supported:
200	    645/961
201	    645DX/961
202	    645DX/962
203	    648/961
204	    650/961
205	    735
206	    745
207
208	  This driver can also be built as a module.  If so, the module
209	  will be called i2c-sis96x.
210
211config I2C_VIA
212	tristate "VIA VT82C586B"
213	depends on PCI && EXPERIMENTAL
214	select I2C_ALGOBIT
215	help
216	  If you say yes to this option, support will be included for the VIA
217          82C586B I2C interface
218
219	  This driver can also be built as a module.  If so, the module
220	  will be called i2c-via.
221
222config I2C_VIAPRO
223	tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx"
224	depends on PCI
225	help
226	  If you say yes to this option, support will be included for the VIA
227	  VT82C596 and later SMBus interface.  Specifically, the following
228	  chipsets are supported:
229	    VT82C596A/B
230	    VT82C686A/B
231	    VT8231
232	    VT8233/A
233	    VT8235
234	    VT8237R/A/S
235	    VT8251
236	    CX700
237	    VX800/VX820
238	    VX855/VX875
 
239
240	  This driver can also be built as a module.  If so, the module
241	  will be called i2c-viapro.
242
243if ACPI
244
245comment "ACPI drivers"
246
247config I2C_SCMI
248	tristate "SMBus Control Method Interface"
249	help
250	  This driver supports the SMBus Control Method Interface. It needs the
251	  BIOS to declare ACPI control methods as described in the SMBus Control
252	  Method Interface specification.
253
254	  To compile this driver as a module, choose M here:
255	  the module will be called i2c-scmi.
256
257endif # ACPI
258
259comment "Mac SMBus host controller drivers"
260	depends on PPC_CHRP || PPC_PMAC
261
262config I2C_HYDRA
263	tristate "CHRP Apple Hydra Mac I/O I2C interface"
264	depends on PCI && PPC_CHRP && EXPERIMENTAL
265	select I2C_ALGOBIT
266	help
267	  This supports the use of the I2C interface in the Apple Hydra Mac
268	  I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
269	  have such a machine.
270
271	  This support is also available as a module.  If so, the module
272	  will be called i2c-hydra.
273
274config I2C_POWERMAC
275	tristate "Powermac I2C interface"
276	depends on PPC_PMAC
277	default y
278	help
279	  This exposes the various PowerMac i2c interfaces to the linux i2c
280	  layer and to userland. It is used by various drivers on the PowerMac
281	  platform, and should generally be enabled.
282
283	  This support is also available as a module.  If so, the module
284	  will be called i2c-powermac.
285
286comment "I2C system bus drivers (mostly embedded / system-on-chip)"
287
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
288config I2C_AT91
289	tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
290	depends on ARCH_AT91 && EXPERIMENTAL && BROKEN
291	help
292	  This supports the use of the I2C interface on Atmel AT91
293	  processors.
294
295	  This driver is BROKEN because the controller which it uses
296	  will easily trigger RX overrun and TX underrun errors.  Using
297	  low I2C clock rates may partially work around those issues
298	  on some systems.  Another serious problem is that there is no
299	  documented way to issue repeated START conditions, as needed
300	  to support combined I2C messages.  Use the i2c-gpio driver
301	  unless your system can cope with those limitations.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
302
303config I2C_AU1550
304	tristate "Au1550/Au1200/Au1300 SMBus interface"
305	depends on MIPS_ALCHEMY
306	help
307	  If you say yes to this option, support will be included for the
308	  Au1550/Au1200/Au1300 SMBus interface.
309
310	  This driver can also be built as a module.  If so, the module
311	  will be called i2c-au1550.
312
313config I2C_BLACKFIN_TWI
314	tristate "Blackfin TWI I2C support"
315	depends on BLACKFIN
316	depends on !BF561 && !BF531 && !BF532 && !BF533
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
317	help
318	  This is the I2C bus driver for Blackfin on-chip TWI interface.
 
 
 
319
320	  This driver can also be built as a module.  If so, the module
321	  will be called i2c-bfin-twi.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
322
323config I2C_BLACKFIN_TWI_CLK_KHZ
324	int "Blackfin TWI I2C clock (kHz)"
325	depends on I2C_BLACKFIN_TWI
326	range 21 400
327	default 50
328	help
329	  The unit of the TWI clock is kHz.
 
 
 
 
330
331config I2C_CPM
332	tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
333	depends on (CPM1 || CPM2) && OF_I2C
334	help
335	  This supports the use of the I2C interface on Freescale
336	  processors with CPM1 or CPM2.
337
338	  This driver can also be built as a module.  If so, the module
339	  will be called i2c-cpm.
340
341config I2C_DAVINCI
342	tristate "DaVinci I2C driver"
343	depends on ARCH_DAVINCI
344	help
345	  Support for TI DaVinci I2C controller driver.
346
347	  This driver can also be built as a module.  If so, the module
348	  will be called i2c-davinci.
349
350	  Please note that this driver might be needed to bring up other
351	  devices such as DaVinci NIC.
352	  For details please see http://www.ti.com/davinci
353
354config I2C_DESIGNWARE_CORE
355	tristate
 
 
 
 
 
 
 
 
 
 
 
 
356
357config I2C_DESIGNWARE_PLATFORM
358	tristate "Synopsys DesignWare Platform"
359	depends on HAVE_CLK
360	select I2C_DESIGNWARE_CORE
 
361	help
362	  If you say yes to this option, support will be included for the
363	  Synopsys DesignWare I2C adapter. Only master mode is supported.
364
365	  This driver can also be built as a module.  If so, the module
366	  will be called i2c-designware-platform.
367
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
368config I2C_DESIGNWARE_PCI
369	tristate "Synopsys DesignWare PCI"
370	depends on PCI
371	select I2C_DESIGNWARE_CORE
 
372	help
373	  If you say yes to this option, support will be included for the
374	  Synopsys DesignWare I2C adapter. Only master mode is supported.
375
376	  This driver can also be built as a module.  If so, the module
377	  will be called i2c-designware-pci.
378
 
 
 
 
 
 
 
 
 
379config I2C_EG20T
380	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
381	depends on PCI
382	help
383	  This driver is for PCH(Platform controller Hub) I2C of EG20T which
384	  is an IOH(Input/Output Hub) for x86 embedded processor.
385	  This driver can access PCH I2C bus device.
386
387	  This driver also can be used for LAPIS Semiconductor IOH(Input/
388	  Output Hub), ML7213, ML7223 and ML7831.
389	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
390	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
391	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
392	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
393
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
394config I2C_GPIO
395	tristate "GPIO-based bitbanging I2C"
396	depends on GENERIC_GPIO
397	select I2C_ALGOBIT
398	help
399	  This is a very simple bitbanging I2C driver utilizing the
400	  arch-neutral GPIO API to control the SCL and SDA lines.
401
 
 
 
 
 
 
 
 
402config I2C_HIGHLANDER
403	tristate "Highlander FPGA SMBus interface"
404	depends on SH_HIGHLANDER
405	help
406	  If you say yes to this option, support will be included for
407	  the SMBus interface located in the FPGA on various Highlander
408	  boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
409	  FPGAs. This is wholly unrelated to the SoC I2C.
410
411	  This driver can also be built as a module.  If so, the module
412	  will be called i2c-highlander.
413
 
 
 
 
 
 
 
 
 
 
414config I2C_IBM_IIC
415	tristate "IBM PPC 4xx on-chip I2C interface"
416	depends on 4xx
417	help
418	  Say Y here if you want to use IIC peripheral found on
419	  embedded IBM PPC 4xx based systems.
420
421	  This driver can also be built as a module.  If so, the module
422	  will be called i2c-ibm_iic.
423
 
 
 
 
 
 
 
 
 
 
424config I2C_IMX
425	tristate "IMX I2C interface"
426	depends on ARCH_MXC
 
427	help
428	  Say Y here if you want to use the IIC bus controller on
429	  the Freescale i.MX/MXC processors.
430
431	  This driver can also be built as a module.  If so, the module
432	  will be called i2c-imx.
433
434config I2C_INTEL_MID
435	tristate "Intel Moorestown/Medfield Platform I2C controller"
436	depends on PCI
437	help
438	  Say Y here if you have an Intel Moorestown/Medfield platform I2C
439	  controller.
440
441	  This support is also available as a module. If so, the module
442	  will be called i2c-intel-mid.
443
444config I2C_IOP3XX
445	tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
446	depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
447	help
448	  Say Y here if you want to use the IIC bus controller on
449	  the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
450
451	  This driver can also be built as a module.  If so, the module
452	  will be called i2c-iop3xx.
453
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
454config I2C_MPC
455	tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
456	depends on PPC
457	help
458	  If you say yes to this option, support will be included for the
459	  built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
460	  MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
461
462	  This driver can also be built as a module.  If so, the module
463	  will be called i2c-mpc.
464
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
465config I2C_MV64XXX
466	tristate "Marvell mv64xxx I2C Controller"
467	depends on (MV64X60 || PLAT_ORION) && EXPERIMENTAL
468	help
469	  If you say yes to this option, support will be included for the
470	  built-in I2C interface on the Marvell 64xxx line of host bridges.
 
471
472	  This driver can also be built as a module.  If so, the module
473	  will be called i2c-mv64xxx.
474
475config I2C_MXS
476	tristate "Freescale i.MX28 I2C interface"
477	depends on SOC_IMX28
478	select STMP_DEVICE
479	help
480	  Say Y here if you want to use the I2C bus controller on
481	  the Freescale i.MX28 processors.
482
483	  This driver can also be built as a module.  If so, the module
484	  will be called i2c-mxs.
485
486config I2C_NOMADIK
487	tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
488	depends on PLAT_NOMADIK
489	help
490	  If you say yes to this option, support will be included for the
491	  I2C interface from ST-Ericsson's Nomadik and Ux500 architectures.
 
492
493config I2C_NUC900
494	tristate "NUC900 I2C Driver"
495	depends on ARCH_W90X900
496	help
497	  Say Y here to include support for I2C controller in the
498	  Winbond/Nuvoton NUC900 based System-on-Chip devices.
 
 
499
500config I2C_OCORES
501	tristate "OpenCores I2C Controller"
502	depends on EXPERIMENTAL
503	help
504	  If you say yes to this option, support will be included for the
505	  OpenCores I2C controller. For details see
506	  http://www.opencores.org/projects.cgi/web/i2c/overview
507
508	  This driver can also be built as a module.  If so, the module
509	  will be called i2c-ocores.
510
511config I2C_OMAP
512	tristate "OMAP I2C adapter"
513	depends on ARCH_OMAP
514	default y if MACH_OMAP_H3 || MACH_OMAP_OSK
515	help
516	  If you say yes to this option, support will be included for the
517	  I2C interface on the Texas Instruments OMAP1/2 family of processors.
518	  Like OMAP1510/1610/1710/5912 and OMAP242x.
519	  For details see http://www.ti.com/omap.
520
 
 
 
 
 
 
 
521config I2C_PASEMI
522	tristate "PA Semi SMBus interface"
523	depends on PPC_PASEMI && PCI
524	help
525	  Supports the PA Semi PWRficient on-chip SMBus interfaces.
526
 
 
 
 
 
 
 
 
 
 
 
527config I2C_PCA_PLATFORM
528	tristate "PCA9564/PCA9665 as platform device"
529	select I2C_ALGOPCA
530	default n
531	help
532	  This driver supports a memory mapped Philips PCA9564/PCA9665
533	  parallel bus to I2C bus controller.
534
535	  This driver can also be built as a module.  If so, the module
536	  will be called i2c-pca-platform.
537
538config I2C_PMCMSP
539	tristate "PMC MSP I2C TWI Controller"
540	depends on PMC_MSP
541	help
542	  This driver supports the PMC TWI controller on MSP devices.
543
544	  This driver can also be built as module. If so, the module
545	  will be called i2c-pmcmsp.
546
547config I2C_PNX
548	tristate "I2C bus support for Philips PNX and NXP LPC targets"
549	depends on ARCH_PNX4008 || ARCH_LPC32XX
550	help
551	  This driver supports the Philips IP3204 I2C IP block master and/or
552	  slave controller
553
554	  This driver can also be built as a module.  If so, the module
555	  will be called i2c-pnx.
556
557config I2C_PUV3
558	tristate "PKUnity v3 I2C bus support"
559	depends on UNICORE32 && ARCH_PUV3
560	select I2C_ALGOBIT
561	help
562	  This driver supports the I2C IP inside the PKUnity-v3 SoC.
563	  This I2C bus controller is under AMBA/AXI bus.
564
565	  This driver can also be built as a module.  If so, the module
566	  will be called i2c-puv3.
567
568config I2C_PXA
569	tristate "Intel PXA2XX I2C adapter"
570	depends on ARCH_PXA || ARCH_MMP || (X86_32 && PCI && OF)
571	help
572	  If you have devices in the PXA I2C bus, say yes to this option.
573	  This driver can also be built as a module.  If so, the module
574	  will be called i2c-pxa.
575
576config I2C_PXA_PCI
577	def_bool I2C_PXA && X86_32 && PCI && OF
578
579config I2C_PXA_SLAVE
580	bool "Intel PXA2XX I2C Slave comms support"
581	depends on I2C_PXA && !X86_32
 
582	help
583	  Support I2C slave mode communications on the PXA I2C bus.  This
584	  is necessary for systems where the PXA may be a target on the
585	  I2C bus.
586
587config HAVE_S3C2410_I2C
588	bool
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
589	help
590	  This will include I2C support for Samsung SoCs. If you want to
591	  include I2C support for any machine, kindly select this in the
592	  respective Kconfig file.
593
594config I2C_S3C2410
595	tristate "S3C2410 I2C Driver"
596	depends on HAVE_S3C2410_I2C
 
 
 
 
 
 
 
 
 
 
 
 
 
597	help
598	  Say Y here to include support for I2C controller in the
599	  Samsung SoCs.
 
 
 
600
601config I2C_S6000
602	tristate "S6000 I2C support"
603	depends on XTENSA_VARIANT_S6000
604	help
605	  This driver supports the on chip I2C device on the
606	  S6000 xtensa processor family.
 
 
 
607
608	  To compile this driver as a module, choose M here. The module
609	  will be called i2c-s6000.
 
 
 
 
 
610
611config I2C_SH7760
612	tristate "Renesas SH7760 I2C Controller"
613	depends on CPU_SUBTYPE_SH7760
614	help
615	  This driver supports the 2 I2C interfaces on the Renesas SH7760.
616
617	  This driver can also be built as a module.  If so, the module
618	  will be called i2c-sh7760.
619
620config I2C_SH_MOBILE
621	tristate "SuperH Mobile I2C Controller"
622	depends on SUPERH || ARCH_SHMOBILE
623	help
624	  If you say yes to this option, support will be included for the
625	  built-in I2C interface on the Renesas SH-Mobile processor.
626
627	  This driver can also be built as a module.  If so, the module
628	  will be called i2c-sh_mobile.
629
630config I2C_SIMTEC
631	tristate "Simtec Generic I2C interface"
632	select I2C_ALGOBIT
633	help
634	  If you say yes to this option, support will be included for
635	  the Simtec Generic I2C interface. This driver is for the
636	  simple I2C bus used on newer Simtec products for general
637	  I2C, such as DDC on the Simtec BBD2016A.
638
639	  This driver can also be built as a module. If so, the module
640	  will be called i2c-simtec.
641
642config I2C_SIRF
643	tristate "CSR SiRFprimaII I2C interface"
644	depends on ARCH_PRIMA2
 
645	help
646	  If you say yes to this option, support will be included for the
647	  CSR SiRFprimaII I2C interface.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
648
649	  This driver can also be built as a module.  If so, the module
650	  will be called i2c-sirf.
651
652config I2C_STU300
653	tristate "ST Microelectronics DDC I2C interface"
654	depends on MACH_U300
655	default y if MACH_U300
656	help
657	  If you say yes to this option, support will be included for the
658	  I2C interface from ST Microelectronics simply called "DDC I2C"
659	  supporting both I2C and DDC, used in e.g. the U300 series
660	  mobile platforms.
 
 
 
 
 
 
 
 
 
 
661
662	  This driver can also be built as a module. If so, the module
663	  will be called i2c-stu300.
664
665config I2C_TEGRA
666	tristate "NVIDIA Tegra internal I2C controller"
667	depends on ARCH_TEGRA
 
668	help
669	  If you say yes to this option, support will be included for the
670	  I2C controller embedded in NVIDIA Tegra SOCs
671
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
672config I2C_VERSATILE
673	tristate "ARM Versatile/Realview I2C bus support"
674	depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
675	select I2C_ALGOBIT
676	help
677	  Say yes if you want to support the I2C serial bus on ARMs Versatile
678	  range of platforms.
679
680	  This driver can also be built as a module.  If so, the module
681	  will be called i2c-versatile.
682
 
 
 
 
 
 
 
 
 
 
683config I2C_OCTEON
684	tristate "Cavium OCTEON I2C bus support"
685	depends on CPU_CAVIUM_OCTEON
686	help
687	  Say yes if you want to support the I2C serial bus on Cavium
688	  OCTEON SOC.
689
690	  This driver can also be built as a module.  If so, the module
691	  will be called i2c-octeon.
692
 
 
 
 
 
 
 
 
 
 
 
693config I2C_XILINX
694	tristate "Xilinx I2C Controller"
695	depends on EXPERIMENTAL && HAS_IOMEM
696	help
697	  If you say yes to this option, support will be included for the
698	  Xilinx I2C controller.
699
700	  This driver can also be built as a module.  If so, the module
701	  will be called xilinx_i2c.
702
703config I2C_XLR
704	tristate "XLR I2C support"
705	depends on CPU_XLR
706	help
707	  This driver enables support for the on-chip I2C interface of
708	  the Netlogic XLR/XLS MIPS processors.
 
 
 
 
 
 
 
 
 
 
 
 
 
709
710	  This driver can also be built as a module.  If so, the module
711	  will be called i2c-xlr.
712
713comment "External I2C/SMBus adapter drivers"
714
715config I2C_DIOLAN_U2C
716	tristate "Diolan U2C-12 USB adapter"
717	depends on USB
718	help
719	  If you say yes to this option, support will be included for Diolan
720	  U2C-12, a USB to I2C interface.
721
722	  This driver can also be built as a module.  If so, the module
723	  will be called i2c-diolan-u2c.
724
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
725config I2C_PARPORT
726	tristate "Parallel port adapter"
727	depends on PARPORT
728	select I2C_ALGOBIT
729	select I2C_SMBUS
730	help
731	  This supports parallel port I2C adapters such as the ones made by
732	  Philips or Velleman, Analog Devices evaluation boards, and more.
733	  Basically any adapter using the parallel port as an I2C bus with
734	  no extra chipset is supported by this driver, or could be.
735
736	  This driver is a replacement for (and was inspired by) an older
737	  driver named i2c-philips-par.  The new driver supports more devices,
738	  and makes it easier to add support for new devices.
739
740	  An adapter type parameter is now mandatory.  Please read the file
741	  Documentation/i2c/busses/i2c-parport for details.
742
743	  Another driver exists, named i2c-parport-light, which doesn't depend
744	  on the parport driver.  This is meant for embedded systems. Don't say
745	  Y here if you intend to say Y or M there.
746
747	  This support is also available as a module.  If so, the module
748	  will be called i2c-parport.
749
750config I2C_PARPORT_LIGHT
751	tristate "Parallel port adapter (light)"
752	select I2C_ALGOBIT
753	select I2C_SMBUS
754	help
755	  This supports parallel port I2C adapters such as the ones made by
756	  Philips or Velleman, Analog Devices evaluation boards, and more.
757	  Basically any adapter using the parallel port as an I2C bus with
758	  no extra chipset is supported by this driver, or could be.
 
759
760	  This driver is a light version of i2c-parport.  It doesn't depend
761	  on the parport driver, and uses direct I/O access instead.  This
762	  might be preferred on embedded systems where wasting memory for
763	  the clean but heavy parport handling is not an option.  The
764	  drawback is a reduced portability and the impossibility to
765	  daisy-chain other parallel port devices.
766
767	  Don't say Y here if you said Y or M to i2c-parport.  Saying M to
768	  both is possible but both modules should not be loaded at the same
769	  time.
770
771	  This support is also available as a module.  If so, the module
772	  will be called i2c-parport-light.
773
774config I2C_TAOS_EVM
775	tristate "TAOS evaluation module"
776	depends on EXPERIMENTAL
777	select SERIO
778	select SERIO_SERPORT
779	default n
780	help
781	  This supports TAOS evaluation modules on serial port. In order to
782	  use this driver, you will need the inputattach tool, which is part
783	  of the input-utils package.
784
785	  If unsure, say N.
786
787	  This support is also available as a module.  If so, the module
788	  will be called i2c-taos-evm.
789
790config I2C_TINY_USB
791	tristate "Tiny-USB adapter"
792	depends on USB
793	help
794	  If you say yes to this option, support will be included for the
795	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
796	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
797
798	  This driver can also be built as a module.  If so, the module
799	  will be called i2c-tiny-usb.
800
 
 
 
 
 
 
 
 
 
 
801comment "Other I2C/SMBus bus drivers"
802
803config I2C_ACORN
804	tristate "Acorn IOC/IOMD I2C bus support"
805	depends on ARCH_ACORN
806	default y
807	select I2C_ALGOBIT
808	help
809	  Say yes if you want to support the I2C bus on Acorn platforms.
810
811	  If you don't know, say Y.
812
813config I2C_ELEKTOR
814	tristate "Elektor ISA card"
815	depends on ISA && HAS_IOPORT && BROKEN_ON_SMP
816	select I2C_ALGOPCF
817	help
818	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
819	  such an adapter.
820
821	  This support is also available as a module.  If so, the module
822	  will be called i2c-elektor.
823
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
824config I2C_PCA_ISA
825	tristate "PCA9564/PCA9665 on an ISA bus"
826	depends on ISA
827	select I2C_ALGOPCA
828	default n
829	help
830	  This driver supports ISA boards using the Philips PCA9564/PCA9665
831	  parallel bus to I2C bus controller.
832
833	  This driver can also be built as a module.  If so, the module
834	  will be called i2c-pca-isa.
835
836	  This device is almost undetectable and using this driver on a
837	  system which doesn't have this device will result in long
838	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot
839	  time).  If unsure, say N.
840
841config I2C_SIBYTE
842	tristate "SiByte SMBus interface"
843	depends on SIBYTE_SB1xxx_SOC
844	help
845	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
846
847config I2C_STUB
848	tristate "I2C/SMBus Test Stub"
849	depends on EXPERIMENTAL && m
850	default 'n'
851	help
852	  This module may be useful to developers of SMBus client drivers,
853	  especially for certain kinds of sensor chips.
854
855	  If you do build this module, be sure to read the notes and warnings
856	  in <file:Documentation/i2c/i2c-stub>.
857
858	  If you don't know what to do here, definitely say N.
859
860config SCx200_I2C
861	tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
862	depends on SCx200_GPIO
863	select I2C_ALGOBIT
864	help
865	  Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
866
867	  If you don't know what to do here, say N.
868
869	  This support is also available as a module.  If so, the module
870	  will be called scx200_i2c.
871
872	  This driver is deprecated and will be dropped soon. Use i2c-gpio
873	  (or scx200_acb) instead.
874
875config SCx200_I2C_SCL
876	int "GPIO pin used for SCL"
877	depends on SCx200_I2C
878	default "12"
879	help
880	  Enter the GPIO pin number used for the SCL signal.  This value can
881	  also be specified with a module parameter.
882
883config SCx200_I2C_SDA
884	int "GPIO pin used for SDA"
885	depends on SCx200_I2C
886	default "13"
887	help
888	  Enter the GPIO pin number used for the SSA signal.  This value can
889	  also be specified with a module parameter.
890
891config SCx200_ACB
892	tristate "Geode ACCESS.bus support"
893	depends on X86_32 && PCI
894	help
895	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
896	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
897
898	  If you don't know what to do here, say N.
899
900	  This support is also available as a module.  If so, the module
901	  will be called scx200_acb.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
902
903endmenu