Message ID | 20240312193132.26518-1-hoehnp@gmx.de |
---|---|
State | New |
Headers | show |
Series | [v3] i2c: i801: Add lis3lv02d for Dell Precision M6800 | expand |
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 --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 },
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