* [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 = ¶de_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 = ¶de_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