Skip to content

Commit

Permalink
i2c: imc: Add support for Intel iMC SMBus host controller.
Browse files Browse the repository at this point in the history
Modern Intel memory controllers have an SMBus connection to DIMMs and their
eeproms and thermal sensors.

Initially support Broadwell memory controllers and DIMM thermal sensors,
only.

Automatically expose the thermal sensors.

Signed-off-by: Stefan Schaeckeler <sschaeck@cisco.com>
  • Loading branch information
schaecsn authored and intel-lab-lkp committed Feb 23, 2020
1 parent bb6d3fb commit d7855ea
Show file tree
Hide file tree
Showing 4 changed files with 536 additions and 0 deletions.
5 changes: 5 additions & 0 deletions MAINTAINERS
Expand Up @@ -7895,6 +7895,11 @@ F: drivers/i2c/busses/i2c-sis96x.c
F: drivers/i2c/busses/i2c-via.c
F: drivers/i2c/busses/i2c-viapro.c

I2C/SMBUS IMC DRIVER
M: Stefan Schaeckeler <sschaeck@cisco.com>
L: linux-i2c@vger.kernel.org
F: drivers/i2c/busses/i2c-imc.c

I2C/SMBUS INTEL CHT WHISKEY COVE PMIC DRIVER
M: Hans de Goede <hdegoede@redhat.com>
L: linux-i2c@vger.kernel.org
Expand Down
15 changes: 15 additions & 0 deletions drivers/i2c/busses/Kconfig
Expand Up @@ -150,6 +150,21 @@ config I2C_I801
This driver can also be built as a module. If so, the module
will be called i2c-i801.

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

Currently, there is support for Broadwell, only.

Behind the iMC SMBus are DIMMs with eeproms and temperature sensors.
This driver is also instantiating the temperature sensors.

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

config I2C_ISCH
tristate "Intel SCH SMBus 1.0"
depends on PCI
Expand Down
1 change: 1 addition & 0 deletions drivers/i2c/busses/Makefile
Expand Up @@ -15,6 +15,7 @@ obj-$(CONFIG_I2C_AMD756_S4882) += i2c-amd756-s4882.o
obj-$(CONFIG_I2C_AMD8111) += i2c-amd8111.o
obj-$(CONFIG_I2C_CHT_WC) += i2c-cht-wc.o
obj-$(CONFIG_I2C_I801) += i2c-i801.o
obj-$(CONFIG_I2C_IMC) += i2c-imc.o
obj-$(CONFIG_I2C_ISCH) += i2c-isch.o
obj-$(CONFIG_I2C_ISMT) += i2c-ismt.o
obj-$(CONFIG_I2C_NFORCE2) += i2c-nforce2.o
Expand Down

0 comments on commit d7855ea

Please sign in to comment.