1ADC attached resistor ladder buttons 2------------------------------------ 3 4Required 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 11Optional properties: 12 - poll-interval: Poll interval time in milliseconds 13 - autorepeat: Boolean, Enable auto repeat feature of Linux input 14 subsystem. 15 16Each button (key) is represented as a sub-node of "adc-keys": 17 18Required 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 24No two values of press-threshold-microvolt may be the same. 25All values of press-threshold-microvolt must be less than 26keyup-threshold-microvolt. 27 28Example: 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+--------------------------------+------------------------+ 68