On Thu, Jan 26, 2023 at 03:02:22PM +1100, Frank Crawford wrote: > Add IT87952E, a new chip ID (DEV ID 0x8695), which appears to be an > updated version of the IT8792E and takes the same configuration. > > The model name comes from the model name printed on the chip. > > There is no datasheet publicly available. > > Signed-off-by: Frank Crawford <frank@xxxxxxxxxxxxxxxxxx> > --- > drivers/hwmon/it87.c | 17 ++++++++++++++++- > 1 file changed, 16 insertions(+), 1 deletion(-) > > diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c > index e8eeedd23bee..85ecc61dbf9e 100644 > --- a/drivers/hwmon/it87.c > +++ b/drivers/hwmon/it87.c > @@ -34,6 +34,7 @@ > * IT8786E Super I/O chip w/LPC interface > * IT8790E Super I/O chip w/LPC interface > * IT8792E Super I/O chip w/LPC interface > + * IT87952E Super I/O chip w/LPC interface > * Sis950 A clone of the IT8705F > * > * Copyright (C) 2001 Chris Gauthron > @@ -63,7 +64,7 @@ > > enum chips { it87, it8712, it8716, it8718, it8720, it8721, it8728, it8732, > it8771, it8772, it8781, it8782, it8783, it8786, it8790, > - it8792, it8603, it8620, it8622, it8628 }; > + it8792, it8603, it8620, it8622, it8628, it87952 }; > > static struct platform_device *it87_pdev[2]; > > @@ -160,6 +161,7 @@ static inline void superio_exit(int ioreg, bool doexit) > #define IT8622E_DEVID 0x8622 > #define IT8623E_DEVID 0x8623 > #define IT8628E_DEVID 0x8628 > +#define IT87952E_DEVID 0x8695 > #define IT87_ACT_REG 0x30 > #define IT87_BASE_REG 0x60 > > @@ -470,6 +472,15 @@ static const struct it87_devices it87_devices[] = { > | FEAT_SIX_TEMP | FEAT_VIN3_5V, > .peci_mask = 0x07, > }, > + [it87952] = { > + .name = "it87952", > + .model = "IT87952E", > + .features = FEAT_NEWER_AUTOPWM | FEAT_16BIT_FANS > + | FEAT_TEMP_OFFSET | FEAT_TEMP_OLD_PECI | FEAT_TEMP_PECI > + | FEAT_10_9MV_ADC | FEAT_IN7_INTERNAL, > + .peci_mask = 0x07, > + .old_peci_mask = 0x02, /* Actually reports PCH */ > + }, > }; > > #define has_16bit_fans(data) ((data)->features & FEAT_16BIT_FANS) > @@ -2501,6 +2512,10 @@ static int __init it87_find(int sioaddr, unsigned short *address, > case IT8628E_DEVID: > sio_data->type = it8628; > break; > + case IT87952E_DEVID: > + sio_data->type = it87952; > + doexit = false; /* See IT8792E comment above */ > + break; Is that true for this chip as well ? I would have hoped they fix the problem for an updated version of the same chip. Thanks, Guenter > case 0xffff: /* No device at all */ > goto exit; > default: > -- > 2.39.1 >