# \[PATCH\] dt-bindings: input: touchscreen: ilitek\_ts\_i2c: Absorb ili2xxx bindings

- Subsystems: INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN) DRIVERS, OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, THE REST
- Maintainers: Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Linus Torvalds
- List: linux-input
- 8 messages, 6 authors
- Page: https://ratatoskr.run/linux-input/2021/06/8191992/t

## \[PATCH\] dt-bindings: input: touchscreen: ilitek\_ts\_i2c: Absorb ili2xxx bindings

- From: Geert Uytterhoeven \<geert+renesas@glider.be\>
- Date: 2021-06-11 13:54:34 
- Message: https://ratatoskr.run/linux-input/2021/06/8191992.md

```text
While Linux uses a different driver, the Ilitek
ILI210x/ILI2117/ILI2120/ILI251x touchscreen controller Device Tree
binding documentation is very similar.

  - Drop the fixed reg value, as some controllers use a different
    address,
  - Make reset-gpios optional, as it is not always wired.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 .../bindings/input/ilitek,ili2xxx.txt         | 27 -------------------
 .../input/touchscreen/ilitek_ts_i2c.yaml      |  7 +++--
 2 files changed, 5 insertions(+), 29 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/input/ilitek,ili2xxx.txt

diff --git a/Documentation/devicetree/bindings/input/ilitek,ili2xxx.txt b/Documentation/devicetree/bindings/input/ilitek,ili2xxx.txt
deleted file mode 100644
index cdcaa3f52d253670..0000000000000000
--- a/Documentation/devicetree/bindings/input/ilitek,ili2xxx.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-Ilitek ILI210x/ILI2117/ILI2120/ILI251x touchscreen controller
-
-Required properties:
-- compatible:
-    ilitek,ili210x for ILI210x
-    ilitek,ili2117 for ILI2117
-    ilitek,ili2120 for ILI2120
-    ilitek,ili251x for ILI251x
-
-- reg: The I2C address of the device
-
-- interrupts: The sink for the touchscreen's IRQ output
-    See ../interrupt-controller/interrupts.txt
-
-Optional properties for main touchpad device:
-
-- reset-gpios: GPIO specifier for the touchscreen's reset pin (active low)
-
-Example:
-
-	touchscreen@41 {
-		compatible = "ilitek,ili251x";
-		reg = <0x41>;
-		interrupt-parent = <&gpio4>;
-		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
-		reset-gpios = <&gpio5 21 GPIO_ACTIVE_LOW>;
-	};
diff --git a/Documentation/devicetree/bindings/input/touchscreen/ilitek_ts_i2c.yaml b/Documentation/devicetree/bindings/input/touchscreen/ilitek_ts_i2c.yaml
index a190e7baac3162a3..9f732899975683a8 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/ilitek_ts_i2c.yaml
+++ b/Documentation/devicetree/bindings/input/touchscreen/ilitek_ts_i2c.yaml
@@ -15,6 +15,9 @@ allOf:
 properties:
   compatible:
     enum:
+      - ilitek,ili210x
+      - ilitek,ili2117
+      - ilitek,ili2120
       - ilitek,ili2130
       - ilitek,ili2131
       - ilitek,ili2132
@@ -22,11 +25,12 @@ properties:
       - ilitek,ili2322
       - ilitek,ili2323
       - ilitek,ili2326
+      - ilitek,ili251x
       - ilitek,ili2520
       - ilitek,ili2521
 
   reg:
-    const: 0x41
+    maxItems: 1
 
   interrupts:
     maxItems: 1
@@ -50,7 +54,6 @@ required:
   - compatible
   - reg
   - interrupts
-  - reset-gpios
 
 examples:
   - |
-- 
2.25.1

```

## Re: \[PATCH\] dt-bindings: input: touchscreen: ilitek\_ts\_i2c: Absorb ili2xxx bindings

- From: Marek Vasut \<marex@denx.de\>
- Date: 2021-06-11 14:20:40 
- Message: https://ratatoskr.run/linux-input/2021/06/8191999.md

```text
On 6/11/21 3:54 PM, Geert Uytterhoeven wrote:
> While Linux uses a different driver, the Ilitek
> ILI210x/ILI2117/ILI2120/ILI251x touchscreen controller Device Tree
> binding documentation is very similar.
>
>    - Drop the fixed reg value, as some controllers use a different
>      address,
>    - Make reset-gpios optional, as it is not always wired.

It looks like there are now two drivers for the same hardware,
drivers/input/touchscreen/ili210x.c
drivers/input/touchscreen/ilitek_ts_i2c.c
The ilitek_ts_i2c (newer) seems to be derived from the ilitek example code / driver, while the ili210x was written from scratch as far as I can tell.
```

