2022-10-06 15:16:45

by Nam Cao

[permalink] [raw]
Subject: [PATCH] i2c: i801: add lis3lv02d's I2C address for Vostro 5568

Dell Vostro 5568 laptop has lis3lv02d, but its i2c address is not known
to the kernel. Add this address.

Output of "cat /sys/devices/platform/lis3lv02d/position" on Dell Vostro
5568 laptop:
- Horizontal: (-18,0,1044)
- Front elevated: (522,-18,1080)
- Left elevated: (-18,-360,1080)
- Upside down: (36,108,-1134)

Signed-off-by: Nam Cao <[email protected]>
---
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 a176296f4fff..e46561e095c6 100644
--- a/drivers/i2c/busses/i2c-i801.c
+++ b/drivers/i2c/busses/i2c-i801.c
@@ -1243,6 +1243,7 @@ static const struct {
*/
{ "Latitude 5480", 0x29 },
{ "Vostro V131", 0x1d },
+ { "Vostro 5568", 0x29 },
};

static void register_dell_lis3lv02d_i2c_device(struct i801_priv *priv)
--
2.25.1


2022-10-18 17:54:44

by Jean Delvare

[permalink] [raw]
Subject: Re: [PATCH] i2c: i801: add lis3lv02d's I2C address for Vostro 5568

On Thu, 06 Oct 2022 16:54:40 +0200, Nam Cao wrote:
> Dell Vostro 5568 laptop has lis3lv02d, but its i2c address is not known
> to the kernel. Add this address.
>
> Output of "cat /sys/devices/platform/lis3lv02d/position" on Dell Vostro
> 5568 laptop:
> - Horizontal: (-18,0,1044)
> - Front elevated: (522,-18,1080)
> - Left elevated: (-18,-360,1080)
> - Upside down: (36,108,-1134)
>
> Signed-off-by: Nam Cao <[email protected]>
> ---
> 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 a176296f4fff..e46561e095c6 100644
> --- a/drivers/i2c/busses/i2c-i801.c
> +++ b/drivers/i2c/busses/i2c-i801.c
> @@ -1243,6 +1243,7 @@ static const struct {
> */
> { "Latitude 5480", 0x29 },
> { "Vostro V131", 0x1d },
> + { "Vostro 5568", 0x29 },
> };
>
> static void register_dell_lis3lv02d_i2c_device(struct i801_priv *priv)

Fine with me.

Reviewed-by: Jean Delvare <[email protected]>

Pali, OK with you?

--
Jean Delvare
SUSE L3 Support

2022-10-18 18:12:45

by Pali Rohár

[permalink] [raw]
Subject: Re: [PATCH] i2c: i801: add lis3lv02d's I2C address for Vostro 5568

On Tuesday 18 October 2022 19:39:51 Jean Delvare wrote:
> On Thu, 06 Oct 2022 16:54:40 +0200, Nam Cao wrote:
> > Dell Vostro 5568 laptop has lis3lv02d, but its i2c address is not known
> > to the kernel. Add this address.
> >
> > Output of "cat /sys/devices/platform/lis3lv02d/position" on Dell Vostro
> > 5568 laptop:
> > - Horizontal: (-18,0,1044)
> > - Front elevated: (522,-18,1080)
> > - Left elevated: (-18,-360,1080)
> > - Upside down: (36,108,-1134)
> >
> > Signed-off-by: Nam Cao <[email protected]>
> > ---
> > 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 a176296f4fff..e46561e095c6 100644
> > --- a/drivers/i2c/busses/i2c-i801.c
> > +++ b/drivers/i2c/busses/i2c-i801.c
> > @@ -1243,6 +1243,7 @@ static const struct {
> > */
> > { "Latitude 5480", 0x29 },
> > { "Vostro V131", 0x1d },
> > + { "Vostro 5568", 0x29 },
> > };
> >
> > static void register_dell_lis3lv02d_i2c_device(struct i801_priv *priv)
>
> Fine with me.
>
> Reviewed-by: Jean Delvare <[email protected]>
>
> Pali, OK with you?

Yes, nice to see that other people discovered another hidden hardware
devices in their own laptops :-)

Reviewed-by: Pali Rohár <[email protected]>


Nam Cao, could you check your ACPI DSDT table if there is not specified
this smbus/i2c address 0x29? Autodiscovery would be better than
hardcoding. At least for E6440 I was told that BIOS does not provide it.

