|
@@ -70,6 +70,7 @@
|
|
|
#define BMA150_CFG_5_REG 0x11
|
|
|
|
|
|
#define BMA150_CHIP_ID 2
|
|
|
+#define BMA180_CHIP_ID 3
|
|
|
#define BMA150_CHIP_ID_REG BMA150_DATA_0_REG
|
|
|
|
|
|
#define BMA150_ACC_X_LSB_REG BMA150_DATA_2_REG
|
|
@@ -539,7 +540,7 @@ static int bma150_probe(struct i2c_client *client,
|
|
|
}
|
|
|
|
|
|
chip_id = i2c_smbus_read_byte_data(client, BMA150_CHIP_ID_REG);
|
|
|
- if (chip_id != BMA150_CHIP_ID) {
|
|
|
+ if (chip_id != BMA150_CHIP_ID && chip_id != BMA180_CHIP_ID) {
|
|
|
dev_err(&client->dev, "BMA150 chip id error: %d\n", chip_id);
|
|
|
return -EINVAL;
|
|
|
}
|
|
@@ -643,6 +644,7 @@ static UNIVERSAL_DEV_PM_OPS(bma150_pm, bma150_suspend, bma150_resume, NULL);
|
|
|
|
|
|
static const struct i2c_device_id bma150_id[] = {
|
|
|
{ "bma150", 0 },
|
|
|
+ { "bma180", 0 },
|
|
|
{ "smb380", 0 },
|
|
|
{ "bma023", 0 },
|
|
|
{ }
|