From: Conor Dooley <conor@kernel.org>
To: yang tylor <tylor_yang@himax.corp-partner.google.com>
Cc: dmitry.torokhov@gmail.com, robh+dt@kernel.org,
krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
jikos@kernel.org, benjamin.tissoires@redhat.com,
linux-input@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
poyuan_chang@himax.corp-partner.google.com,
jingliang@chromium.org, hbarnor@chromium.org
Subject: Re: [PATCH V2 1/2] dt-bindings: input: Introduce Himax HID-over-SPI device
Date: Tue, 19 Sep 2023 12:09:13 +0100 [thread overview]
Message-ID: <20230919-cc4646dbfb953bd34e05658c@fedora> (raw)
In-Reply-To: <CAGD2q_anfBP78jck6AbMNtgAggjOgaB3P6dkmq9tONHP45adFA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 9929 bytes --]
On Tue, Sep 19, 2023 at 05:31:29PM +0800, yang tylor wrote:
> Hi Conor,
>
> > > Additional optional arguments:
> > > ic-det-delay-ms and ic-resume-delay-ms are using to solve runtime
> > > conditions.
>
> > Runtime conditions? Aren't thєse properties of the panel & therefore
> > fixed? If they were runtime conditions, then setting them statically in
> > your DT is not going to work, right?
>
> Because each platform's display driver ready time is different. TP part
> need to avoid this timing by measuring the waveform of LCD reset pin
> low period and TP probe timing. For example, if LCD rst pin low from
> timestamp 100 to 800, TP driver probe at 600. TP probe will fail. Then
> user should set ic-det-delay-ms bigger than 200, to avoid LCD rst low
> timing. As you can see, the timing needs to be measured at runtime to
> decide how long it should be. Then, if the condition is not changed, the
> value could keep the same.
That sounds to me like something you would test once for a given
platform and then the values are static. If you are actually changing it
at *runtime*, how is doing it through DT suitable? Does your firmware do
the tests & then set the values in DT dynamically?
>
> > It looks like you deleted all of the properties from the previous
> > submission of these changes. I don't really understand that, it kinda
> > feels just like appeasement, as you must have needed those properties
> > to do the firmware loading etc. How are you filling the gap those
> > properties have left, when you still only have a single compatible
> > string in thㄟs binding? Is there a way to do runtime detection of which
> > chip you're dealing with that you are now using?
>
> After reviewing, I found the properties could go to IC driver settings :
> "himax,heatmap_16bits" because it depends on IC's ability;
How do you detect the IC's abilities?
> Some
> could remove and use default values: "himax,fw_size",
> "himax,boot_time_fw_upgrade". "himax,fw_size" has a default value in
> IC settings, and likely won't change in this IC.
Okay.
> The behavior of "himax,boot_time_fw_upgrade" seems not stable and
> should be removed. "himax,fw_in_flash", I use the kernel config for
> user to select.
That seems like a bad idea, we want to be able to build one kernel that
works for all hardware at the same time.
> "himax,pid" could be remove and use default firmware name
> "himax_i2chid.bin" to load. It was added because users may desire to
> choose a special name like "himax_i2chid_{pid}.bin" instead of the default
> one.
> It also could be replaced with newly added "himax",id-gpios" which is still
> experimental.
Also, pleae don't top post, but instead reply in-line with my comments,
as I have done here.
> Btw, I encounter an error of patch [2/2], which says:
> BOUNCE linux-input@vger.kernel.org: Message too long (>100000 chars)
> and the patch didn't appear at patchwork.kernel.org. What should I do to
> deal with this problem?
No idea. Maybe try to split it into multiple patches?
The other option is to also cc patches@lists.linux.dev as that has some
higher capacities, but that's not going to be a silver bullet.
Thanks,
Conor.
>
>
> Thanks,
> Tylor
>
>
> On Tue, Sep 19, 2023 at 4:41 PM Conor Dooley <conor@kernel.org> wrote:
>
> > Hey,
> >
> >
> > On Tue, Sep 19, 2023 at 10:49:42AM +0800, Tylor Yang wrote:
> > > The Himax HID-over-SPI framework support for Himax touchscreen ICs
> > > that report HID packet through SPI bus. The driver core need reset
> > > pin to meet reset timing spec. of IC. An interrupt pin to disable
> > > and enable interrupt when suspend/resume. An optional power control
> > > pin if target board needed. Panel id pins for identify panel is also
> > > an option.
> > >
> > > Additional optional arguments:
> > > ic-det-delay-ms and ic-resume-delay-ms are using to solve runtime
> > > conditions.
> >
> > Runtime conditions? Aren't thєse properties of the panel & therefore
> > fixed? If they were runtime conditions, then setting them statically in
> > your DT is not going to work, right?
> >
> > >
> > > This patch also add maintainer of this driver.
> > >
> > > Signed-off-by: Tylor Yang <tylor_yang@himax.corp-partner.google.com>
> >
> > It looks like you deleted all of the properties from the previous
> > submission of these changes. I don't really understand that, it kinda
> > feels just like appeasement, as you must have needed those properties
> > to do the firmware loading etc. How are you filling the gap those
> > properties have left, when you still only have a single compatible
> > string in thㄟs binding? Is there a way to do runtime detection of which
> > chip you're dealing with that you are now using?
> >
> > Confused,
> > Conor.
> >
> > > ---
> > > .../bindings/input/himax,hid-over-spi.yaml | 109 ++++++++++++++++++
> > > MAINTAINERS | 6 +
> > > 2 files changed, 115 insertions(+)
> > > create mode 100644
> > Documentation/devicetree/bindings/input/himax,hid-over-spi.yaml
> > >
> > > diff --git
> > a/Documentation/devicetree/bindings/input/himax,hid-over-spi.yaml
> > b/Documentation/devicetree/bindings/input/himax,hid-over-spi.yaml
> > > new file mode 100644
> > > index 000000000000..3ee3a89842ac
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/input/himax,hid-over-spi.yaml
> > > @@ -0,0 +1,109 @@
> > > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/input/himax,hid-over-spi.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Himax TDDI devices using SPI to send HID packets
> > > +
> > > +maintainers:
> > > + - Tylor Yang <tylor_yang@himax.corp-partner.google.com>
> > > +
> > > +description: |
> > > + Support the Himax TDDI devices which using SPI interface to acquire
> > > + HID packets from the device. The device needs to be initialized using
> > > + Himax protocol before it start sending HID packets.
> > > +
> > > +properties:
> > > + compatible:
> > > + const: himax,hid-over-spi
> > > +
> > > + reg:
> > > + maxItems: 1
> > > +
> > > + '#address-cells':
> > > + const: 1
> > > +
> > > + '#size-cells':
> > > + const: 0
> > > +
> > > + interrupts:
> > > + maxItems: 1
> > > +
> > > + himax,rst-gpio:
> > > + maxItems: 1
> > > + description: Reset device, active low signal.
> > > +
> > > + himax,irq-gpio:
> > > + maxItems: 1
> > > + description: Interrupt request, active low signal.
> > > +
> > > + himax,3v3-gpio:
> > > + maxItems: 1
> > > + description: GPIO to control 3.3V power supply.
> > > +
> > > + himax,id-gpios:
> > > + maxItems: 8
> > > + description: GPIOs to read physical Panel ID. Optional.
> > > +
> > > + spi-cpha: true
> > > + spi-cpol: true
> > > +
> > > + himax,ic-det-delay-ms:
> > > + description:
> > > + Due to TDDI properties, the TPIC detection timing must after the
> > > + display panel initialized. This property is used to specify the
> > > + delay time when TPIC detection and display panel initialization
> > > + timing are overlapped. How much milliseconds to delay before TPIC
> > > + detection start.
> > > +
> > > + himax,ic-resume-delay-ms:
> > > + description:
> > > + Due to TDDI properties, the TPIC resume timing must after the
> > > + display panel resumed. This property is used to specify the
> > > + delay time when TPIC resume and display panel resume
> > > + timing are overlapped. How much milliseconds to delay before TPIC
> > > + resume start.
> > > +
> > > +required:
> > > + - compatible
> > > + - reg
> > > + - interrupts
> > > + - himax,rst-gpio
> > > + - himax,irq-gpio
> > > +
> > > +unevaluatedProperties: false
> > > +
> > > +allOf:
> > > + - $ref: /schemas/spi/spi-peripheral-props.yaml#
> > > +
> > > +examples:
> > > + - |
> > > + #include <dt-bindings/interrupt-controller/irq.h>
> > > + #include <dt-bindings/gpio/gpio.h>
> > > +
> > > + spi {
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + touchscreen@0 {
> > > + compatible = "himax,hid-over-spi";
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > + reg = <0x0>;
> > > + interrupt-parent = <&gpio1>;
> > > + interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
> > > + pinctrl-0 = <&touch_pins>;
> > > + pinctrl-names = "default";
> > > +
> > > + spi-max-frequency = <12500000>;
> > > + spi-cpha;
> > > + spi-cpol;
> > > +
> > > + himax,rst-gpio = <&gpio1 8 GPIO_ACTIVE_LOW>;
> > > + himax,irq-gpio = <&gpio1 7 GPIO_ACTIVE_LOW>;
> > > + himax,3v3-gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
> > > + himax,ic-det-delay-ms = <500>;
> > > + himax,ic-resume-delay-ms = <100>;
> > > + };
> > > + };
> > > diff --git a/MAINTAINERS b/MAINTAINERS
> > > index bf0f54c24f81..452701261bec 100644
> > > --- a/MAINTAINERS
> > > +++ b/MAINTAINERS
> > > @@ -9323,6 +9323,12 @@ L: linux-kernel@vger.kernel.org
> > > S: Maintained
> > > F: drivers/misc/hisi_hikey_usb.c
> > >
> > > +HIMAX HID OVER SPI TOUCHSCREEN SUPPORT
> > > +M: Tylor Yang <tylor_yang@himax.corp-partner.google.com>
> > > +L: linux-input@vger.kernel.org
> > > +S: Supported
> > > +F: Documentation/devicetree/bindings/input/himax,hid-over-spi.yaml
> > > +
> > > HIMAX HX83112B TOUCHSCREEN SUPPORT
> > > M: Job Noorman <job@noorman.info>
> > > L: linux-input@vger.kernel.org
> > > --
> > > 2.25.1
> > >
> >
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2023-09-19 11:09 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-19 2:49 [PATCH V2 0/2] HID: touchscreen: add himax hid-over-spi driver Tylor Yang
2023-09-19 2:49 ` [PATCH V2 1/2] dt-bindings: input: Introduce Himax HID-over-SPI device Tylor Yang
2023-09-19 8:41 ` Conor Dooley
[not found] ` <CAGD2q_anfBP78jck6AbMNtgAggjOgaB3P6dkmq9tONHP45adFA@mail.gmail.com>
2023-09-19 11:09 ` Conor Dooley [this message]
2023-09-22 7:56 ` yang tylor
2023-09-22 9:22 ` Conor Dooley
2023-09-22 9:43 ` yang tylor
2023-09-22 15:31 ` Conor Dooley
2023-09-25 1:44 ` yang tylor
2023-09-25 8:41 ` Conor Dooley
2023-09-25 10:16 ` yang tylor
2023-09-26 9:02 ` Conor Dooley
2023-09-26 9:52 ` yang tylor
2023-09-26 12:53 ` Conor Dooley
2023-09-28 2:12 ` yang tylor
2023-09-28 16:56 ` Conor Dooley
2023-10-02 10:44 ` yang tylor
2023-10-09 17:52 ` Conor Dooley
2023-10-12 2:30 ` yang tylor
2023-10-12 15:24 ` Conor Dooley
2023-10-13 2:15 ` yang tylor
2023-09-19 18:17 ` Rob Herring
2023-09-19 2:49 ` [PATCH V2 2/2] HID: touchscreen: Add initial support for Himax HID-over-SPI Tylor Yang
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=20230919-cc4646dbfb953bd34e05658c@fedora \
--to=conor@kernel.org \
--cc=benjamin.tissoires@redhat.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=hbarnor@chromium.org \
--cc=jikos@kernel.org \
--cc=jingliang@chromium.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=poyuan_chang@himax.corp-partner.google.com \
--cc=robh+dt@kernel.org \
--cc=tylor_yang@himax.corp-partner.google.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.