Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: input: samsung,s3c6410-keypad: convert to DT Schema

Convert Samsung SoC Keypad bindings to DT schema with changes:
1. Rename "linux,keypad-no-autorepeat" property to
"linux,input-no-autorepeat", because the latter was implemented in
the Linux driver.
2. Add clocks and clock-names, already used by DTS and the Linux driver.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20240312183001.714626-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

authored by

Krzysztof Kozlowski and committed by
Dmitry Torokhov
0883f1d8 2d77f70b

+122 -78
+121
Documentation/devicetree/bindings/input/samsung,s3c6410-keypad.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/input/samsung,s3c6410-keypad.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Samsung SoC series Keypad Controller 8 + 9 + description: 10 + Samsung SoC Keypad controller is used to interface a SoC with a matrix-type 11 + keypad device. The keypad controller supports multiple row and column lines. 12 + A key can be placed at each intersection of a unique row and a unique column. 13 + The keypad controller can sense a key-press and key-release and report the 14 + event using a interrupt to the cpu. 15 + 16 + maintainers: 17 + - Krzysztof Kozlowski <krzk@kernel.org> 18 + 19 + properties: 20 + compatible: 21 + enum: 22 + - samsung,s3c6410-keypad 23 + - samsung,s5pv210-keypad 24 + 25 + reg: 26 + maxItems: 1 27 + 28 + clocks: 29 + maxItems: 1 30 + 31 + clock-names: 32 + items: 33 + - const: keypad 34 + 35 + interrupts: 36 + maxItems: 1 37 + 38 + wakeup-source: true 39 + 40 + linux,input-no-autorepeat: 41 + type: boolean 42 + description: 43 + Do no enable autorepeat feature. 44 + 45 + linux,input-wakeup: 46 + type: boolean 47 + deprecated: true 48 + 49 + samsung,keypad-num-columns: 50 + $ref: /schemas/types.yaml#/definitions/uint32 51 + description: 52 + Number of column lines connected to the keypad controller. 53 + 54 + samsung,keypad-num-rows: 55 + $ref: /schemas/types.yaml#/definitions/uint32 56 + description: 57 + Number of row lines connected to the keypad controller. 58 + 59 + patternProperties: 60 + '^key-[0-9a-z]+$': 61 + type: object 62 + $ref: input.yaml# 63 + additionalProperties: false 64 + description: 65 + Each key connected to the keypad controller is represented as a child 66 + node to the keypad controller device node. 67 + 68 + properties: 69 + keypad,column: 70 + $ref: /schemas/types.yaml#/definitions/uint32 71 + description: The column number to which the key is connected. 72 + 73 + keypad,row: 74 + $ref: /schemas/types.yaml#/definitions/uint32 75 + description: The row number to which the key is connected. 76 + 77 + linux,code: true 78 + 79 + required: 80 + - keypad,column 81 + - keypad,row 82 + - linux,code 83 + 84 + required: 85 + - compatible 86 + - reg 87 + - interrupts 88 + - samsung,keypad-num-columns 89 + - samsung,keypad-num-rows 90 + 91 + additionalProperties: false 92 + 93 + examples: 94 + - | 95 + #include <dt-bindings/clock/exynos4.h> 96 + #include <dt-bindings/interrupt-controller/arm-gic.h> 97 + 98 + keypad@100a0000 { 99 + compatible = "samsung,s5pv210-keypad"; 100 + reg = <0x100a0000 0x100>; 101 + interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 102 + clocks = <&clock CLK_KEYIF>; 103 + clock-names = "keypad"; 104 + 105 + samsung,keypad-num-rows = <2>; 106 + samsung,keypad-num-columns = <8>; 107 + linux,input-no-autorepeat; 108 + wakeup-source; 109 + 110 + key-1 { 111 + keypad,row = <0>; 112 + keypad,column = <3>; 113 + linux,code = <2>; 114 + }; 115 + 116 + key-2 { 117 + keypad,row = <0>; 118 + keypad,column = <4>; 119 + linux,code = <3>; 120 + }; 121 + };
-77
Documentation/devicetree/bindings/input/samsung-keypad.txt
··· 1 - * Samsung's Keypad Controller device tree bindings 2 - 3 - Samsung's Keypad controller is used to interface a SoC with a matrix-type 4 - keypad device. The keypad controller supports multiple row and column lines. 5 - A key can be placed at each intersection of a unique row and a unique column. 6 - The keypad controller can sense a key-press and key-release and report the 7 - event using a interrupt to the cpu. 8 - 9 - Required SoC Specific Properties: 10 - - compatible: should be one of the following 11 - - "samsung,s3c6410-keypad": For controllers compatible with s3c6410 keypad 12 - controller. 13 - - "samsung,s5pv210-keypad": For controllers compatible with s5pv210 keypad 14 - controller. 15 - 16 - - reg: physical base address of the controller and length of memory mapped 17 - region. 18 - 19 - - interrupts: The interrupt number to the cpu. 20 - 21 - Required Board Specific Properties: 22 - - samsung,keypad-num-rows: Number of row lines connected to the keypad 23 - controller. 24 - 25 - - samsung,keypad-num-columns: Number of column lines connected to the 26 - keypad controller. 27 - 28 - - Keys represented as child nodes: Each key connected to the keypad 29 - controller is represented as a child node to the keypad controller 30 - device node and should include the following properties. 31 - - keypad,row: the row number to which the key is connected. 32 - - keypad,column: the column number to which the key is connected. 33 - - linux,code: the key-code to be reported when the key is pressed 34 - and released. 35 - 36 - - pinctrl-0: Should specify pin control groups used for this controller. 37 - - pinctrl-names: Should contain only one value - "default". 38 - 39 - Optional Properties: 40 - - wakeup-source: use any event on keypad as wakeup event. 41 - (Legacy property supported: "linux,input-wakeup") 42 - 43 - Optional Properties specific to linux: 44 - - linux,keypad-no-autorepeat: do no enable autorepeat feature. 45 - 46 - 47 - Example: 48 - keypad@100a0000 { 49 - compatible = "samsung,s5pv210-keypad"; 50 - reg = <0x100A0000 0x100>; 51 - interrupts = <173>; 52 - samsung,keypad-num-rows = <2>; 53 - samsung,keypad-num-columns = <8>; 54 - linux,input-no-autorepeat; 55 - wakeup-source; 56 - 57 - pinctrl-names = "default"; 58 - pinctrl-0 = <&keypad_rows &keypad_columns>; 59 - 60 - key_1 { 61 - keypad,row = <0>; 62 - keypad,column = <3>; 63 - linux,code = <2>; 64 - }; 65 - 66 - key_2 { 67 - keypad,row = <0>; 68 - keypad,column = <4>; 69 - linux,code = <3>; 70 - }; 71 - 72 - key_3 { 73 - keypad,row = <0>; 74 - keypad,column = <5>; 75 - linux,code = <4>; 76 - }; 77 - };
+1 -1
Documentation/devicetree/bindings/power/wakeup-source.txt
··· 23 23 Documentation/devicetree/bindings/mfd/tc3589x.txt 24 24 Documentation/devicetree/bindings/input/touchscreen/ads7846.txt 25 25 4. "linux,keypad-wakeup" Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt 26 - 5. "linux,input-wakeup" Documentation/devicetree/bindings/input/samsung-keypad.txt 26 + 5. "linux,input-wakeup" Documentation/devicetree/bindings/input/samsung,s3c6410-keypad.yaml 27 27 6. "nvidia,wakeup-source" Documentation/devicetree/bindings/input/nvidia,tegra20-kbc.txt 28 28 29 29 Examples