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

dt-bindings: input: Convert adc-keys to DT schema

Convert the adc-keys binding to DT schema format.

The old binding has 'label' as required, but it should never be
required given it's just a human readable description.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220608211207.2058487-6-robh@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

authored by

Rob Herring and committed by
Dmitry Torokhov
538c6406 75448ff7

+103 -67
-67
Documentation/devicetree/bindings/input/adc-keys.txt
··· 1 - ADC attached resistor ladder buttons 2 - ------------------------------------ 3 - 4 - Required properties: 5 - - compatible: "adc-keys" 6 - - io-channels: Phandle to an ADC channel 7 - - io-channel-names = "buttons"; 8 - - keyup-threshold-microvolt: Voltage above or equal to which all the keys are 9 - considered up. 10 - 11 - Optional properties: 12 - - poll-interval: Poll interval time in milliseconds 13 - - autorepeat: Boolean, Enable auto repeat feature of Linux input 14 - subsystem. 15 - 16 - Each button (key) is represented as a sub-node of "adc-keys": 17 - 18 - Required subnode-properties: 19 - - label: Descriptive name of the key. 20 - - linux,code: Keycode to emit. 21 - - press-threshold-microvolt: voltage above or equal to which this key is 22 - considered pressed. 23 - 24 - No two values of press-threshold-microvolt may be the same. 25 - All values of press-threshold-microvolt must be less than 26 - keyup-threshold-microvolt. 27 - 28 - Example: 29 - 30 - #include <dt-bindings/input/input.h> 31 - 32 - adc-keys { 33 - compatible = "adc-keys"; 34 - io-channels = <&lradc 0>; 35 - io-channel-names = "buttons"; 36 - keyup-threshold-microvolt = <2000000>; 37 - 38 - button-up { 39 - label = "Volume Up"; 40 - linux,code = <KEY_VOLUMEUP>; 41 - press-threshold-microvolt = <1500000>; 42 - }; 43 - 44 - button-down { 45 - label = "Volume Down"; 46 - linux,code = <KEY_VOLUMEDOWN>; 47 - press-threshold-microvolt = <1000000>; 48 - }; 49 - 50 - button-enter { 51 - label = "Enter"; 52 - linux,code = <KEY_ENTER>; 53 - press-threshold-microvolt = <500000>; 54 - }; 55 - }; 56 - 57 - +--------------------------------+------------------------+ 58 - | 2.000.000 <= value | no key pressed | 59 - +--------------------------------+------------------------+ 60 - | 1.500.000 <= value < 2.000.000 | KEY_VOLUMEUP pressed | 61 - +--------------------------------+------------------------+ 62 - | 1.000.000 <= value < 1.500.000 | KEY_VOLUMEDOWN pressed | 63 - +--------------------------------+------------------------+ 64 - | 500.000 <= value < 1.000.000 | KEY_ENTER pressed | 65 - +--------------------------------+------------------------+ 66 - | value < 500.000 | no key pressed | 67 - +--------------------------------+------------------------+
+103
Documentation/devicetree/bindings/input/adc-keys.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/input/adc-keys.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: ADC attached resistor ladder buttons 8 + 9 + maintainers: 10 + - Alexandre Belloni <alexandre.belloni@bootlin.com> 11 + 12 + allOf: 13 + - $ref: input.yaml# 14 + 15 + properties: 16 + compatible: 17 + const: adc-keys 18 + 19 + io-channels: 20 + maxItems: 1 21 + 22 + io-channel-names: 23 + const: buttons 24 + 25 + keyup-threshold-microvolt: 26 + description: 27 + Voltage above or equal to which all the keys are considered up. 28 + 29 + poll-interval: true 30 + autorepeat: true 31 + 32 + patternProperties: 33 + '^button-': 34 + type: object 35 + $ref: input.yaml# 36 + additionalProperties: false 37 + description: 38 + Each button (key) is represented as a sub-node. 39 + 40 + properties: 41 + label: true 42 + 43 + linux,code: true 44 + 45 + press-threshold-microvolt: 46 + description: 47 + Voltage above or equal to which this key is considered pressed. No 48 + two values of press-threshold-microvolt may be the same. All values 49 + of press-threshold-microvolt must be less than 50 + keyup-threshold-microvolt. 51 + 52 + required: 53 + - linux,code 54 + - press-threshold-microvolt 55 + 56 + required: 57 + - compatible 58 + - io-channels 59 + - io-channel-names 60 + - keyup-threshold-microvolt 61 + 62 + additionalProperties: false 63 + 64 + examples: 65 + - | 66 + #include <dt-bindings/input/input.h> 67 + // +--------------------------------+------------------------+ 68 + // | 2.000.000 <= value | no key pressed | 69 + // +--------------------------------+------------------------+ 70 + // | 1.500.000 <= value < 2.000.000 | KEY_VOLUMEUP pressed | 71 + // +--------------------------------+------------------------+ 72 + // | 1.000.000 <= value < 1.500.000 | KEY_VOLUMEDOWN pressed | 73 + // +--------------------------------+------------------------+ 74 + // | 500.000 <= value < 1.000.000 | KEY_ENTER pressed | 75 + // +--------------------------------+------------------------+ 76 + // | value < 500.000 | no key pressed | 77 + // +--------------------------------+------------------------+ 78 + 79 + adc-keys { 80 + compatible = "adc-keys"; 81 + io-channels = <&lradc 0>; 82 + io-channel-names = "buttons"; 83 + keyup-threshold-microvolt = <2000000>; 84 + 85 + button-up { 86 + label = "Volume Up"; 87 + linux,code = <KEY_VOLUMEUP>; 88 + press-threshold-microvolt = <1500000>; 89 + }; 90 + 91 + button-down { 92 + label = "Volume Down"; 93 + linux,code = <KEY_VOLUMEDOWN>; 94 + press-threshold-microvolt = <1000000>; 95 + }; 96 + 97 + button-enter { 98 + label = "Enter"; 99 + linux,code = <KEY_ENTER>; 100 + press-threshold-microvolt = <500000>; 101 + }; 102 + }; 103 + ...