> --
> Jean Delvare
> SUSE L3 Support

2022-10-19 20:43:52

by Nam Cao

[permalink] [raw]
Subject: Re: [PATCH] i2c: i801: add lis3lv02d's I2C address for Vostro 5568

On Tue, Oct 18, 2022 at 08:00:51PM +0200, Pali Roh?r wrote:
> On Tuesday 18 October 2022 19:39:51 Jean Delvare wrote:
> > On Thu, 06 Oct 2022 16:54:40 +0200, Nam Cao wrote:
> > > Dell Vostro 5568 laptop has lis3lv02d, but its i2c address is not known
> > > to the kernel. Add this address.
> > >
> > > Output of "cat /sys/devices/platform/lis3lv02d/position" on Dell Vostro
> > > 5568 laptop:
> > > - Horizontal: (-18,0,1044)
> > > - Front elevated: (522,-18,1080)
> > > - Left elevated: (-18,-360,1080)
> > > - Upside down: (36,108,-1134)
> > >
> > > Signed-off-by: Nam Cao <[email protected]>
> > > ---
> > > 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 a176296f4fff..e46561e095c6 100644
> > > --- a/drivers/i2c/busses/i2c-i801.c
> > > +++ b/drivers/i2c/busses/i2c-i801.c
> > > @@ -1243,6 +1243,7 @@ static const struct {
> > > */
> > > { "Latitude 5480", 0x29 },
> > > { "Vostro V131", 0x1d },
> > > + { "Vostro 5568", 0x29 },
> > > };
> > >
> > > static void register_dell_lis3lv02d_i2c_device(struct i801_priv *priv)
> >
> > Fine with me.
> >
> > Reviewed-by: Jean Delvare <[email protected]>
> >
> > Pali, OK with you?
>
> Yes, nice to see that other people discovered another hidden hardware
> devices in their own laptops :-)
>
> Reviewed-by: Pali Roh?r <[email protected]>
>
>
> Nam Cao, could you check your ACPI DSDT table if there is not specified
> this smbus/i2c address 0x29? Autodiscovery would be better than
> hardcoding. At least for E6440 I was told that BIOS does not provide it.

I searched the DSDT table for "29", but none of them looks like an i2c
address.

But this is the first time I hear about ACPI DSDT table, so I may did
something incorrectly. I did:
- cp /sys/firmware/acpi/tables/DSDT table
- iasl -d table
- Search through table.dsl

The generated table is attached with this email.

Best regards,
Nam


Attachments:
(No filename) (2.03 kB)
table.dsl (1.06 MB)
Download all attachments

2022-10-19 21:01:17

by Pali Rohár

[permalink] [raw]
Subject: Re: [PATCH] i2c: i801: add lis3lv02d's I2C address for Vostro 5568

On Wednesday 19 October 2022 22:34:03 Nam Cao wrote:
> On Tue, Oct 18, 2022 at 08:00:51PM +0200, Pali Rohár wrote:
> > On Tuesday 18 October 2022 19:39:51 Jean Delvare wrote:
> > > On Thu, 06 Oct 2022 16:54:40 +0200, Nam Cao wrote:
> > > > Dell Vostro 5568 laptop has lis3lv02d, but its i2c address is not known
> > > > to the kernel. Add this address.
> > > >
> > > > Output of "cat /sys/devices/platform/lis3lv02d/position" on Dell Vostro
> > > > 5568 laptop:
> > > > - Horizontal: (-18,0,1044)
> > > > - Front elevated: (522,-18,1080)
> > > > - Left elevated: (-18,-360,1080)
> > > > - Upside down: (36,108,-1134)
> > > >
> > > > Signed-off-by: Nam Cao <[email protected]>
> > > > ---
> > > > 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 a176296f4fff..e46561e095c6 100644
> > > > --- a/drivers/i2c/busses/i2c-i801.c
> > > > +++ b/drivers/i2c/busses/i2c-i801.c
> > > > @@ -1243,6 +1243,7 @@ static const struct {
> > > > */
> > > > { "Latitude 5480", 0x29 },
> > > > { "Vostro V131", 0x1d },
> > > > + { "Vostro 5568", 0x29 },
> > > > };
> > > >
> > > > static void register_dell_lis3lv02d_i2c_device(struct i801_priv *priv)
> > >
> > > Fine with me.
> > >
> > > Reviewed-by: Jean Delvare <[email protected]>
> > >
> > > Pali, OK with you?
> >
> > Yes, nice to see that other people discovered another hidden hardware
> > devices in their own laptops :-)
> >
> > Reviewed-by: Pali Rohár <[email protected]>
> >
> >
> > Nam Cao, could you check your ACPI DSDT table if there is not specified
> > this smbus/i2c address 0x29? Autodiscovery would be better than
> > hardcoding. At least for E6440 I was told that BIOS does not provide it.
>
> My reply got rejected by mailing list because the attachment was too big.
> So I re-send this without the attachment, so that everyone can see.
>
> I searched the DSDT table for "29", but none of them looks like an i2c
> address.
>
> But this is the first time I hear about ACPI DSDT table, so I may did
> something incorrectly. I did:
> - cp /sys/firmware/acpi/tables/DSDT table
> - iasl -d table
> - Search through table.dsl
>
> Best regards,
> Nam

