dt-bindings: input: touchscreen: ilitek_ts_i2c: Absorb ili2xxx bindings

Started by Geert Uytterhoeven on Jun 11, 2021 · 8 messages from 6 authors · Last reply Jun 16, 2021

Subsystems (3)

Maintainers (5)

Show 1 more
STALE1977d

open the first message on its own page

Message details and related content
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
Message details and related content
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.
Message details and related content
Hi Marek,

On Fri, Jun 11, 2021 at 4:20 PM Marek Vasut [off-list ref] wrote:
On 6/11/21 3:54 PM, Geert Uytterhoeven wrote:
quoted
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
Message details and related content
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 [off-list ref] wrote:
quoted
On 6/11/21 3:54 PM, Geert Uytterhoeven wrote:
quoted
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
Message details and related content
On 6/11/21 8:32 PM, Dmitry Torokhov wrote:

Hi,
quoted
quoted
On 6/11/21 3:54 PM, Geert Uytterhoeven wrote:
quoted
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.
Message details and related content
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.)
Message details and related content
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
quoted
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.
quoted
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.
Message details and related content
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>
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help