| 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>; | |
| }; | |
| }; |