Re: [PATCH 1/2] dt-bindings: input: Add Nuvoton MA35D1 keypad

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2024/10/25 下午 07:42, Krzysztof Kozlowski wrote:
On 25/10/2024 07:36, Ming-Jen Chen wrote:
+      0  = 0 clock
+      1  = 0 clock
+      2  = 0 clock
Heh? So this is just 0

+      3  = 8 clocks
This is 8

+      4  = 16 clocks
16, not 4

+      5  = 32 clocks
+      6  = 64 clocks
+      7  = 128 clocks
+      8  = 256 clocks
+      9  = 512 clocks
+      10 = 1024 clocks
+      11 = 2048 clocks
+      12 = 4096 clocks
+      13 = 8192 clocks
Use proper enum
I will update the definition to specify the debounce period in terms of
keypad IP clock cycles, as follow:

nuvoton,debounce-period:
      type: integer
      enum: [0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
      description: |
          Key debounce period select, specified in terms of keypad IP
clock cycles.
          This value corresponds to the register setting for the keypad
interface.
          The following values indicate the debounce time:
          - 0 = 0 clock cycles (no debounce)
          - 3 = 8 clock cycles
          - 4 = 16 clock cycles
          - 5 = 32 clock cycles
          - 6 = 64 clock cycles
          - 7 = 128 clock cycles
          - 8 = 256 clock cycles
          - 9 = 512 clock cycles
          - 10 = 1024 clock cycles
          - 11 = 2048 clock cycles
          - 12 = 4096 clock cycles
          - 13 = 8192 clock cycles
No. 0, 8, 16, 32 , 64 etc.

I will change it to the following content:

nuvoton,debounce-period:
  type:  integer
  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.


+
+  per-scale:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: Row Scan Cycle Pre-scale Value (1 to 256).
Missing constraints

+
+  per-scalediv:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: Per-scale divider (1 to 256).
Missing constraints

Both properties are unexpected... aren't you duplicating existing
properties?
pre-scale:
This value configures the IC register for the row scan cycle
pre-scaling, with valid values ranging from 1 to 256
per-scalediv:(I will change pre-scalediv to pre-scale-div)
Please look for matching existing properties first.

I will change it to the following content:

nuvoton,scan-time:
  type:  uint32
description: | Set the scan time for each key, in IP clock cycles. The valid range is from 1 to 256. minimum: 1
  maximum:  256

nuvoton,scan-time-div:
  type:  uint32
description: | Divider for the scan-time, further adjusting the scan frequency for the keypad. The valid range is from 1 to 256. minimum: 1
  maximum:  256

This will describe its role in setting the divisor for the row scan
cycle pre-scaling, allowing for finer control over the keypad scanning
frequency

I will change it to the following content:
nuvoton,pre-scale:
      type: uint32
      description: |
          Row Scan Cycle Pre-scale Value, used to pre-scale the row scan
cycle. The valid range is from 1 to 256.
      minimum: 1
      maximum: 256

nuvoton,pre-scale-div:
      type: uint32
      description: |
          Divider for the pre-scale value, further adjusting the scan
frequency for the keypad.
      minimum: 1
      maximum: 256

Best regards,
Krzysztof

Best regards,

Ming-Jen Chen





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux