From: Hans de Goede <hansg@kernel.org>
To: Aelin Reidel <aelin@mainlining.org>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Henrik Rydberg <rydberg@bitmath.org>
Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux@mainlining.org,
phone-devel@vger.kernel.org,
~postmarketos/upstreaming@lists.sr.ht,
Piyush Raj Chouhan <pc1598@mainlining.org>,
Alexander Koskovich <AKoskovich@pm.me>
Subject: Re: [PATCH v2 0/3] Input: add initial support for Goodix GTX8 touchscreen ICs
Date: Sat, 28 Feb 2026 12:23:23 +0100 [thread overview]
Message-ID: <a8ebfb42-52ae-4f4a-ac34-f33d82f11a31@kernel.org> (raw)
In-Reply-To: <20260228-gtx8-v2-0-3a408c365f6c@mainlining.org>
Hi,
On 28-Feb-26 02:56, Aelin Reidel wrote:
> These ICs support SPI and I2C interfaces, up to 10 finger touch, stylus
> and gesture events.
>
> This driver is derived from the Goodix gtx8_driver_linux available at
> [1] and only supports the GT9886 and GT9896 ICs present in the Xiaomi
> Mi 9T and Xiaomi Redmi Note 10 Pro smartphones.
>
> The current implementation only supports Normandy and Yellowstone type
> ICs, aka only GT9886 and GT9896. It is also limited to I2C only, since I
> don't have a device with GTX8 over SPI at hand. Adding support for SPI
> should be fairly easy in the future, since the code uses a regmap.
>
> Support for advanced features like:
> - Firmware updates
> - Stylus events
> - Gesture events
> - Nanjing IC support
> is not included in current version.
>
> The current support requires a previously flashed firmware to be
> present.
>
> As I did not have access to datasheets for these ICs, I extracted the
> addresses from a couple of config files using a small tool [2]. The
> addresses are identical for the same IC families in all configs I
> observed, however not all of them make sense and I stubbed out firmware
> request support due to this.
>
> I've taken a lot of inspiration from the goodix_berlin driver, but the
> Berlin and GTX8 series of touchscreen ICs differ quite a bit. The driver
> architecture is the same overall, i.e. the power-up sequence and general
> concepts are the mostly same, but it is very clear that they are
> different generations when looking at it in more detail.
Right, this answers my main question about this driver which was:
"why another goodix driver?" (this would be the third one).
I've also compared this driver with the original goodix.c touchscreen
driver (which I know well) and the protocol is somewhat closer
to the original goodix.c driver then it is to goodix_berlin, but still
different enough that having a separate driver is the best option IMHO.
...
> From what I can tell, the evolution seems to be:
> Normandy -> Yellowstone -> Berlin
> since Normandy and Yellowstone are already quite different (especially
> with the way checksums work) and Yellowstone has a couple of things
> (checksum, fw_version) that appear similar to Berlin series ICs.
You forgot the original goodix.c driver, adding that it seems
the evolution is:
GTx1/GTx2/GTx6 -> Normandy -> Yellowstone -> Berlin
With GTx1/GTx2/GTx6 having no checksum at all (and 16 bit
registers) and some of the original GTx1/GTx2/GTx6 don't have
nvram for the firmware, so Linux must upload firmware every boot.
Anyways I agree that these are different enough from the existing
goodix and goodix_berlin drivers, so based on that (and only on that):
Acked-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Regards,
Hans
prev parent reply other threads:[~2026-02-28 11:23 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-28 1:56 [PATCH v2 0/3] Input: add initial support for Goodix GTX8 touchscreen ICs Aelin Reidel
2026-02-28 1:56 ` [PATCH v2 1/3] dt-bindings: input: document Goodix GTX8 Touchscreen ICs Aelin Reidel
2026-02-28 1:56 ` [PATCH v2 2/3] Input: add support for " Aelin Reidel
2026-02-28 1:56 ` [PATCH v2 3/3] MAINTAINERS: add an entry for Goodix GTX8 Touchscreen driver Aelin Reidel
2026-02-28 11:23 ` Hans de Goede [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a8ebfb42-52ae-4f4a-ac34-f33d82f11a31@kernel.org \
--to=hansg@kernel.org \
--cc=AKoskovich@pm.me \
--cc=aelin@mainlining.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@mainlining.org \
--cc=neil.armstrong@linaro.org \
--cc=pc1598@mainlining.org \
--cc=phone-devel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=rydberg@bitmath.org \
--cc=~postmarketos/upstreaming@lists.sr.ht \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox