[V2,2/3] Input: Add binding document for ADC keypad
diff mbox

Message ID 1427761689-5238-2-git-send-email-abrestic@chromium.org
State New, archived
Headers show

Commit Message

Andrew Bresticker March 31, 2015, 12:28 a.m. UTC
Add a binding document for a generic ADC keypad.  Buttons on an ADC
keypad are connected in a resistor ladder to an ADC.  The binding
describes the mapping of ADC channel and voltage ranges to buttons.
Note that this binding only describes simple ADC keypads where only
a single button press can be detected at once per ADC channel.

Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Cc: Jonathan Cameron <jic23@kernel.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Kumar Gala <galak@codeaurora.org>
---
Changes from v1:
 - Made linux,input-type a required property.
---
 .../devicetree/bindings/input/adc-keys.txt         | 41 ++++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/input/adc-keys.txt

Patch
diff mbox

diff --git a/Documentation/devicetree/bindings/input/adc-keys.txt b/Documentation/devicetree/bindings/input/adc-keys.txt
new file mode 100644
index 0000000..e531f25
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/adc-keys.txt
@@ -0,0 +1,41 @@ 
+Generic ADC keypad
+==================
+
+Required properties:
+ - compatible: "adc-keys"
+ - poll-interval: Polling interval time in ms.
+ - io-channels: List of IIO channels used by the keypad.
+   See ../iio/iio-bindings.txt for details.
+
+Optional properties:
+ - autorepeat: Enable auto-repeat.
+
+Each button on the ADC keypad is represented by a sub-node.
+
+Required sub-node properties:
+ - label: Descriptive name for the key.
+ - linux,code: Keycode to emit.
+ - linux,input-type: Event type this key generates.
+ - channel: IIO channel (index into the 'io-channels' above) to which this
+   button is attached.
+ - min-voltage: Minimum voltage in uV when this key is pressed.
+ - max-voltage: Maximum voltage in uV when this key is pressed.
+
+Example:
+
+adc-keypad {
+	compatible = "adc-keys";
+	poll-interval = <100>;
+	io-channels = <&adc 0>, <&adc 1>;
+
+	vol-up-button {
+		label = "Volume Up";
+		linux,code = <KEY_VOLUMEUP>;
+		linux,input-type = <EV_KEY>;
+		channel = <0>;
+		min-voltage = <1600000>;
+		max-voltage = <1640000>;
+	};
+
+	...
+};