Message ID | 20231102090808.427351-1-Delphine_CC_Chiu@wiwynn.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v2] hwmon: emc1403: Add support for EMC1442 | expand |
On Thu, Nov 02, 2023 at 05:08:07PM +0800, Delphine CC Chiu wrote: I have a datasheet for this chip with a "Revision 1.0 (10-25-10)" in the footer. Reviewed the change against the datasheet. > Add support for EMC1442 which is compatible with EMC1403. > > Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com> > --- > change in v2: > Revised emc1403 to emc1402 > + case 0x60: > + strscpy(info->type, "emc1442", I2C_NAME_SIZE); > + break; Confirmed against datasheet. Section 2.2 "Register Set Delta" specifies: - Product ID | 60h > static const unsigned short emc1403_address_list[] = { > - 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c, I2C_CLIENT_END > + 0x18, 0x1c, 0x29, 0x3c, 0x4c, 0x4d, 0x5c, I2C_CLIENT_END Confirmed against datasheet. Section 5.1.2 "SMBus Address and RD/WR Bit" has a table indicating that a 22k pull-up resistor corresponds to `0011_100?` binary. > { "emc1422", emc1402 }, > { "emc1423", emc1403 }, > { "emc1424", emc1404 }, > + { "emc1442", emc1402 }, Datasheet section 2.1 is titled "Functional Delta from EMC1412 to EMC1442", with minimal differences. We map "emc1412" to `emc1402`, so mapping "emc1442" to the same should be appropriate. Reviewed-by: Patrick Williams <patrick@stwcx.xyz>
On 11/2/23 02:08, Delphine CC Chiu wrote: > Add support for EMC1442 which is compatible with EMC1403. ^^^^^^^ EMC1402 NP, I can fix that up when applying. > > Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com> > --- > change in v2: > Revised emc1403 to emc1402 > --- > drivers/hwmon/emc1403.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/hwmon/emc1403.c b/drivers/hwmon/emc1403.c > index bb7c859e799d..1332e4ac078c 100644 > --- a/drivers/hwmon/emc1403.c > +++ b/drivers/hwmon/emc1403.c > @@ -346,6 +346,9 @@ static int emc1403_detect(struct i2c_client *client, > case 0x27: > strscpy(info->type, "emc1424", I2C_NAME_SIZE); > break; > + case 0x60: > + strscpy(info->type, "emc1442", I2C_NAME_SIZE); > + break; > default: > return -ENODEV; > } > @@ -430,7 +433,7 @@ static int emc1403_probe(struct i2c_client *client) > } > > static const unsigned short emc1403_address_list[] = { > - 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c, I2C_CLIENT_END > + 0x18, 0x1c, 0x29, 0x3c, 0x4c, 0x4d, 0x5c, I2C_CLIENT_END ^^^^ This also needs confirmation from someone (else) with a datasheet. Thanks, Guenter > }; > > /* Last digit of chip name indicates number of channels */ > @@ -444,6 +447,7 @@ static const struct i2c_device_id emc1403_idtable[] = { > { "emc1422", emc1402 }, > { "emc1423", emc1403 }, > { "emc1424", emc1404 }, > + { "emc1442", emc1402 }, > { } > }; > MODULE_DEVICE_TABLE(i2c, emc1403_idtable);
On 11/2/23 06:26, Patrick Williams wrote: > On Thu, Nov 02, 2023 at 05:08:07PM +0800, Delphine CC Chiu wrote: > > I have a datasheet for this chip with a "Revision 1.0 (10-25-10)" in the > footer. Reviewed the change against the datasheet. > >> Add support for EMC1442 which is compatible with EMC1403. >> >> Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com> >> --- >> change in v2: >> Revised emc1403 to emc1402 > >> + case 0x60: >> + strscpy(info->type, "emc1442", I2C_NAME_SIZE); >> + break; > > Confirmed against datasheet. > > Section 2.2 "Register Set Delta" specifies: > - Product ID | 60h > >> static const unsigned short emc1403_address_list[] = { >> - 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c, I2C_CLIENT_END >> + 0x18, 0x1c, 0x29, 0x3c, 0x4c, 0x4d, 0x5c, I2C_CLIENT_END > > Confirmed against datasheet. > > Section 5.1.2 "SMBus Address and RD/WR Bit" has a table indicating that > a 22k pull-up resistor corresponds to `0011_100?` binary. > >> { "emc1422", emc1402 }, >> { "emc1423", emc1403 }, >> { "emc1424", emc1404 }, >> + { "emc1442", emc1402 }, > > Datasheet section 2.1 is titled "Functional Delta from EMC1412 to > EMC1442", with minimal differences. We map "emc1412" to `emc1402`, so > mapping "emc1442" to the same should be appropriate. > > > Reviewed-by: Patrick Williams <patrick@stwcx.xyz> > Thanks. I'll apply, and fix the description while doing so. Guenter
diff --git a/drivers/hwmon/emc1403.c b/drivers/hwmon/emc1403.c index bb7c859e799d..1332e4ac078c 100644 --- a/drivers/hwmon/emc1403.c +++ b/drivers/hwmon/emc1403.c @@ -346,6 +346,9 @@ static int emc1403_detect(struct i2c_client *client, case 0x27: strscpy(info->type, "emc1424", I2C_NAME_SIZE); break; + case 0x60: + strscpy(info->type, "emc1442", I2C_NAME_SIZE); + break; default: return -ENODEV; } @@ -430,7 +433,7 @@ static int emc1403_probe(struct i2c_client *client) } static const unsigned short emc1403_address_list[] = { - 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c, I2C_CLIENT_END + 0x18, 0x1c, 0x29, 0x3c, 0x4c, 0x4d, 0x5c, I2C_CLIENT_END }; /* Last digit of chip name indicates number of channels */ @@ -444,6 +447,7 @@ static const struct i2c_device_id emc1403_idtable[] = { { "emc1422", emc1402 }, { "emc1423", emc1403 }, { "emc1424", emc1404 }, + { "emc1442", emc1402 }, { } }; MODULE_DEVICE_TABLE(i2c, emc1403_idtable);
Add support for EMC1442 which is compatible with EMC1403. Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com> --- change in v2: Revised emc1403 to emc1402 --- drivers/hwmon/emc1403.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)