All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ming-Jen Chen <mjchen0829@gmail.com>
To: Rob Herring <robh@kernel.org>
Cc: dmitry.torokhov@gmail.com, krzk+dt@kernel.org,
	conor+dt@kernel.org, sudeep.holla@arm.com, peng.fan@nxp.com,
	arnd@arndb.de, linux-arm-kernel@lists.infradead.org,
	linux-input@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, mjchen@nuvoton.com
Subject: Re: [PATCH v2 1/2] dt-bindings: input: Add Nuvoton MA35D1 keypad
Date: Thu, 14 Nov 2024 07:58:33 +0800	[thread overview]
Message-ID: <6f20fb7c-ef70-400a-b359-55f101d8821a@gmail.com> (raw)
In-Reply-To: <20241112182551.GA1394330-robh@kernel.org>


On 2024/11/13 上午 02:25, Rob Herring wrote:
> On Tue, Nov 12, 2024 at 05:30:58AM +0000, mjchen wrote:
>> Add YAML bindings for MA35D1 SoC keypad.
>>
>> Signed-off-by: mjchen <mjchen0829@gmail.com>
>> ---
>>   .../bindings/input/nuvoton,ma35d1-keypad.yaml | 89 +++++++++++++++++++
>>   1 file changed, 89 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/input/nuvoton,ma35d1-keypad.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/input/nuvoton,ma35d1-keypad.yaml b/Documentation/devicetree/bindings/input/nuvoton,ma35d1-keypad.yaml
>> new file mode 100644
>> index 000000000000..71debafc3890
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/input/nuvoton,ma35d1-keypad.yaml
>> @@ -0,0 +1,89 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/input/nuvoton,ma35d1-keypad.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Nuvoton MA35D1 Keypad
>> +
>> +maintainers:
>> +  - Ming-jen Chen <mjchen0829@gmail.com>
>> +
>> +allOf:
>> +  - $ref: /schemas/input/matrix-keymap.yaml#
>> +
>> +properties:
>> +  compatible:
>> +    const: nuvoton,ma35d1-kpi
>> +
>> +  debounce-period:
>> +    $ref: /schemas/types.yaml#/definitions/uint32
>> +    enum: [0, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192]
>> +    description: |
>> +      Key debounce period select, specified in terms of keypad IP clock cycles.
>> +      Valid values include 0 (no debounce) and specific clock cycle values:
>> +      8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, and 8192.
> No need to list the values twice.
>
> We already have a bunch of debounce time properties. Don't add more. If
> you have the clock frequency, then you can use the existing
> "debounce-delay-ms" and convert to register values.
>
>> +
>> +  nuvoton,key-scan-time:
>> +    $ref: /schemas/types.yaml#/definitions/uint32
>> +    description: |
>> +      Set the time it takes to scan each key in the keypad, in clock cycles of the IP.
>> +      This parameter controls how frequently the keypad is scanned, adjusting the response time.
>> +      The valid range is from 1 to 256 clock cycles.
>> +    minimum: 1
>> +    maximum: 256
>> +
>> +  nuvoton,key-scan-time-div:
>> +    $ref: /schemas/types.yaml#/definitions/uint32
>> +    description: |
>> +      Set a divider that adjusts the scan time for each key.
>> +      This value scales the time it takes to scan each key
>> +      by multiplying the key-scan-time by the specified factor.
>> +      For example, if you set key-scan-time to 64 cycles and configure key-scan-time-div to 2,
>> +      the scan time for each key will be increased to 128 cycles (64 cycles * 2). time.
>> +    minimum: 1
>> +    maximum: 256
> Again, we have existing properties such as scan-interval,
> scan-interval-ms, and scan-delay. How is this different?
>
> With a single property in time units, you can solve for how many clock
> cycles.
>
I will remove the custom properties.

I introduced and replaced them with the existing properties, such as

sacn-interval-ms, and debounce-delay-ms as you suggested.


>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +  clocks:
>> +    maxItems: 1
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - interrupts
>> +  - clocks
>> +  - linux,keymap
>> +  - debounce-period
>> +  - nuvoton,key-scan-time
>> +  - nuvoton,key-scan-time-div
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/input/input.h>
>> +    keypad@404A0000 {
>> +      compatible = "nuvoton,ma35d1-kpi";
>> +      reg = <0x404A0000 0x10000>;
>> +      interrupts = <79>;
>> +      clocks = <&clk>;
>> +      keypad,num-rows = <2>;
>> +      keypad,num-columns = <2>;
> Surely these should be required?

I will add "keypad,num-rows" and "keypad,num-columes" to the required 
properties in the next verision.


Thank you for the feedback.

As both Conor Dooly and Rob Herring point out, I'll make the changes as 
suggested.

>> +
>> +      linux,keymap = <
>> +         MATRIX_KEY(0, 0, KEY_ENTER)
>> +         MATRIX_KEY(0, 1, KEY_ENTER)
>> +         MATRIX_KEY(1, 0, KEY_SPACE)
>> +         MATRIX_KEY(1, 1, KEY_Z)
>> +      >;
>> +
>> +      debounce-period = <8>;
>> +      nuvoton,key-scan-time = <1>;
>> +      nuvoton,key-scan-time-div = <24>;
>> +    };
>> -- 
>> 2.25.1
>>


  reply	other threads:[~2024-11-14  0:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-12  5:30 [PATCH v2 0/2] Add support for nuvoton ma35d1 keypad controller mjchen
2024-11-12  5:30 ` [PATCH v2 1/2] dt-bindings: input: Add Nuvoton MA35D1 keypad mjchen
2024-11-12 17:59   ` Conor Dooley
2024-11-12 18:25   ` Rob Herring
2024-11-13 23:58     ` Ming-Jen Chen [this message]
2024-11-12  5:30 ` [PATCH v2 2/2] input: keypad: add new keypad driver for MA35D1 mjchen
2024-11-12  9:57   ` kernel test robot
2024-11-12 11:32   ` kernel test robot
2024-11-12 15:22   ` kernel test robot

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=6f20fb7c-ef70-400a-b359-55f101d8821a@gmail.com \
    --to=mjchen0829@gmail.com \
    --cc=arnd@arndb.de \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjchen@nuvoton.com \
    --cc=peng.fan@nxp.com \
    --cc=robh@kernel.org \
    --cc=sudeep.holla@arm.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.