Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 13f35ac1 authored by Neil Horman's avatar Neil Horman Committed by Wolfram Sang
Browse files

i2c: Adding support for Intel iSMT SMBus 2.0 host controller



The iSMT (Intel SMBus Message Transport) supports multi-master I2C/SMBus,
as well as IPMI.  It's operation is DMA-based and utilizes descriptors to
initiate transactions on the bus.

The iSMT hardware can act as both a master and a target, although this
driver only supports being a master.

Signed-off-by: default avatarNeil Horman <nhorman@tuxdriver.com>
Signed-off-by: default avatarBill Brown <bill.e.brown@intel.com>
Tested-by: default avatarSeth Heasley <seth.heasley@intel.com>
Reviewed-by: default avatarJean Delvare <khali@linux-fr.org>
Signed-off-by: default avatarWolfram Sang <wolfram@the-dreams.de>
parent e7890297
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
Kernel driver i2c-ismt

Supported adapters:
  * Intel S12xx series SOCs

Authors:
	Bill Brown <bill.e.brown@intel.com>


Module Parameters
-----------------

* bus_speed (unsigned int)
Allows changing of the bus speed.  Normally, the bus speed is set by the BIOS
and never needs to be changed.  However, some SMBus analyzers are too slow for
monitoring the bus during debug, thus the need for this module parameter.
Specify the bus speed in kHz.
Available bus frequency settings:
  0  no change
  80 kHz
  100 kHz
  400 kHz
  1000 kHz


Description
-----------

The S12xx series of SOCs have a pair of integrated SMBus 2.0 controllers
targeted primarily at the microserver and storage markets.

The S12xx series contain a pair of PCI functions.  An output of lspci will show
something similar to the following:

  00:13.0 System peripheral: Intel Corporation Centerton SMBus 2.0 Controller 0
  00:13.1 System peripheral: Intel Corporation Centerton SMBus 2.0 Controller 1
+10 −0
Original line number Diff line number Diff line
@@ -122,6 +122,16 @@ config I2C_ISCH
	  This driver can also be built as a module. If so, the module
	  will be called i2c-isch.

config I2C_ISMT
	tristate "Intel iSMT SMBus Controller"
	depends on PCI && X86
	help
	  If you say yes to this option, support will be included for the Intel
	  iSMT SMBus host controller interface.

	  This driver can also be built as a module.  If so, the module will be
	  called i2c-ismt.

config I2C_PIIX4
	tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
	depends on PCI
+1 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ obj-$(CONFIG_I2C_AMD756_S4882) += i2c-amd756-s4882.o
obj-$(CONFIG_I2C_AMD8111)	+= i2c-amd8111.o
obj-$(CONFIG_I2C_I801)		+= i2c-i801.o
obj-$(CONFIG_I2C_ISCH)		+= i2c-isch.o
obj-$(CONFIG_I2C_ISMT)		+= i2c-ismt.o
obj-$(CONFIG_I2C_NFORCE2)	+= i2c-nforce2.o
obj-$(CONFIG_I2C_NFORCE2_S4985)	+= i2c-nforce2-s4985.o
obj-$(CONFIG_I2C_PIIX4)		+= i2c-piix4.o
+963 −0

File added.

Preview size limit exceeded, changes collapsed.