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. >> >> >>> + >>> + 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. > 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