diff mbox series

[1/2] i2c: i801: Add 0x29 as I²C address for lis3lv02d in Dell Precision 3540

Message ID 20231220161003.68310-1-pmenzel@molgen.mpg.de
State New
Headers show
Series [1/2] i2c: i801: Add 0x29 as I²C address for lis3lv02d in Dell Precision 3540 | expand

Commit Message

Paul Menzel Dec. 20, 2023, 4:10 p.m. UTC
On the Dell Precision 3540/0M14W7, BIOS 1.7.4 05/12/2020, Linux prints
the warning below.

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

With the help of Wolfram Sang, the test to probe it on I²C bus 6 at address
0x29 was successful.

    $ cd /sys/bus/pci/drivers/i801_smbus/0000:00:1f.4
    $ ls -d i2c-?
    i2c-6
    $ sudo i2cdetect 6
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-6.
    I will probe address range 0x08-0x77.
    Continue? [Y/n] Y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:                         08 -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- 29 -- -- -- -- -- --
    30: 30 -- -- -- -- 35 UU UU -- -- -- -- -- -- -- --
    40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
    50: UU -- 52 -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --

    $ echo lis3lv02d 0x29 | sudo tee /sys/bus/i2c/devices/i2c-6/new_device
    $ sudo dmesg
    […]
    [ 2110.787000] i2c i2c-6: new_device: Instantiated device lis3lv02d at 0x29
    [ 2110.791932] lis3lv02d_i2c 6-0029: supply Vdd not found, using dummy regulator
    [ 2110.791981] lis3lv02d_i2c 6-0029: supply Vdd_IO not found, using dummy regulator
    [ 2110.809233] lis3lv02d: 8 bits 3DC sensor found
    [ 2110.900668] input: ST LIS3LV02DL Accelerometer as /devices/platform/lis3lv02d/input/input23

So, the device has that accelerometer. Add the I2C address to the
mapping list.

Link: https://lore.kernel.org/linux-i2c/97708c11-ac85-fb62-2c8e-d37739ca826f@molgen.mpg.de/
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
---
 drivers/i2c/busses/i2c-i801.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Wolfram Sang Dec. 22, 2023, 10:40 a.m. UTC | #1
On Wed, Dec 20, 2023 at 05:10:01PM +0100, Paul Menzel wrote:
> On the Dell Precision 3540/0M14W7, BIOS 1.7.4 05/12/2020, Linux prints
> the warning below.
> 
>     i801_smbus 0000:00:1f.4: Accelerometer lis3lv02d is present on SMBus but its address is unknown, skipping registration
> 
> With the help of Wolfram Sang, the test to probe it on I²C bus 6 at address
> 0x29 was successful.
> 
>     $ cd /sys/bus/pci/drivers/i801_smbus/0000:00:1f.4
>     $ ls -d i2c-?
>     i2c-6
>     $ sudo i2cdetect 6
>     WARNING! This program can confuse your I2C bus, cause data loss and worse!
>     I will probe file /dev/i2c-6.
>     I will probe address range 0x08-0x77.
>     Continue? [Y/n] Y
>          0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
>     00:                         08 -- -- -- -- -- -- --
>     10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>     20: -- -- -- -- -- -- -- -- -- 29 -- -- -- -- -- --
>     30: 30 -- -- -- -- 35 UU UU -- -- -- -- -- -- -- --
>     40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
>     50: UU -- 52 -- -- -- -- -- -- -- -- -- -- -- -- --
>     60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>     70: -- -- -- -- -- -- -- --
> 
>     $ echo lis3lv02d 0x29 | sudo tee /sys/bus/i2c/devices/i2c-6/new_device
>     $ sudo dmesg
>     […]
>     [ 2110.787000] i2c i2c-6: new_device: Instantiated device lis3lv02d at 0x29
>     [ 2110.791932] lis3lv02d_i2c 6-0029: supply Vdd not found, using dummy regulator
>     [ 2110.791981] lis3lv02d_i2c 6-0029: supply Vdd_IO not found, using dummy regulator
>     [ 2110.809233] lis3lv02d: 8 bits 3DC sensor found
>     [ 2110.900668] input: ST LIS3LV02DL Accelerometer as /devices/platform/lis3lv02d/input/input23
> 
> So, the device has that accelerometer. Add the I2C address to the
> mapping list.
> 
> Link: https://lore.kernel.org/linux-i2c/97708c11-ac85-fb62-2c8e-d37739ca826f@molgen.mpg.de/
> Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>

Applied to for-next, thanks!
Wolfram Sang Dec. 22, 2023, 10:40 a.m. UTC | #2
On Wed, Dec 20, 2023 at 05:10:02PM +0100, Paul Menzel wrote:
> On the Dell XPS 15 7590/0VYV0G, BIOS 1.24.0 09/11/2023, 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 I²C bus 2 at
> address 0x29.
> 
>     $ echo lis3lv02d 0x29 | sudo tee /sys/bus/i2c/devices/i2c-2/new_device
>     lis3lv02d 0x29
>     $ dmesg | tail -5
>     [  549.522876] lis3lv02d_i2c 2-0029: supply Vdd not found, using dummy regulator
>     [  549.522904] lis3lv02d_i2c 2-0029: supply Vdd_IO not found, using dummy regulator
>     [  549.542486] lis3lv02d: 8 bits 3DC sensor found
>     [  549.630022] input: ST LIS3LV02DL Accelerometer as /devices/platform/lis3lv02d/input/input35
>     [  549.630586] i2c i2c-2: new_device: Instantiated device lis3lv02d at 0x29
> 
> So, the device has that accelerometer. Add the I²C 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: Paul Menzel <pmenzel@molgen.mpg.de>

Applied to for-next, thanks!

(fixed I²C to I2C in both patches)
diff mbox series

Patch

diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
index 070999139c6d..cb9660f84117 100644
--- a/drivers/i2c/busses/i2c-i801.c
+++ b/drivers/i2c/busses/i2c-i801.c
@@ -1230,6 +1230,7 @@  static const struct {
 	 * Additional individual entries were added after verification.
 	 */
 	{ "Latitude 5480",      0x29 },
+	{ "Precision 3540",     0x29 },
 	{ "Vostro V131",        0x1d },
 	{ "Vostro 5568",        0x29 },
 };