## Re: \[PATCH\] dt-bindings: input: touchscreen: ilitek\_ts\_i2c: Absorb ili2xxx bindings

- From: Geert Uytterhoeven \<geert@linux-m68k.org\>
- Date: 2021-06-11 18:23:39 
- Message: https://ratatoskr.run/linux-input/2021/06/8192010.md

```text
Hi Marek,

On Fri, Jun 11, 2021 at 4:20 PM Marek Vasut [ref] wrote:
> On 6/11/21 3:54 PM, Geert Uytterhoeven wrote:
> > While Linux uses a different driver, the Ilitek
> > ILI210x/ILI2117/ILI2120/ILI251x touchscreen controller Device Tree
> > binding documentation is very similar.
> >
> >    - Drop the fixed reg value, as some controllers use a different
> >      address,
> >    - Make reset-gpios optional, as it is not always wired.
>
> It looks like there are now two drivers for the same hardware,
> drivers/input/touchscreen/ili210x.c
> drivers/input/touchscreen/ilitek_ts_i2c.c
> The ilitek_ts_i2c (newer) seems to be derived from the ilitek example
> code / driver, while the ili210x was written from scratch as far as I
> can tell.

I'm not so sure they're for the same hardware, but you may know better?
https://www.displayvisions.us/fileadmin/html-seiten/eng/pdf/zubehoer/ILITek_TP_Programming_Guide_V1.50.pdf
lists only Ilitek parts handled by ilitek_ts_i2c.c.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
```

## Re: \[PATCH\] dt-bindings: input: touchscreen: ilitek\_ts\_i2c: Absorb ili2xxx bindings

- From: Dmitry Torokhov \<dmitry.torokhov@gmail.com\>
- Date: 2021-06-11 18:33:44 
- Message: https://ratatoskr.run/linux-input/2021/06/8192012.md

```text
Hi Geert, Maerek,

On Fri, Jun 11, 2021 at 08:23:10PM +0200, Geert Uytterhoeven wrote:
> Hi Marek,
> 
> On Fri, Jun 11, 2021 at 4:20 PM Marek Vasut [ref] wrote:
> > On 6/11/21 3:54 PM, Geert Uytterhoeven wrote:
> > > While Linux uses a different driver, the Ilitek
> > > ILI210x/ILI2117/ILI2120/ILI251x touchscreen controller Device Tree
> > > binding documentation is very similar.
> > >
> > >    - Drop the fixed reg value, as some controllers use a different
> > >      address,
> > >    - Make reset-gpios optional, as it is not always wired.
> >
> > It looks like there are now two drivers for the same hardware,
> > drivers/input/touchscreen/ili210x.c
> > drivers/input/touchscreen/ilitek_ts_i2c.c
> > The ilitek_ts_i2c (newer) seems to be derived from the ilitek example
> > code / driver, while the ili210x was written from scratch as far as I
> > can tell.
> 
> I'm not so sure they're for the same hardware, but you may know better?
> https://www.displayvisions.us/fileadmin/html-seiten/eng/pdf/zubehoer/ILITek_TP_Programming_Guide_V1.50.pdf
> lists only Ilitek parts handled by ilitek_ts_i2c.c.

Ilitek folks said that the new driver is for their "Lego" series
controllers, whereas ili210x.c is for older hardware.

Thanks.

-- 
Dmitry
```

## Re: \[PATCH\] dt-bindings: input: touchscreen: ilitek\_ts\_i2c: Absorb ili2xxx bindings

- From: Marek Vasut \<marex@denx.de\>
- Date: 2021-06-11 21:50:02 
- Message: https://ratatoskr.run/linux-input/2021/06/8192017.md

```text
On 6/11/21 8:32 PM, Dmitry Torokhov wrote:

Hi,

>>> On 6/11/21 3:54 PM, Geert Uytterhoeven wrote:
>>>> While Linux uses a different driver, the Ilitek
>>>> ILI210x/ILI2117/ILI2120/ILI251x touchscreen controller Device Tree
>>>> binding documentation is very similar.
>>>>
>>>>     - Drop the fixed reg value, as some controllers use a different
>>>>       address,
>>>>     - Make reset-gpios optional, as it is not always wired.
>>>
>>> It looks like there are now two drivers for the same hardware,
>>> drivers/input/touchscreen/ili210x.c
>>> drivers/input/touchscreen/ilitek_ts_i2c.c
>>> The ilitek_ts_i2c (newer) seems to be derived from the ilitek example
>>> code / driver, while the ili210x was written from scratch as far as I
>>> can tell.
>>
>> I'm not so sure they're for the same hardware, but you may know better?
>> https://www.displayvisions.us/fileadmin/html-seiten/eng/pdf/zubehoer/ILITek_TP_Programming_Guide_V1.50.pdf
>> lists only Ilitek parts handled by ilitek_ts_i2c.c.
>
> Ilitek folks said that the new driver is for their "Lego" series
> controllers, whereas ili210x.c is for older hardware.

The older driver also supports 251x . What exactly is "Lego" series ?
In fact, is there documentation for the different ILI2xxx touchscreen controllers ? So far, all the information I had was pulled from the various forks of downstream example code.
```

