Re: [PATCH 3/5] iio: inv_mpu6050: Check WHO_AM_I register on probe

From: Crestez Dan Leonard
Date: Mon Apr 25 2016 - 07:18:08 EST


On 04/24/2016 02:14 PM, Jonathan Cameron wrote:
> On 20/04/16 14:15, Crestez Dan Leonard wrote:
>> This can be used to distinguish mpu6500. This is a warning rather than
>> an error because the differences are mostly irrelevant and it's nice to
>> avoid breaking users with slightly incorrect ACPI/DT.
>>
>> Signed-off-by: Crestez Dan Leonard <leonard.crestez@xxxxxxxxx>
> Would we be better off fixing their configuration though by using the right part
> if we can identify it? So if wrong, maybe we should search the info table to
> figure out what it is? I'm not certain on this though as then we are trying to
> deal with unknown future cases - maybe what you have here is the best balance.

I'm not sure about that. One issue is that 6000/6050/9150 have the same
WHOAMI value and can't be distinguished this way. They also seem to
identical interfaces. Models MPU6500 and MPU9250 report different WHOAMI
values.

Changing chip_type based on the WHOAMI would require some additional
refactoring. Placing that in a separate patch might be worthwhile anyway.

>> +#define INV_MPU6050_REG_WHOAMI 117
>> +
>> +#define INV_MPU6000_WHOAMI_VALUE 0x68
>> +#define INV_MPU6050_WHOAMI_VALUE 0x68
>> +#define INV_MPU6500_WHOAMI_VALUE 0x70