]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
dt-bindings: input: adc-keys bindings documentation
authorMarek Szyprowski <m.szyprowski@samsung.com>
Thu, 18 Feb 2021 10:33:14 +0000 (11:33 +0100)
committerNeil Armstrong <narmstrong@baylibre.com>
Thu, 18 Feb 2021 10:37:26 +0000 (11:37 +0100)
Dump adc-keys bindings documentation from Linux kernel source tree from
commit 698dc0cf9447 ("dt-bindings: input: adc-keys: clarify
description").

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
doc/device-tree-bindings/input/adc-keys.txt [new file with mode: 0644]

diff --git a/doc/device-tree-bindings/input/adc-keys.txt b/doc/device-tree-bindings/input/adc-keys.txt
new file mode 100644 (file)
index 0000000..6c8be6a
--- /dev/null
@@ -0,0 +1,67 @@
+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 above or equal to 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 above or equal to which this key is
+                                    considered pressed.
+
+No two values of press-threshold-microvolt may be the same.
+All values of press-threshold-microvolt must be less than
+keyup-threshold-microvolt.
+
+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>;
+               };
+       };
+
++--------------------------------+------------------------+
+| 2.000.000 <= value             | no key pressed         |
++--------------------------------+------------------------+
+| 1.500.000 <= value < 2.000.000 | KEY_VOLUMEUP pressed   |
++--------------------------------+------------------------+
+| 1.000.000 <= value < 1.500.000 | KEY_VOLUMEDOWN pressed |
++--------------------------------+------------------------+
+|   500.000 <= value < 1.000.000 | KEY_ENTER pressed      |
++--------------------------------+------------------------+
+|              value <   500.000 | no key pressed         |
++--------------------------------+------------------------+