## RE: \[PATCH\] dt-bindings: input: touchscreen: ilitek\_ts\_i2c: Absorb ili2xxx bindings

- From: Joe Hung (洪銘陽) \<hidden\>
- Date: 2021-06-12 05:52:11 
- Message: https://ratatoskr.run/linux-input/2021/06/8192023.md

```text
Hi Marek,

I'm the committer of "ilitek_ts_i2c.c" driver.
The so-called "Lego" series was listed below, as listed in ilitek_ts_i2c.yaml
It's the newer series with different protocol and control flow to ILITEK IC FW.

- ilitek,ili2130
- ilitek,ili2131
- ilitek,ili2132
- ilitek,ili2316
- ilitek,ili2322
- ilitek,ili2323
- ilitek,ili2326
- ilitek,ili2520
- ilitek,ili2521

> The older driver also supports 251x . What exactly is "Lego" series ?
More specifically, Lego series support "252x", not "2510".
The older driver support 210x and 251x, which has older protocol.

> In fact, is there documentation for the different ILI2xxx touchscreen controllers ? So far, all the information I had was pulled from the various forks of downstream example code.
If it need for a doc. to distinguish it, I am glad to support/arrange, and where should I put those description to ?

Best regards,

Joe Hong
ILI TECHNOLOGY CORP.
TEL: +886-3-5600099 ext.6138
Email: joe_hung@ilitek.com
8F., No.1, Taiyuan 2nd St., Zhubei City, Hsinchu Country 302, Taiwan (R.O.C.)
```

## Re: \[PATCH\] dt-bindings: input: touchscreen: ilitek\_ts\_i2c: Absorb ili2xxx bindings

- From: Marek Vasut \<marex@denx.de\>
- Date: 2021-06-13 19:43:15 
- Message: https://ratatoskr.run/linux-input/2021/06/8192032.md

```text
On 6/12/21 7:52 AM, Joe Hung (洪銘陽) wrote:
> Hi Marek,

Hi,

> I'm the committer of "ilitek_ts_i2c.c" driver.
> The so-called "Lego" series was listed below, as listed in ilitek_ts_i2c.yaml
> It's the newer series with different protocol and control flow to ILITEK IC FW.
>
> - ilitek,ili2130
> - ilitek,ili2131
> - ilitek,ili2132
> - ilitek,ili2316
> - ilitek,ili2322
> - ilitek,ili2323
> - ilitek,ili2326
> - ilitek,ili2520
> - ilitek,ili2521
>
>> The older driver also supports 251x . What exactly is "Lego" series ?
> More specifically, Lego series support "252x", not "2510".
> The older driver support 210x and 251x, which has older protocol.
>
>> In fact, is there documentation for the different ILI2xxx touchscreen controllers ? So far, all the information I had was pulled from the various forks of downstream example code.
> If it need for a doc. to distinguish it, I am glad to support/arrange, and where should I put those description to ?

I think the older ili251x has protocol V5 and the lego series has protocol V6 or something like that, right ? If that's the case, maybe it would be useful to clarify that and that the protocols are incompatible, so others don't get confused by those two drivers.
```

## Re: \[PATCH\] dt-bindings: input: touchscreen: ilitek\_ts\_i2c: Absorb ili2xxx bindings

- From: Rob Herring \<robh@kernel.org\>
- Date: 2021-06-16 18:02:47 
- Message: https://ratatoskr.run/linux-input/2021/06/8192167.md

```text
On Fri, 11 Jun 2021 15:54:27 +0200, Geert Uytterhoeven wrote:
> While Linux uses a different driver, the Ilitek
> ILI210x/ILI2117/ILI2120/ILI251x touchscreen controller Device Tree
> binding documentation is very similar.
> 
>   - Drop the fixed reg value, as some controllers use a different
>     address,
>   - Make reset-gpios optional, as it is not always wired.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
>  .../bindings/input/ilitek,ili2xxx.txt         | 27 -------------------
>  .../input/touchscreen/ilitek_ts_i2c.yaml      |  7 +++--
>  2 files changed, 5 insertions(+), 29 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/input/ilitek,ili2xxx.txt
> 

One driver or 2, I don't care from a binding perspective if sharing 
works.

Reviewed-by: Rob Herring <robh@kernel.org>
```
