public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH V3 RESEND 0/2] Add tc3408 bindings and timing
@ 2026-01-08  6:35 Langyan Ye
  2026-01-08  6:35 ` [PATCH V3 RESEND 1/2] dt-bindings: input: Add Parade TC3408 touchscreen controller Langyan Ye
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Langyan Ye @ 2026-01-08  6:35 UTC (permalink / raw)
  To: dmitry.torokhov, robh, krzk+dt, conor+dt, jikos, bentiss
  Cc: dianders, linux-input, devicetree, linux-kernel, Langyan Ye

The tc3408 touch screen chip same as Elan eKTH6915 controller
has a reset gpio. The difference is that they have different
post_power_delay_ms.

According to the Parade TC3408 datasheet, the reset pin requires a
pull-down duration longer than 10 ms, therefore post_power_delay_ms
is set to 10. In addition, the chipset requires an initialization
time greater than 300 ms after reset, so post_gpio_reset_on_delay_ms
is configured as 300.

Changes in v3:
- PATCH 2/2: Corrected post_gpio_reset_on_delay_ms: 100 -> 300
- Link to v2: https://lore.kernel.org/all/20250820122520.3356738-1-yelangyan@huaqin.corp-partner.google.com/

Changes in v2:
- PATCH 1/2: Drop redundant "bindings for" from subject
- PATCH 1/2: Improve description (describe hardware instead of bindings)
- PATCH 1/2: Drop "panel: true" property
- PATCH 1/2: Drop redundant description for reset-gpios
- PATCH 1/2: Use unevaluatedProperties: false instead of additionalProperties
- Link to v1: https://lore.kernel.org/all/20250819034852.1230264-1-yelangyan@huaqin.corp-partner.google.com/

Langyan Ye (2):
  dt-bindings: input: Add Parade TC3408 touchscreen controller
  HID: i2c-hid: elan: Add parade-tc3408 timing

 .../bindings/input/parade,tc3408.yaml         | 68 +++++++++++++++++++
 drivers/hid/i2c-hid/i2c-hid-of-elan.c         |  8 +++
 2 files changed, 76 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/input/parade,tc3408.yaml

-- 
2.34.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH V3 RESEND 1/2] dt-bindings: input: Add Parade TC3408 touchscreen controller
  2026-01-08  6:35 [PATCH V3 RESEND 0/2] Add tc3408 bindings and timing Langyan Ye
@ 2026-01-08  6:35 ` Langyan Ye
  2026-01-08  6:35 ` [PATCH V3 RESEND 2/2] HID: i2c-hid: elan: Add parade-tc3408 timing Langyan Ye
  2026-02-26 16:06 ` [PATCH V3 RESEND 0/2] Add tc3408 bindings and timing Dmitry Torokhov
  2 siblings, 0 replies; 8+ messages in thread
From: Langyan Ye @ 2026-01-08  6:35 UTC (permalink / raw)
  To: dmitry.torokhov, robh, krzk+dt, conor+dt, jikos, bentiss
  Cc: dianders, linux-input, devicetree, linux-kernel, Langyan Ye,
	Conor Dooley

The tc3408 touch screen chip same as Elan eKTH6915 controller
has a reset gpio. The difference is that they have different
post_power_delay_ms.

Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
---
 .../bindings/input/parade,tc3408.yaml         | 68 +++++++++++++++++++
 1 file changed, 68 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/input/parade,tc3408.yaml

diff --git a/Documentation/devicetree/bindings/input/parade,tc3408.yaml b/Documentation/devicetree/bindings/input/parade,tc3408.yaml
new file mode 100644
index 000000000000..30ffefb96c68
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/parade,tc3408.yaml
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/parade,tc3408.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Parade TC3408 touchscreen controller
+
+maintainers:
+  - Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
+
+description: |
+  Parade TC3408 is a touchscreen controller supporting the I2C-HID protocol.
+  It requires a reset GPIO and two power supplies (3.3V and 1.8V).
+
+allOf:
+  - $ref: /schemas/input/touchscreen/touchscreen.yaml#
+
+properties:
+  compatible:
+    const: parade,tc3408
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  reset-gpios:
+    maxItems: 1
+
+  vcc33-supply:
+    description: The 3.3V supply to the touchscreen.
+
+  vccio-supply:
+    description: The 1.8V supply to the touchscreen.
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - reset-gpios
+  - vcc33-supply
+  - vccio-supply
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      touchscreen: touchscreen@24 {
+        compatible = "parade,tc3408";
+        reg = <0x24>;
+
+        interrupt-parent = <&pio>;
+        interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
+
+        reset-gpios = <&pio 126 GPIO_ACTIVE_LOW>;
+        vcc33-supply = <&pp3300_tchscr_x>;
+        vccio-supply = <&pp1800_tchscr_report_disable>;
+      };
+    };
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH V3 RESEND 2/2] HID: i2c-hid: elan: Add parade-tc3408 timing
  2026-01-08  6:35 [PATCH V3 RESEND 0/2] Add tc3408 bindings and timing Langyan Ye
  2026-01-08  6:35 ` [PATCH V3 RESEND 1/2] dt-bindings: input: Add Parade TC3408 touchscreen controller Langyan Ye
@ 2026-01-08  6:35 ` Langyan Ye
  2026-01-21 22:40   ` Dmitry Torokhov
  2026-02-26 16:06 ` [PATCH V3 RESEND 0/2] Add tc3408 bindings and timing Dmitry Torokhov
  2 siblings, 1 reply; 8+ messages in thread
