All of lore.kernel.org
 help / color / mirror / Atom feed
From: Conor Dooley <conor@kernel.org>
To: Tylor Yang <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,
	jingyliang@chromium.org, hbarnor@chromium.org, wuxy23@lenovo.com,
	luolm1@lenovo.com, poyu_hung@himax.corp-partner.google.com
Subject: Re: [PATCH v3 1/4] dt-bindings: input: Introduce Himax HID-over-SPI device
Date: Tue, 17 Oct 2023 14:59:58 +0100	[thread overview]
Message-ID: <20231017-womb-lantern-186f16ce67af@spud> (raw)
In-Reply-To: <20231017091900.801989-2-tylor_yang@himax.corp-partner.google.com>

[-- Attachment #1: Type: text/plain, Size: 5772 bytes --]

Yo,

On Tue, Oct 17, 2023 at 05:18:57PM +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 to disable
> and enable interrupt when suspend/resume. Two optional power control
>  if target board needed.
> 
> Signed-off-by: Tylor Yang <tylor_yang@himax.corp-partner.google.com>
> ---
>  .../devicetree/bindings/input/himax,hid.yaml  | 123 ++++++++++++++++++
>  MAINTAINERS                                   |   6 +
>  2 files changed, 129 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/input/himax,hid.yaml
> 
> diff --git a/Documentation/devicetree/bindings/input/himax,hid.yaml b/Documentation/devicetree/bindings/input/himax,hid.yaml
> new file mode 100644
> index 000000000000..9ba86fe1b7da
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/himax,hid.yaml
> @@ -0,0 +1,123 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/himax,hid.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

This compatible seems far too generic. Why are there not device specific
compatibles for each TDDI device?

> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  reset:
> +    maxItems: 1
> +    description: Reset device, active low signal.
> +
> +  vccd-supply:
> +    description:
> +      Optional regulator for the 1.8V voltage.
> +
> +  vcca-supply:
> +    description:
> +      Optional regulator for the analog 3.3V voltage.
> +
> +  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.


> +  panel:
> +    description:
> +      The node of the display panel device. The driver will use this
> +      node to get the project ID of the display panel. Optional.
> +    type: object
> +    additionalProperties: false
> +
> +    properties:
> +      himax,pid:
> +        $ref: /schemas/types.yaml#/definitions/uint32-array
> +        minItems: 1
> +        maxItems: 8
> +        items:
> +          minimum: 0
> +          maximum: 65535
> +        description:
> +          When only one value exist, represent Project ID of the device.
> +          When multiple values exist, order in event number value represnet
> +          id value from id-gpios and odd number value represent Project ID
> +          relatives to prior id value. This is used to specify the firmware
> +          for the device.

I am sorry, but I still fail to understand why using device specific
compatibles & firmware-name does not work here. It still seems like this
property exists purely because you do not know what device you are
because of a lack of specific compatibles.

Thanks,
Conor.

> +
> +    required:
> +      - himax,pid
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - reset
> +
> +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";
> +            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;
> +
> +            reset = <&gpio1 8 GPIO_ACTIVE_LOW>;
> +            himax,ic-det-delay-ms = <500>;
> +            himax,ic-resume-delay-ms = <100>;
> +        };
> +    };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 7a7bd8bd80e9..883870ab316f 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -9340,6 +9340,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.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 --]

  reply	other threads:[~2023-10-17 14:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-17  9:18 [PATCH v3 0/4] HID: touchscreen: add himax hid-over-spi driver Tylor Yang
2023-10-17  9:18 ` [PATCH v3 1/4] dt-bindings: input: Introduce Himax HID-over-SPI device Tylor Yang
2023-10-17 13:59   ` Conor Dooley [this message]
2023-10-17 16:58     ` Krzysztof Kozlowski
2023-10-17  9:18 ` [PATCH v3 2/4] HID: touchscreen: Add initial support for Himax HID-over-SPI Tylor Yang
2023-10-17 17:01   ` Krzysztof Kozlowski
2023-10-18  7:15   ` Benjamin Tissoires
2023-10-18 10:14   ` kernel test robot
2023-10-17  9:18 ` [PATCH v3 3/4] " Tylor Yang
2023-10-18  7:23   ` Benjamin Tissoires
2023-10-17  9:19 ` [PATCH v3 4/4] " Tylor Yang
2023-10-17 17:03   ` Krzysztof Kozlowski
2023-10-19  3:51   ` kernel test robot
2023-10-19  6:47   ` kernel test robot
2023-10-17 17:08 ` [PATCH v3 0/4] HID: touchscreen: add himax hid-over-spi driver Krzysztof Kozlowski
2023-10-17 21:41   ` Doug Anderson
2023-10-18  6:07     ` Krzysztof Kozlowski
2023-10-18  6:33       ` Benjamin Tissoires
2024-01-18 23:06       ` Dmitry Torokhov
2024-01-22  4:57   ` Tomasz Figa
2024-01-22  8:08     ` Krzysztof Kozlowski
2024-01-22 13:57       ` Tomasz Figa

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=20231017-womb-lantern-186f16ce67af@spud \
    --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=jingyliang@chromium.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luolm1@lenovo.com \
    --cc=poyu_hung@himax.corp-partner.google.com \
    --cc=poyuan_chang@himax.corp-partner.google.com \
    --cc=robh+dt@kernel.org \
    --cc=tylor_yang@himax.corp-partner.google.com \
    --cc=wuxy23@lenovo.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.