From patchwork Thu Jun 27 16:13:24 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Poirier X-Patchwork-Id: 2794251 Return-Path: X-Original-To: patchwork-linux-input@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 6AC869F245 for ; Thu, 27 Jun 2013 16:20:12 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 06E3F203FD for ; Thu, 27 Jun 2013 16:20:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B4BAC203FC for ; Thu, 27 Jun 2013 16:20:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751746Ab3F0QUI (ORCPT ); Thu, 27 Jun 2013 12:20:08 -0400 Received: from mail-pb0-f54.google.com ([209.85.160.54]:63497 "EHLO mail-pb0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751541Ab3F0QUH (ORCPT ); Thu, 27 Jun 2013 12:20:07 -0400 Received: by mail-pb0-f54.google.com with SMTP id ro2so1129640pbb.27 for ; Thu, 27 Jun 2013 09:20:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:x-gm-message-state; bh=F1D/4P7zKILHuv8BWcFtyhxMa7tW+Wq1/7Lciwh0Wgg=; b=b/ChxOFRheyjh3iP7xVWDtWRewXTj+N6JVJ4rQwRgECIBZd4gA5T8hzqkGWvbPZqrQ aISnArhYibxZiuixI0nWcCS6NvDcuoLolIf2uru6g/R2bUzScagDgsn38JvBGdxhRhm3 sGYDKFivFM55CWDXlKa50+w83FtQgqve+8y+qbDqD5GdbLlhk4xbeyM/wjVE/FtJs172 7AR/IIoBmbGYXv9KDHO84ut/+4REylPfYU1PRPteT3V/f9FZ4dE/G2YYWI++GmYaT/H1 oFLfMdvnudNkjdw80IGVLehzWqFEI5eJuknuAifbiJcpFMVjYAQqkBbeh1imA0+YqTuN lEEw== X-Received: by 10.66.234.232 with SMTP id uh8mr6853304pac.155.1372349600994; Thu, 27 Jun 2013 09:13:20 -0700 (PDT) Received: from black.cg.shawcable.net (S0106002369de4dac.cg.shawcable.net. [70.73.24.112]) by mx.google.com with ESMTPSA id v7sm3756194pbq.32.2013.06.27.09.13.19 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 27 Jun 2013 09:13:20 -0700 (PDT) From: mathieu.poirier@linaro.org To: grant.likely@linaro.org Cc: devicetree-discuss@lists.ozlabs.org, dmitry.torokhov@gmail.com, john.stultz@linaro.org, kernel-team@android.com, linux-input@vger.kernel.org Subject: [PATCH 1/2] Input: Add device tree bindings for input keys Date: Thu, 27 Jun 2013 10:13:24 -0600 Message-Id: <1372349605-4500-1-git-send-email-mathieu.poirier@linaro.org> X-Mailer: git-send-email 1.7.9.5 X-Gm-Message-State: ALoCoQmCXaLwux4F1URZpImmifB1lFTD5rOzqRErDfWXnVnEvMZyz9OuLUARxeysSLdap0deZt02 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Spam-Status: No, score=-8.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: "Mathieu J. Poirier" This adds a simple device tree binding for the specification of key sequences. Definition of the keys found in the sequence are located in 'include/uapi/linux/input.h'. A keyset can be applied to a single device or the system as a whole, depending on the associated driver. An extention is also provided for the definition of multiple keysets. Signed-off-by: Mathieu Poirier --- .../devicetree/bindings/input/input-keyset.txt | 78 ++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/input-keyset.txt diff --git a/Documentation/devicetree/bindings/input/input-keyset.txt b/Documentation/devicetree/bindings/input/input-keyset.txt new file mode 100644 index 0000000..4f96299 --- /dev/null +++ b/Documentation/devicetree/bindings/input/input-keyset.txt @@ -0,0 +1,78 @@ +Input: keyset + +A simple binding to represent a set of keys as described in +include/uapi/linux/input.h. This is targeted at devices that want +to react to certain key combination being pressed or need to +perform some configuration based on a set of input keys. + +It can also be used in a scenario where the system has a whole +needs to respond to a specific sequence of keys. + +Required properties: + - linux,input-keyset: An array of 1-cell entries representing the + values associated with the KEY_xyz #defines found in input.h. + +Example1: +Applicable to a specific device: + + matrix-keypad { + compatible = "gpio-matrix-keypad"; + debounce-delay-ms = <5>; + col-scan-delay-us = <2>; + + row-gpios = <&gpio2 25 0 + &gpio2 26 0 + &gpio2 27 0>; + + col-gpios = <&gpio2 21 0 + &gpio2 22 0 + &gpio2 23 0>; + + linux,keymap = <0x00000002 + 0x01000005 + 0x02000008 + 0x00010003 + 0x01010006 + 0x02010009 + 0x00020004 + 0x01020007 + 0x0202000a>; + + linux,keyset = <0x04 + 0x05 + 0x0a>; + }; + +Example2: +Used as a system-wide parameter: + + sysrq { + linux,input-keyset = <0x01 + 0x0A + 0x19>; + timout-ms = <3000>; + }; + +Would represent KEY_1, KEY_9 and KEY_P. + +Example3: +Binding used when multiple declarations are needed: + +acme_keysets { + keyset0 { + linux,input-keyset = <0x01 + 0x02 + 0x03>; + }; + keyset1 { + linux,input-keyset = <0x04 + 0x05 + 0x06>; + }; + keyset2 { + linux,input-keyset = <0x07 + 0x08 + 0x09>; + }; + +};