2022-05-05 13:01:05

by Markuss Broks

[permalink] [raw]
Subject: [PATCH 0/3] Add support for Imagis IST3038B

This series adds support for Imagis IST3038B IC support, which
is a variant of Imagis IST3038 IC. It has a different register map
(labeled protocol b), but otherwise it seems to be the same IC.
It is also possible to support various other Imagis ICs using
protocol b, such as (but not limited to) IST3044B, IST3026, IST3032,
IST3026B, IST3032B. However, most of them (all except IST3044B)
use a different coordinate format, so extra effort would be needed
to support those.

Tested by Lin Meng-Bo on Samsung Galaxy Core Prime.

Cc: Lin Meng-Bo <[email protected]>

Markuss Broks (3):
input/touchscreen: imagis: Correct the maximum touch area value
dt-bindings: input/touchscreen: Add compatible for IST3038B
input/touchscreen: imagis: Add support for Imagis IST3038B

.../input/touchscreen/imagis,ist3038c.yaml | 1 +
drivers/input/touchscreen/imagis.c | 60 +++++++++++++++----
2 files changed, 49 insertions(+), 12 deletions(-)

--
2.35.1



2022-05-05 16:17:30

by Markuss Broks

[permalink] [raw]
Subject: [PATCH 2/3] dt-bindings: input/touchscreen: Add compatible for IST3038B

Imagis IST3038B is a variant (firmware?) of Imagis IST3038 IC,
add the compatible for it to the IST3038C bindings.

Signed-off-by: Markuss Broks <[email protected]>
---
.../devicetree/bindings/input/touchscreen/imagis,ist3038c.yaml | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/input/touchscreen/imagis,ist3038c.yaml b/Documentation/devicetree/bindings/input/touchscreen/imagis,ist3038c.yaml
index e3a2b871e50c..a283040cd2aa 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/imagis,ist3038c.yaml
+++ b/Documentation/devicetree/bindings/input/touchscreen/imagis,ist3038c.yaml
@@ -18,6 +18,7 @@ properties:

compatible:
enum:
+ - imagis,ist3038b
- imagis,ist3038c

reg:
--
2.35.1


2022-05-06 19:45:46

by Markuss Broks

[permalink] [raw]
Subject: [PATCH 1/3] input/touchscreen: imagis: Correct the maximum touch area value

As specified in downstream IST3038B driver and proved by testing,
the correct maximum reported value of touch area is 16.

Signed-off-by: Markuss Broks <[email protected]>
---
drivers/input/touchscreen/imagis.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/touchscreen/imagis.c b/drivers/input/touchscreen/imagis.c
index e2697e6c6d2a..b667914a44f1 100644
--- a/drivers/input/touchscreen/imagis.c
+++ b/drivers/input/touchscreen/imagis.c
@@ -210,7 +210,7 @@ static int imagis_init_input_dev(struct imagis_ts *ts)

input_set_capability(input_dev, EV_ABS, ABS_MT_POSITION_X);
input_set_capability(input_dev, EV_ABS, ABS_MT_POSITION_Y);
- input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0);
+ input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, 16, 0, 0);

touchscreen_parse_properties(input_dev, true, &ts->prop);
if (!ts->prop.max_x || !ts->prop.max_y) {
--
2.35.1


2022-05-17 03:41:54

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 2/3] dt-bindings: input/touchscreen: Add compatible for IST3038B

On Wed, 04 May 2022 18:24:04 +0300, Markuss Broks wrote:
> Imagis IST3038B is a variant (firmware?) of Imagis IST3038 IC,
> add the compatible for it to the IST3038C bindings.
>
> Signed-off-by: Markuss Broks <[email protected]>
> ---
> .../devicetree/bindings/input/touchscreen/imagis,ist3038c.yaml | 1 +
> 1 file changed, 1 insertion(+)
>

Acked-by: Rob Herring <[email protected]>

2022-08-09 07:35:01

by Lin, Meng-Bo

[permalink] [raw]
Subject: Re: [PATCH 0/3] Add support for Imagis IST3038B

> Tested by Lin Meng-Bo on Samsung Galaxy Core Prime.
>
> Cc: Lin Meng-Bo <[email protected]>

As we discussed before, actually it's not real IST3038B.
Instead, it should be IST30XXB with chip ID 0x300b300b, which can be
identified with
(0x40000000 | IST3038C_DIRECT_ACCESS)
, while IST3038C uses
(0x40001000 | IST3038C_DIRECT_ACCESS), similarly.

So I would suggest to hold IST3038B patches since I don't really have one.

Best regards,

Lin