Message ID | c381ee2526074e02b6058c489f85cfdaee582713.1623419587.git.geert+renesas@glider.be |
---|---|
State | Accepted |
Commit | 644291ebecd1355363f4b7a39dc115828643b901 |
Headers | show |
Series | dt-bindings: input: touchscreen: ilitek_ts_i2c: Absorb ili2xxx bindings | expand |
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.
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 <marex@denx.de> 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.
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.
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: - |
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