hc
2023-10-25 6c2073b7aa40e29d0eca7d571dd7bc590c7ecaa7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
ADC attached resistor ladder buttons
------------------------------------
 
Required properties:
 - compatible: "adc-keys"
 - io-channels: Phandle to an ADC channel
 - io-channel-names = "buttons";
 - keyup-threshold-microvolt: Voltage at which all the keys are considered up.
 
Optional properties:
   - poll-interval: Poll interval time in milliseconds
   - autorepeat: Boolean, Enable auto repeat feature of Linux input
     subsystem.
 
Each button (key) is represented as a sub-node of "adc-keys":
 
Required subnode-properties:
   - label: Descriptive name of the key.
   - linux,code: Keycode to emit.
   - press-threshold-microvolt: Voltage ADC input when this key is pressed.
 
Example:
 
#include <dt-bindings/input/input.h>
 
   adc-keys {
       compatible = "adc-keys";
       io-channels = <&lradc 0>;
       io-channel-names = "buttons";
       keyup-threshold-microvolt = <2000000>;
 
       button-up {
           label = "Volume Up";
           linux,code = <KEY_VOLUMEUP>;
           press-threshold-microvolt = <1500000>;
       };
 
       button-down {
           label = "Volume Down";
           linux,code = <KEY_VOLUMEDOWN>;
           press-threshold-microvolt = <1000000>;
       };
 
       button-enter {
           label = "Enter";
           linux,code = <KEY_ENTER>;
           press-threshold-microvolt = <500000>;
       };
   };