From: Langyan Ye @ 2026-01-08  6:35 UTC (permalink / raw)
  To: dmitry.torokhov, robh, krzk+dt, conor+dt, jikos, bentiss
  Cc: dianders, linux-input, devicetree, linux-kernel, Langyan Ye

Parade-tc3408 requires reset to pull down time greater than 10ms,
so the configuration post_power_delay_ms is 10, and the chipset
initial time is required to be greater than 300ms,
so the post_gpio_reset_on_delay_ms is set to 300.

Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
---
 drivers/hid/i2c-hid/i2c-hid-of-elan.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/hid/i2c-hid/i2c-hid-of-elan.c b/drivers/hid/i2c-hid/i2c-hid-of-elan.c
index 0215f217f6d8..2a6548fd234a 100644
--- a/drivers/hid/i2c-hid/i2c-hid-of-elan.c
+++ b/drivers/hid/i2c-hid/i2c-hid-of-elan.c
@@ -188,11 +188,19 @@ static const struct elan_i2c_hid_chip_data ilitek_ili2901_chip_data = {
 	.main_supply_name = "vcc33",
 };
 
+static const struct elan_i2c_hid_chip_data parade_tc3408_chip_data = {
+	.post_power_delay_ms = 10,
+	.post_gpio_reset_on_delay_ms = 300,
+	.hid_descriptor_address = 0x0001,
+	.main_supply_name = "vcc33",
+};
+
 static const struct of_device_id elan_i2c_hid_of_match[] = {
 	{ .compatible = "elan,ekth6915", .data = &elan_ekth6915_chip_data },
 	{ .compatible = "elan,ekth6a12nay", .data = &elan_ekth6a12nay_chip_data },
 	{ .compatible = "ilitek,ili9882t", .data = &ilitek_ili9882t_chip_data },
 	{ .compatible = "ilitek,ili2901", .data = &ilitek_ili2901_chip_data },
+	{ .compatible = "parade,tc3408", .data = &parade_tc3408_chip_data },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, elan_i2c_hid_of_match);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH V3 RESEND 2/2] HID: i2c-hid: elan: Add parade-tc3408 timing
  2026-01-08  6:35 ` [PATCH V3 RESEND 2/2] HID: i2c-hid: elan: Add parade-tc3408 timing Langyan Ye
@ 2026-01-21 22:40   ` Dmitry Torokhov
  2026-01-29 16:50     ` Doug Anderson
  0 siblings, 1 reply; 8+ messages in thread
From: Dmitry Torokhov @ 2026-01-21 22:40 UTC (permalink / raw)
  To: Langyan Ye, Benjamin Tissoires, Jiri Kosina
  Cc: robh, krzk+dt, conor+dt, dianders, linux-input, devicetree,
	linux-kernel

On Thu, Jan 08, 2026 at 02:35:24PM +0800, Langyan Ye wrote:
> Parade-tc3408 requires reset to pull down time greater than 10ms,
> so the configuration post_power_delay_ms is 10, and the chipset
> initial time is required to be greater than 300ms,
> so the post_gpio_reset_on_delay_ms is set to 300.
> 
> Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
> Reviewed-by: Douglas Anderson <dianders@chromium.org>

Jiri, Benjamin, another I2C hid with bindings...

> ---
>  drivers/hid/i2c-hid/i2c-hid-of-elan.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/hid/i2c-hid/i2c-hid-of-elan.c b/drivers/hid/i2c-hid/i2c-hid-of-elan.c
> index 0215f217f6d8..2a6548fd234a 100644
> --- a/drivers/hid/i2c-hid/i2c-hid-of-elan.c
> +++ b/drivers/hid/i2c-hid/i2c-hid-of-elan.c
> @@ -188,11 +188,19 @@ static const struct elan_i2c_hid_chip_data ilitek_ili2901_chip_data = {
>  	.main_supply_name = "vcc33",
>  };
>  
> +static const struct elan_i2c_hid_chip_data parade_tc3408_chip_data = {
> +	.post_power_delay_ms = 10,
> +	.post_gpio_reset_on_delay_ms = 300,
> +	.hid_descriptor_address = 0x0001,
> +	.main_supply_name = "vcc33",
> +};
> +
>  static const struct of_device_id elan_i2c_hid_of_match[] = {
>  	{ .compatible = "elan,ekth6915", .data = &elan_ekth6915_chip_data },
>  	{ .compatible = "elan,ekth6a12nay", .data = &elan_ekth6a12nay_chip_data },
>  	{ .compatible = "ilitek,ili9882t", .data = &ilitek_ili9882t_chip_data },
>  	{ .compatible = "ilitek,ili2901", .data = &ilitek_ili2901_chip_data },
> +	{ .compatible = "parade,tc3408", .data = &parade_tc3408_chip_data },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(of, elan_i2c_hid_of_match);

-- 
Dmitry

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH V3 RESEND 2/2] HID: i2c-hid: elan: Add parade-tc3408 timing
  2026-01-21 22:40   ` Dmitry Torokhov
