On Thu, Jul 18, 2013 at 11:36:54AM -0700, Andy Lutomirski wrote:
> Sandy Bridge Xeon and Extreme chips have integrated memory controllers
> with (rather limited) onboard SMBUS masters.  This driver gives access
> to the bus.
> 
> Signed-off-by: Andy Lutomirski <[email protected]>
> ---
>  drivers/i2c/busses/Kconfig   |  15 ++
>  drivers/i2c/busses/Makefile  |   1 +
>  drivers/i2c/busses/i2c-imc.c | 548 
> +++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 564 insertions(+)
>  create mode 100644 drivers/i2c/busses/i2c-imc.c
> 
> diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
> index e837f0e..7636782 100644
> --- a/drivers/i2c/busses/Kconfig
> +++ b/drivers/i2c/busses/Kconfig
> @@ -137,6 +137,21 @@ config I2C_DIMM_BUS
>         tristate
>         default n
>  
> +config I2C_IMC
> +     tristate "Intel iMC (LGA 2011) SMBus Controller"
> +     depends on PCI && X86
> +     select I2C_DIMM_BUS
> +     help
> +       If you say yes to this option, support will be included for the Intel
> +       Integrated Memory Controller SMBus host controller interface.  This
> +       controller is found on LGA 2011 Xeons and Core i7 Extremes.
> +
> +       It is possibly, although unlikely, that the use of this driver will
> +       interfere with your platform's RAM thermal management.
> +
> +       This driver can also be built as a module.  If so, the module will be
> +       called i2c-imc.
> +
>  config I2C_PIIX4
>       tristate "Intel PIIX4 and compatible 
> (ATI/AMD/Serverworks/Broadcom/SMSC)"
>       depends on PCI
> diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
> index 226bb2e..790b63d 100644
> --- a/drivers/i2c/busses/Makefile
> +++ b/drivers/i2c/busses/Makefile
> @@ -15,6 +15,7 @@ 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_IMC)                += i2c-imc.o
>  obj-$(CONFIG_I2C_NFORCE2)    += i2c-nforce2.o
>  obj-$(CONFIG_I2C_NFORCE2_S4985)      += i2c-nforce2-s4985.o
>  obj-$(CONFIG_I2C_PIIX4)              += i2c-piix4.o
> diff --git a/drivers/i2c/busses/i2c-imc.c b/drivers/i2c/busses/i2c-imc.c
> new file mode 100644
> index 0000000..9643aeb
> --- /dev/null
> +++ b/drivers/i2c/busses/i2c-imc.c

[ ... ]

> +
> +     i2c_scan_dimm_bus(&ch->adapter);
> +
Wonder if this should (can) be part of the infrastructure, eg by introducing
I2C_CLASS_DIMM.

Guenter
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to