On 2024-05-30 13:46:48+0000, Guenter Roeck wrote: > On 5/30/24 13:20, Thomas Weißschuh wrote: > > On 2024-05-29 13:52:03+0000, Guenter Roeck wrote: > > > Add support for SPD5118 (Jedec JESD300-5B.01) compliant temperature > > > sensors. Such sensors are typically found on DDR5 memory modules. > > > > I can get the module to automatically probe with this change: > > > > diff --git a/drivers/i2c/i2c-smbus.c b/drivers/i2c/i2c-smbus.c > > index 97f338b123b1..8d9218f755d7 100644 > > --- a/drivers/i2c/i2c-smbus.c > > +++ b/drivers/i2c/i2c-smbus.c > > @@ -382,6 +386,10 @@ void i2c_register_spd(struct i2c_adapter *adap) > > case 0x1E: /* LPDDR4 */ > > name = "ee1004"; > > break; > > + case 0x22: /* DDR5 */ > > + case 0x23: /* LPDDR5 */ > > + name = "spd5118"; > > + break; > > default: > > dev_info(&adap->dev, > > "Memory type 0x%02x not supported yet, not instantiating SPD\n", > > > > (Credits go to Paul Menzel [0]) > > > > Maybe you can add that to your series. > > > > That is specifically for SPD (eeprom) support, which I didn't provide > in the driver. It does not register the equivalent jc42.4 temperature > sensor either. Given that, using the code to register a temperature > sensor seems inappropriate. I see, I wasn't aware about the specifics of SPD. It felt like a nice way to get automatic probing. (I was wondering about that today before) > I didn't include accessing the SPD eeprom to the driver because I don't > have a use case. I don't mind adding it, though, if others think that it is > important. Wolfgang seems to think it's important: https://lore.kernel.org/lkml/tdia472d4pow2osabef24y2ujkkquplfajxmmtk5pnxllsdxsz@wxzynz7llasr/ > > To also work with my PIIX4 I2C bus, I also need: > > > > diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig > > index fe6e8a1bb607..ff66e883b348 100644 > > --- a/drivers/i2c/busses/Kconfig > > +++ b/drivers/i2c/busses/Kconfig > > @@ -195,6 +195,7 @@ config I2C_ISMT > > config I2C_PIIX4 > > tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)" > > depends on PCI && HAS_IOPORT > > + select I2C_SMBUS > > help > > If you say yes to this option, support will be included for the Intel > > PIIX4 family of mainboard I2C interfaces. Specifically, the following > > diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c > > index 6a0392172b2f..f8d81f8c0cb3 100644 > > --- a/drivers/i2c/busses/i2c-piix4.c > > +++ b/drivers/i2c/busses/i2c-piix4.c > > @@ -29,6 +29,7 @@ > > #include <linux/stddef.h> > > #include <linux/ioport.h> > > #include <linux/i2c.h> > > +#include <linux/i2c-smbus.h> > > #include <linux/slab.h> > > #include <linux/dmi.h> > > #include <linux/acpi.h> > > @@ -982,6 +983,8 @@ static int piix4_add_adapter(struct pci_dev *dev, unsigned short smba, > > return retval; > > } > > > > + i2c_register_spd(adap); > > + > > *padap = adap; > > return 0; > > } > > > > Though I guess it's not the right place to call i2c_register_sdp(), > > I'll look at it some more and then submit it. > > > > Hmm, I didn't find a better place though. > > Please copy me when you submit a patch; I can test it on an AMD system with > DDR4. Will do. Thomas