@ 2026-01-29 16:50     ` Doug Anderson
  2026-02-26  4:59       ` Dmitry Torokhov
  0 siblings, 1 reply; 8+ messages in thread
From: Doug Anderson @ 2026-01-29 16:50 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Langyan Ye, Benjamin Tissoires, Jiri Kosina, robh, krzk+dt,
	conor+dt, linux-input, devicetree, linux-kernel

Hi,

On Wed, Jan 21, 2026 at 2:40 PM Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
>
> On Thu, Jan 08, 2026 at 02:35:24PM +0800, Langyan Ye wrote:
> > Parade-tc3408 requires reset to pull down time greater than 10ms,
> > so the configuration post_power_delay_ms is 10, and the chipset
> > initial time is required to be greater than 300ms,
> > so the post_gpio_reset_on_delay_ms is set to 300.
> >
> > Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
> > Reviewed-by: Douglas Anderson <dianders@chromium.org>
>
> Jiri, Benjamin, another I2C hid with bindings...

I guess maybe this could go through the input tree, but it needs
either Jiri's or Benjamin's ack? Is that the plan?

-Doug

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH V3 RESEND 2/2] HID: i2c-hid: elan: Add parade-tc3408 timing
  2026-01-29 16:50     ` Doug Anderson
@ 2026-02-26  4:59       ` Dmitry Torokhov
  2026-02-26 14:52         ` Jiri Kosina
  0 siblings, 1 reply; 8+ messages in thread
From: Dmitry Torokhov @ 2026-02-26  4:59 UTC (permalink / raw)
  To: Benjamin Tissoires, Jiri Kosina
  Cc: Doug Anderson, Langyan Ye, robh, krzk+dt, conor+dt, linux-input,
	devicetree, linux-kernel

On Thu, Jan 29, 2026 at 08:50:57AM -0800, Doug Anderson wrote:
> Hi,
> 
> On Wed, Jan 21, 2026 at 2:40 PM Dmitry Torokhov
> <dmitry.torokhov@gmail.com> wrote:
> >
> > On Thu, Jan 08, 2026 at 02:35:24PM +0800, Langyan Ye wrote:
> > > Parade-tc3408 requires reset to pull down time greater than 10ms,
> > > so the configuration post_power_delay_ms is 10, and the chipset
> > > initial time is required to be greater than 300ms,
> > > so the post_gpio_reset_on_delay_ms is set to 300.
> > >
> > > Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
> > > Reviewed-by: Douglas Anderson <dianders@chromium.org>
> >
> > Jiri, Benjamin, another I2C hid with bindings...
> 
> I guess maybe this could go through the input tree, but it needs
> either Jiri's or Benjamin's ack? Is that the plan?

Jiri, Benjamin,

I am going to pick up the DT binding changes, do you want me to pick up
the driver changes as well or do you want to merge them through your
tree?

Thanks.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH V3 RESEND 2/2] HID: i2c-hid: elan: Add parade-tc3408 timing
  2026-02-26  4:59       ` Dmitry Torokhov
