diff mbox series

[v3] i2c: i801: Add lis3lv02d for Dell Precision M6800

Message ID 20240312193132.26518-1-hoehnp@gmx.de
State New
Headers show
Series [v3] i2c: i801: Add lis3lv02d for Dell Precision M6800 | expand

Commit Message

Patrick Höhn March 12, 2024, 7:31 p.m. UTC
On the Dell Precision M6800/OXD1M5, BIOS A26 06/13/2029, Linux prints the
warning below.

    i801_smbus 0000:00:1f.4: Accelerometer lis3lv02d is present on SMBus but its address is unknown, skipping registration

Following the same suggestions by Wolfram Sang as for the Dell Precision
3540 [1], the accelerometer can be successfully found on I2C bus 0 at
address 0x29.

    $ echo lis3lv02d 0x29 | sudo tee /sys/bus/i2c/devices/i2c-0/new_device
    lis3lv02d 0x29
    $ dmesg | tail -5
    [1185.385204] lis3lv02d_i2c 0-0029: supply Vdd not found, using dummy regulator
    [1185.385235] lis3lv02d_i2c 0-0029: supply Vdd_IO not found, using dummy regulator
    [1185.399689] lis3lv02d: 8 bits 3DC sensor found
    [1185.449391] input: ST LIS3LV02DL Accelerometer as /devices/platform/lis3lv02d/input/input371
    [1185.449577] i2c i2c-0: new_device: Instantiated device lis3lv02d at 0x29

So, the device has that accelerometer. Add the I2C address to the
mapping list, and test it successfully on the device.

[1]: https://lore.kernel.org/linux-i2c/97708c11-ac85-fb62-2c8e-d37739ca826f@molgen.mpg.de/
Signed-off-by: Patrick Höhn <hoehnp@gmx.de>
---
 drivers/i2c/busses/i2c-i801.c | 1 +
 1 file changed, 1 insertion(+)

--
2.43.2

Comments

Paul Menzel May 6, 2024, 7:07 a.m. UTC | #1
Dear Linux folks,


Am 12.03.24 um 20:49 schrieb Pali Rohár:
> On Tuesday 12 March 2024 20:31:31 Patrick Höhn wrote:
>> On the Dell Precision M6800/OXD1M5, BIOS A26 06/13/2029, Linux prints the
>> warning below.
>>
>>      i801_smbus 0000:00:1f.4: Accelerometer lis3lv02d is present on SMBus but its address is unknown, skipping registration
>>
>> Following the same suggestions by Wolfram Sang as for the Dell Precision
>> 3540 [1], the accelerometer can be successfully found on I2C bus 0 at
>> address 0x29.
> 
> Just to note for other users in future. I2C does not have to be assigned
> with number 0. This number is chosen by the kernel at runtime as the
> first unused number. So in case you have VGA adapter (or GPU) for which
> is i2c driver available and loaded + probed before i801_smbus is loaded
> and probed then kernel would report accelerometer at different bus
> number. On the other hand, accelerometer address on I2C bus normally
> should not change (configurable device can change it but we should hope
> that it does not happen).
> 
> The correct number of bus can be found by the i2cdetect command too:
> 
>    # i2cdetect -l | grep I801
> 
> For me it prints:
> 
>    i2c-0   unknown         SMBus I801 adapter at f040              N/A
> 
>>
>>      $ echo lis3lv02d 0x29 | sudo tee /sys/bus/i2c/devices/i2c-0/new_device
>>      lis3lv02d 0x29
>>      $ dmesg | tail -5
>>      [1185.385204] lis3lv02d_i2c 0-0029: supply Vdd not found, using dummy regulator
>>      [1185.385235] lis3lv02d_i2c 0-0029: supply Vdd_IO not found, using dummy regulator
>>      [1185.399689] lis3lv02d: 8 bits 3DC sensor found
>>      [1185.449391] input: ST LIS3LV02DL Accelerometer as /devices/platform/lis3lv02d/input/input371
>>      [1185.449577] i2c i2c-0: new_device: Instantiated device lis3lv02d at 0x29
>>
>> So, the device has that accelerometer. Add the I2C address to the
>> mapping list, and test it successfully on the device.
>>
>> [1]: https://lore.kernel.org/linux-i2c/97708c11-ac85-fb62-2c8e-d37739ca826f@molgen.mpg.de/
>> Signed-off-by: Patrick Höhn <hoehnp@gmx.de>
> 
> Otherwise looks good,
> 
> Acked-by: Pali Rohár <pali@kernel.org>

Is there anything else to do from Patrick’s side before adding the patch 
to the git archive?


Kind regards,

Paul


>> ---
>>   drivers/i2c/busses/i2c-i801.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
>> index 2c36b36d7d51..c1fee2c61da1 100644
>> --- a/drivers/i2c/busses/i2c-i801.c
>> +++ b/drivers/i2c/busses/i2c-i801.c
>> @@ -1231,6 +1231,7 @@ static const struct {
>>   	 */
>>   	{ "Latitude 5480",      0x29 },
>>   	{ "Precision 3540",     0x29 },
>> +	{ "Precision M6800",    0x29 },
>>   	{ "Vostro V131",        0x1d },
>>   	{ "Vostro 5568",        0x29 },
>>   	{ "XPS 15 7590",        0x29 },
>> --
>> 2.43.2
diff mbox series

Patch

diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
index 2c36b36d7d51..c1fee2c61da1 100644
--- a/drivers/i2c/busses/i2c-i801.c
+++ b/drivers/i2c/busses/i2c-i801.c
@@ -1231,6 +1231,7 @@  static const struct {
 	 */
 	{ "Latitude 5480",      0x29 },
 	{ "Precision 3540",     0x29 },
+	{ "Precision M6800",    0x29 },
 	{ "Vostro V131",        0x1d },
 	{ "Vostro 5568",        0x29 },
 	{ "XPS 15 7590",        0x29 },