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