From: Charles Wang <charles.goodix@gmail.com>
To: Krzysztof Kozlowski <krzk@kernel.org>,
dmitry.torokhov@gmail.com, hbarnor@chromium.org,
dianders@chromium.org, conor.dooley@microchip.com
Cc: jikos@kernel.org, bentiss@kernel.org,
linux-input@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] dt-bindings: input: Goodix SPI HID Touchscreen
Date: Sat, 19 Oct 2024 10:46:21 +0800 [thread overview]
Message-ID: <ZxMc-HP8o_qHKhKI@ux-UP-WHL01> (raw)
In-Reply-To: <f8ffc231-6961-44f8-ad61-3a07ab22e849@kernel.org>
Hi Krzysztof,
On Fri, Oct 18, 2024 at 01:41:41PM +0200, Krzysztof Kozlowski wrote:
> On 18/10/2024 13:18, Charles Wang wrote:
> >
> > On Fri, Oct 18, 2024 at 07:59:46AM +0200, Krzysztof Kozlowski wrote:
> >> On 18/10/2024 04:08, Charles Wang wrote:
> >>> The Goodix GT7986U touch controller report touch data according to the
> >>> HID protocol through the SPI bus. However, it is incompatible with
> >>> Microsoft's HID-over-SPI protocol.
> >>>
> >>> Signed-off-by: Charles Wang <charles.goodix@gmail.com>
> >>> ---
> >>> .../bindings/input/goodix,gt7375p.yaml | 68 ++++++++++++++++---
> >>> 1 file changed, 58 insertions(+), 10 deletions(-)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml b/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml
> >>> index 358cb8275..184d9c320 100644
> >>> --- a/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml
> >>> +++ b/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml
> >>> @@ -8,27 +8,27 @@ title: Goodix GT7375P touchscreen
> >>>
> >>> maintainers:
> >>> - Douglas Anderson <dianders@chromium.org>
> >>> + - Charles Wang <charles.goodix@gmail.com>
> >>>
> >>> description:
> >>> - Supports the Goodix GT7375P touchscreen.
> >>> - This touchscreen uses the i2c-hid protocol but has some non-standard
> >>> - power sequencing required.
> >>> -
> >>> -allOf:
> >>> - - $ref: /schemas/input/touchscreen/touchscreen.yaml#
> >>> + The Goodix GT7375P and GT7986U touchscreens support both SPI and I2C interfaces.
> >>> + With the I2C interface, they use the i2c-hid protocol but require non-standard
> >>> + power sequencing. With the SPI interface, they use a custom HID protocol that
> >>> + is incompatible with Microsoft's HID-over-SPI protocol.
> >>>
> >>> properties:
> >>> compatible:
> >>> oneOf:
> >>> - - const: goodix,gt7375p
> >>> + - items:
> >>> + - const: goodix,gt7375p
> >>
> >> That's not a necessary change. Keep old code here.
> >>
> >
> > Ack,
> >
> >>> - items:
> >>> - const: goodix,gt7986u
> >>> - const: goodix,gt7375p
> >>> + - items:
> >>> + - const: goodix,gt7986u
> >>
> >> Hm? This does not make much sense. Device either is or is not compatible
> >> with gt7375p. Cannot be both.
> >>
> >
> > Ack,
> >
> >>>
> >>> reg:
> >>> - enum:
> >>> - - 0x5d
> >>> - - 0x14
> >>> + maxItems: 1
> >>>
> >>> interrupts:
> >>> maxItems: 1
> >>> @@ -57,6 +57,15 @@ properties:
> >>> This property is used to avoid the back-powering issue.
> >>> type: boolean
> >>>
> >>> + goodix,hid-report-addr:
> >>> + $ref: /schemas/types.yaml#/definitions/uint32
> >>> + description:
> >>> + The register address for retrieving HID report data.
> >>> + This address is related to the device firmware and may
> >>> + change after a firmware update.
> >>
> How is this supposed to work? DTS will stay fixed, you cannot change it
> just because firmware changed. User loads new firmware with different
> address, but DTS will have to use old address - so broken property.
>
Sorry for missing this issue in my previous response.
Honestly, although the likelihood of this address changing is low, it is
indeed possible for it to change due to a firmware update during the factory
debugging phase. However, for machines that users have, we will ensure that
this address will not be altered as a result of a firmware upgrade.
> >>> +
> >>> + spi-max-frequency: true
> >>
> >> Drop
> >>
> >
> > Ack,
> >
> >>> +
> >>> required:
> >>> - compatible
> >>> - reg
> >>> @@ -64,6 +73,25 @@ required:
> >>> - reset-gpios
> >>> - vdd-supply
> >>>
> >>> +allOf:
> >>> + - $ref: /schemas/input/touchscreen/touchscreen.yaml#
> >>> + - $ref: /schemas/spi/spi-peripheral-props.yaml#
> >>> +
> >>> + - if:
> >>> + properties:
> >>> + compatible:
> >>> + items:
> >>> + - const: goodix,gt7986u
> >>> + then:
> >>> + required:
> >>> + - goodix,hid-report-addr
> >>> + else:
> >>> + properties:
> >>> + goodix,hid-report-addr: false
> >>> + spi-max-frequency: false
> >>
> >> Why? GT7375P also supports SPI.
> >>
> >
> > No, only GT7986U support SPI. What I'm trying to express here is that
>
> Description earlier said:
> "The Goodix GT7375P and GT7986U touchscreens support both SPI and I2C
> interfaces."
>
> so both support?
>
Sorry, there is an error in the description. Currently, only the GT7986U
supports SPI, I will change the description.
>
> > the GT7375P does not support the properties 'goodix,hid-report-addr'
> > and 'spi-max-frequency. Is there any issue with writing it this way?
>
> spi-max-frequency could stay, assuming device does not support SPI.
>
Ack,
Best regards,
Charles
next prev parent reply other threads:[~2024-10-19 2:46 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-18 2:08 [PATCH] dt-bindings: input: Goodix SPI HID Touchscreen Charles Wang
2024-10-18 5:59 ` Krzysztof Kozlowski
2024-10-18 11:18 ` Charles Wang
2024-10-18 11:41 ` Krzysztof Kozlowski
2024-10-19 2:46 ` Charles Wang [this message]
2024-10-21 9:41 ` Krzysztof Kozlowski
2024-10-18 20:48 ` Doug Anderson
2024-10-19 2:55 ` Charles Wang
2024-10-21 9:43 ` Krzysztof Kozlowski
2024-10-21 15:37 ` Doug Anderson
2024-10-22 7:19 ` Charles Wang
2024-10-22 16:12 ` Doug Anderson
2024-10-23 6:44 ` Charles Wang
2024-10-23 19:35 ` Doug Anderson
2024-10-25 11:33 ` Charles Wang
-- strict thread matches above, loose matches on Subject: below --
2024-10-25 11:46 Charles Wang
2024-10-25 12:03 ` Krzysztof Kozlowski
2024-10-25 15:29 ` Doug Anderson
2024-10-25 15:58 ` Rob Herring
2024-10-25 16:19 ` Doug Anderson
2024-10-25 17:14 ` Dmitry Torokhov
2024-10-30 7:05 ` Charles Wang
2024-10-28 7:17 ` Krzysztof Kozlowski
2024-10-30 6:57 ` Charles Wang
2024-10-30 18:14 ` Doug Anderson
2024-10-31 7:11 ` Charles Wang
2024-10-30 4:34 ` Charles Wang
2024-10-31 2:37 ` Charles Wang
2024-10-31 17:58 ` Doug Anderson
2024-11-01 1:32 ` Charles Wang
2024-11-04 19:36 ` Doug Anderson
2024-11-06 3:20 ` Charles Wang
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=ZxMc-HP8o_qHKhKI@ux-UP-WHL01 \
--to=charles.goodix@gmail.com \
--cc=bentiss@kernel.org \
--cc=conor.dooley@microchip.com \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=dmitry.torokhov@gmail.com \
--cc=hbarnor@chromium.org \
--cc=jikos@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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