| .. | .. |
|---|
| 18 | 18 | unsigned int mask, val; |
|---|
| 19 | 19 | int ret; |
|---|
| 20 | 20 | |
|---|
| 21 | | - /* setup interface registers */ |
|---|
| 22 | | - ret = regmap_update_bits(st->map, INV_ICM42600_REG_INTF_CONFIG6, |
|---|
| 23 | | - INV_ICM42600_INTF_CONFIG6_MASK, |
|---|
| 24 | | - INV_ICM42600_INTF_CONFIG6_I3C_EN); |
|---|
| 25 | | - if (ret) |
|---|
| 26 | | - return ret; |
|---|
| 21 | + /* |
|---|
| 22 | + * setup interface registers |
|---|
| 23 | + * This register write to REG_INTF_CONFIG6 enables a spike filter that |
|---|
| 24 | + * is impacting the line and can prevent the I2C ACK to be seen by the |
|---|
| 25 | + * controller. So we don't test the return value. |
|---|
| 26 | + */ |
|---|
| 27 | + regmap_update_bits(st->map, INV_ICM42600_REG_INTF_CONFIG6, |
|---|
| 28 | + INV_ICM42600_INTF_CONFIG6_MASK, |
|---|
| 29 | + INV_ICM42600_INTF_CONFIG6_I3C_EN); |
|---|
| 27 | 30 | |
|---|
| 28 | 31 | ret = regmap_update_bits(st->map, INV_ICM42600_REG_INTF_CONFIG4, |
|---|
| 29 | 32 | INV_ICM42600_INTF_CONFIG4_I3C_BUS_ONLY, 0); |
|---|
| .. | .. |
|---|
| 70 | 73 | |
|---|
| 71 | 74 | static const struct of_device_id inv_icm42600_of_matches[] = { |
|---|
| 72 | 75 | { |
|---|
| 73 | | - .compatible = "invensense,icm40608", |
|---|
| 74 | | - .data = (void *)INV_CHIP_ICM40608, |
|---|
| 75 | | - }, { |
|---|
| 76 | 76 | .compatible = "invensense,icm42600", |
|---|
| 77 | 77 | .data = (void *)INV_CHIP_ICM42600, |
|---|
| 78 | 78 | }, { |
|---|