lkml.org 
[lkml]   [2020]   [Jul]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] iio: light: stk3310: add chip id for STK3311-X variant
From
Date
在 2020-07-04星期六的 17:29 +0100,Jonathan Cameron写道:
> On Fri, 3 Jul 2020 21:44:05 +0200
> Ondrej Jirman <megous@megous.com> wrote:
>
> > From: Icenowy Zheng <icenowy@aosc.io>
> >
> > The STK3311 chip has a variant called STK3311-X, which has a
> > different
> > chip id of 0x12.
> >
> > Add the chip id to the driver.
> >
> > Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> > Signed-off-by: Ondrej Jirman <megous@megous.com>
>
> Given this is clearly not quite compatible with the stk3311 probably
> best to also add a an id to the of id table. Any idea what else
> is different?

By the way, STK3311 seems to have many variants lying around, and all
of them have different IDs. The pinouts seem to be different but the
registers are compatible.

[1] is a datasheet of STK3311-S34 with ID 0x1e.
[2] is a datasheet of STK3311-A with ID 0x15.

I cannot find the datasheet of STK3311-X, 0x12 is read from the device.
The model number itself is mentioned at [3], the official website of
sensortek.

[1]
http://pro0fc108.hkpic1.websiteonline.cn/upload/STK3311-S34Datasheetv1.pdf

[2]
http://pro0fc108.hkpic1.websiteonline.cn/upload/STK3311-ADatasheetv1.pdf

[3]
http://www.sensortek.com.tw/index.php/en/products/proximity-sensor-with-als/

>
> Thanks,
>
> Jonathan
>
> > ---
> > drivers/iio/light/stk3310.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/iio/light/stk3310.c
> > b/drivers/iio/light/stk3310.c
> > index 185c24a75ae6..1a8401d198a4 100644
> > --- a/drivers/iio/light/stk3310.c
> > +++ b/drivers/iio/light/stk3310.c
> > @@ -37,6 +37,7 @@
> >
> > #define STK3310_CHIP_ID_VAL 0x13
> > #define STK3311_CHIP_ID_VAL 0x1D
> > +#define STK3311X_CHIP_ID_VAL 0x12
> > #define STK3335_CHIP_ID_VAL 0x51
> > #define STK3310_PSINT_EN 0x01
> > #define STK3310_PS_MAX_VAL 0xFFFF
> > @@ -453,6 +454,7 @@ static int stk3310_init(struct iio_dev
> > *indio_dev)
> >
> > if (chipid != STK3310_CHIP_ID_VAL &&
> > chipid != STK3311_CHIP_ID_VAL &&
> > + chipid != STK3311X_CHIP_ID_VAL &&
> > chipid != STK3335_CHIP_ID_VAL) {
> > dev_err(&client->dev, "invalid chip id: 0x%x\n",
> > chipid);
> > return -ENODEV;

\
 
 \ /
  Last update: 2020-07-04 19:11    [W:0.060 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site