You did it correctly. I'm not surprised that you have not found
anything. When I did experiments in the past, I was not able too...
That is why there is that harcoded table...

It just means that Dell did not fixed it or they perfectly hidden it.

2022-10-19 21:22:36

by Nam Cao

[permalink] [raw]
Subject: Re: [PATCH] i2c: i801: add lis3lv02d's I2C address for Vostro 5568

On Tue, Oct 18, 2022 at 08:00:51PM +0200, Pali Roh?r wrote:
> On Tuesday 18 October 2022 19:39:51 Jean Delvare wrote:
> > On Thu, 06 Oct 2022 16:54:40 +0200, Nam Cao wrote:
> > > Dell Vostro 5568 laptop has lis3lv02d, but its i2c address is not known
> > > to the kernel. Add this address.
> > >
> > > Output of "cat /sys/devices/platform/lis3lv02d/position" on Dell Vostro
> > > 5568 laptop:
> > > - Horizontal: (-18,0,1044)
> > > - Front elevated: (522,-18,1080)
> > > - Left elevated: (-18,-360,1080)
> > > - Upside down: (36,108,-1134)
> > >
> > > Signed-off-by: Nam Cao <[email protected]>
> > > ---
> > > 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 a176296f4fff..e46561e095c6 100644
> > > --- a/drivers/i2c/busses/i2c-i801.c
> > > +++ b/drivers/i2c/busses/i2c-i801.c
> > > @@ -1243,6 +1243,7 @@ static const struct {
> > > */
> > > { "Latitude 5480", 0x29 },
> > > { "Vostro V131", 0x1d },
> > > + { "Vostro 5568", 0x29 },
> > > };
> > >
> > > static void register_dell_lis3lv02d_i2c_device(struct i801_priv *priv)
> >
> > Fine with me.
> >
> > Reviewed-by: Jean Delvare <[email protected]>
> >
> > Pali, OK with you?
>
> Yes, nice to see that other people discovered another hidden hardware
> devices in their own laptops :-)
>
> Reviewed-by: Pali Roh?r <[email protected]>
>
>
> Nam Cao, could you check your ACPI DSDT table if there is not specified
> this smbus/i2c address 0x29? Autodiscovery would be better than
> hardcoding. At least for E6440 I was told that BIOS does not provide it.

My reply got rejected by mailing list because the attachment was too big.
So I re-send this without the attachment, so that everyone can see.

I searched the DSDT table for "29", but none of them looks like an i2c
address.

But this is the first time I hear about ACPI DSDT table, so I may did
something incorrectly. I did:
- cp /sys/firmware/acpi/tables/DSDT table
- iasl -d table
- Search through table.dsl

Best regards,
Nam

2022-11-01 12:58:55

by Wolfram Sang

[permalink] [raw]
Subject: Re: [PATCH] i2c: i801: add lis3lv02d's I2C address for Vostro 5568

On Thu, Oct 06, 2022 at 04:54:40PM +0200, Nam Cao wrote:
> Dell Vostro 5568 laptop has lis3lv02d, but its i2c address is not known
> to the kernel. Add this address.
>
> Output of "cat /sys/devices/platform/lis3lv02d/position" on Dell Vostro
> 5568 laptop:
> - Horizontal: (-18,0,1044)
> - Front elevated: (522,-18,1080)
> - Left elevated: (-18,-360,1080)
> - Upside down: (36,108,-1134)
>
> Signed-off-by: Nam Cao <[email protected]>

Applied to for-current, thanks!


Attachments:
(No filename) (502.00 B)
signature.asc (849.00 B)
Download all attachments