You've already forked linux-rockchip
mirror of
https://github.com/armbian/linux-rockchip.git
synced 2026-01-06 11:08:10 -08:00
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: Neil Horman <nhorman@tuxdriver.com> Signed-off-by: Bill Brown <bill.e.brown@intel.com> Tested-by: Seth Heasley <seth.heasley@intel.com> Reviewed-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Wolfram Sang <wolfram@the-dreams.de>
This commit is contained in:
committed by
Wolfram Sang
parent
e789029761
commit
13f35ac14c
36
Documentation/i2c/busses/i2c-ismt
Normal file
36
Documentation/i2c/busses/i2c-ismt
Normal file
@@ -0,0 +1,36 @@
|
||||
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
|
||||
@@ -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
|
||||
|
||||
@@ -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
drivers/i2c/busses/i2c-ismt.c
Normal file
963
drivers/i2c/busses/i2c-ismt.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user