@ 2026-02-26 14:52         ` Jiri Kosina
  0 siblings, 0 replies; 8+ messages in thread
From: Jiri Kosina @ 2026-02-26 14:52 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Benjamin Tissoires, Doug Anderson, Langyan Ye, robh, krzk+dt,
	conor+dt, linux-input, devicetree, linux-kernel

On Wed, 25 Feb 2026, Dmitry Torokhov wrote:

> > > > Parade-tc3408 requires reset to pull down time greater than 10ms,
> > > > so the configuration post_power_delay_ms is 10, and the chipset
> > > > initial time is required to be greater than 300ms,
> > > > so the post_gpio_reset_on_delay_ms is set to 300.
> > > >
> > > > Signed-off-by: Langyan Ye <yelangyan@huaqin.corp-partner.google.com>
> > > > Reviewed-by: Douglas Anderson <dianders@chromium.org>
> > >
> > > Jiri, Benjamin, another I2C hid with bindings...
> > 
> > I guess maybe this could go through the input tree, but it needs
> > either Jiri's or Benjamin's ack? Is that the plan?
> 
> Jiri, Benjamin,
> 
> I am going to pick up the DT binding changes, do you want me to pick up
> the driver changes as well or do you want to merge them through your
> tree?

I think it's easier if it goes all together to avoid cross-tree 
dependencies.
Please feel free to add

	Acked-by: Jiri Kosina <jkosina@suse.com>

Thanks,

-- 
Jiri Kosina
SUSE Labs


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH V3 RESEND 0/2] Add tc3408 bindings and timing
  2026-01-08  6:35 [PATCH V3 RESEND 0/2] Add tc3408 bindings and timing Langyan Ye
  2026-01-08  6:35 ` [PATCH V3 RESEND 1/2] dt-bindings: input: Add Parade TC3408 touchscreen controller Langyan Ye
  2026-01-08  6:35 ` [PATCH V3 RESEND 2/2] HID: i2c-hid: elan: Add parade-tc3408 timing Langyan Ye
@ 2026-02-26 16:06 ` Dmitry Torokhov
  2 siblings, 0 replies; 8+ messages in thread
From: Dmitry Torokhov @ 2026-02-26 16:06 UTC (permalink / raw)
  To: Langyan Ye
  Cc: robh, krzk+dt, conor+dt, jikos, bentiss, dianders, linux-input,
	devicetree, linux-kernel

On Thu, Jan 08, 2026 at 02:35:22PM +0800, Langyan Ye wrote:
> The tc3408 touch screen chip same as Elan eKTH6915 controller
> has a reset gpio. The difference is that they have different
> post_power_delay_ms.
> 
> According to the Parade TC3408 datasheet, the reset pin requires a
> pull-down duration longer than 10 ms, therefore post_power_delay_ms
> is set to 10. In addition, the chipset requires an initialization
> time greater than 300 ms after reset, so post_gpio_reset_on_delay_ms
> is configured as 300.
> 
> Changes in v3:
> - PATCH 2/2: Corrected post_gpio_reset_on_delay_ms: 100 -> 300
> - Link to v2: https://lore.kernel.org/all/20250820122520.3356738-1-yelangyan@huaqin.corp-partner.google.com/
> 
> Changes in v2:
> - PATCH 1/2: Drop redundant "bindings for" from subject
> - PATCH 1/2: Improve description (describe hardware instead of bindings)
> - PATCH 1/2: Drop "panel: true" property
> - PATCH 1/2: Drop redundant description for reset-gpios
> - PATCH 1/2: Use unevaluatedProperties: false instead of additionalProperties
> - Link to v1: https://lore.kernel.org/all/20250819034852.1230264-1-yelangyan@huaqin.corp-partner.google.com/
> 
> Langyan Ye (2):
>   dt-bindings: input: Add Parade TC3408 touchscreen controller
>   HID: i2c-hid: elan: Add parade-tc3408 timing
> 
>  .../bindings/input/parade,tc3408.yaml         | 68 +++++++++++++++++++
>  drivers/hid/i2c-hid/i2c-hid-of-elan.c         |  8 +++
>  2 files changed, 76 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/input/parade,tc3408.yaml

Applied the lot, thank you.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-02-26 16:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-08  6:35 [PATCH V3 RESEND 0/2] Add tc3408 bindings and timing Langyan Ye
2026-01-08  6:35 ` [PATCH V3 RESEND 1/2] dt-bindings: input: Add Parade TC3408 touchscreen controller Langyan Ye
2026-01-08  6:35 ` [PATCH V3 RESEND 2/2] HID: i2c-hid: elan: Add parade-tc3408 timing Langyan Ye
2026-01-21 22:40   ` Dmitry Torokhov
2026-01-29 16:50     ` Doug Anderson
2026-02-26  4:59       ` Dmitry Torokhov
2026-02-26 14:52         ` Jiri Kosina
2026-02-26 16:06 ` [PATCH V3 RESEND 0/2] Add tc3408 bindings and timing Dmitry Torokhov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox