|
@@ -56,23 +56,18 @@ enum chips { ltc2974, ltc2975, ltc2977, ltc2978, ltc3880, ltc3882, ltc3883,
|
|
|
#define LTC2975_MFR_PIN_PEAK 0xc6
|
|
|
#define LTC2975_MFR_PIN_MIN 0xc7
|
|
|
|
|
|
-#define LTC2974_ID_REV1 0x0212
|
|
|
-#define LTC2974_ID_REV2 0x0213
|
|
|
-#define LTC2975_ID 0x0223
|
|
|
+#define LTC2978_ID_MASK 0xfff0
|
|
|
+
|
|
|
+#define LTC2974_ID 0x0210
|
|
|
+#define LTC2975_ID 0x0220
|
|
|
#define LTC2977_ID 0x0130
|
|
|
-#define LTC2978_ID_REV1 0x0121
|
|
|
-#define LTC2978_ID_REV2 0x0122
|
|
|
-#define LTC2978A_ID 0x0124
|
|
|
-#define LTC3880_ID 0x4000
|
|
|
-#define LTC3880_ID_MASK 0xff00
|
|
|
+#define LTC2978_ID 0x0120
|
|
|
+#define LTC3880_ID 0x4020
|
|
|
#define LTC3883_ID 0x4300
|
|
|
-#define LTC3883_ID_MASK 0xff00
|
|
|
#define LTC3887_ID 0x4700
|
|
|
-#define LTC3887_ID_MASK 0xff00
|
|
|
-#define LTM4676_ID 0x4400
|
|
|
-#define LTM4676_ID_2 0x4480
|
|
|
+#define LTM4676_ID_REV1 0x4400
|
|
|
+#define LTM4676_ID_REV2 0x4480
|
|
|
#define LTM4676A_ID 0x47e0
|
|
|
-#define LTM4676_ID_MASK 0xfff0
|
|
|
|
|
|
#define LTC2974_NUM_PAGES 4
|
|
|
#define LTC2978_NUM_PAGES 8
|
|
@@ -463,24 +458,24 @@ static int ltc2978_get_id(struct i2c_client *client)
|
|
|
return -ENODEV;
|
|
|
}
|
|
|
|
|
|
- if (chip_id == LTC2974_ID_REV1 || chip_id == LTC2974_ID_REV2)
|
|
|
+ chip_id &= LTC2978_ID_MASK;
|
|
|
+
|
|
|
+ if (chip_id == LTC2974_ID)
|
|
|
return ltc2974;
|
|
|
else if (chip_id == LTC2975_ID)
|
|
|
return ltc2975;
|
|
|
else if (chip_id == LTC2977_ID)
|
|
|
return ltc2977;
|
|
|
- else if (chip_id == LTC2978_ID_REV1 || chip_id == LTC2978_ID_REV2 ||
|
|
|
- chip_id == LTC2978A_ID)
|
|
|
+ else if (chip_id == LTC2978_ID)
|
|
|
return ltc2978;
|
|
|
- else if ((chip_id & LTC3880_ID_MASK) == LTC3880_ID)
|
|
|
+ else if (chip_id == LTC3880_ID)
|
|
|
return ltc3880;
|
|
|
- else if ((chip_id & LTC3883_ID_MASK) == LTC3883_ID)
|
|
|
+ else if (chip_id == LTC3883_ID)
|
|
|
return ltc3883;
|
|
|
- else if ((chip_id & LTC3887_ID_MASK) == LTC3887_ID)
|
|
|
+ else if (chip_id == LTC3887_ID)
|
|
|
return ltc3887;
|
|
|
- else if ((chip_id & LTM4676_ID_MASK) == LTM4676_ID ||
|
|
|
- (chip_id & LTM4676_ID_MASK) == LTM4676_ID_2 ||
|
|
|
- (chip_id & LTM4676_ID_MASK) == LTM4676A_ID)
|
|
|
+ else if (chip_id == LTM4676_ID_REV1 || chip_id == LTM4676_ID_REV2 ||
|
|
|
+ chip_id == LTM4676A_ID)
|
|
|
return ltm4676;
|
|
|
|
|
|
dev_err(&client->dev, "Unsupported chip ID 0x%x\n", chip_id);
|