Received: by 2002:a05:6a10:2785:0:0:0:0 with SMTP id ia5csp695170pxb; Fri, 8 Jan 2021 16:09:46 -0800 (PST) X-Google-Smtp-Source: ABdhPJwdXrYu/YQpcz8ttxnWI6pbEocbAKjYEJGR6WlwMe5ebDIUaZbOlK9QlW4mOKUbUHW7pE3d X-Received: by 2002:a50:8387:: with SMTP id 7mr6579693edi.131.1610150986592; Fri, 08 Jan 2021 16:09:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1610150986; cv=none; d=google.com; s=arc-20160816; b=qjBWudbr408+E+KmBGYxJUe8MpZprFL2FRoovjYqUqHytiArGF5wweGKX2DbwcZwnz rtoXzL7oEX2M/LWO4UdRi5uM/E0T0GcJt/xJe82LnkKY36LTDtgY94su0ZPc4MpdllO3 6GNnb4kf65KiTqdkBlAFGntAs6f5G7n7T+ce55UbLwL+eXx4llr0Xyl8IXRzutcGZcCw ea5LXLmsrNZG/UW6d7O/1vjLWuq11rC4EokhaccBerht8tQKLzctFxplhWvjPMbBxbPB cz6kEMmAezwMS+lg6+sKNjZP005pEVp6aK9ShFuOkNJPqSE/Of5ja/rh/ntRf4adf1Jk TGow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=bAcK/bKOWhIjQUdGEVsmUrasCIwhbC+GIeydwFvvWj0=; b=KQY/TSyfNiI4fB8T8BRMo1wOhyiVwpmA2xTtuxV7HA8d1KE6Kw1jaHaTk1gWOqJmYP 8oR5RrMkkjIUsfhycuhR1UtNZLNR+/kQHl2IBx4bfVauUUTK0CBmAnW9nQhX3L1SFcel cpwjd63dJzlwwwC1G7pisZUKH6Nicoy1H6q046q2brQQ9GQsGn8QIDk/An28SxuvxCl8 gLh9SGsRW2DhB3Mu6ALQt0Ib+JF9Pey8M8KDV+Pp2zskvHgjBvLIqVOUE5JgbQEznpoM WwcGjB/c1bh88Zv2yP3svuzVru3KtKHAwKJchqIL0lx6NqP5N/GpKyCweuJRaicwvO9b wqYg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=W84QjDCI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 33si4118591edq.375.2021.01.08.16.09.23; Fri, 08 Jan 2021 16:09:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=W84QjDCI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725835AbhAIAG2 (ORCPT + 99 others); Fri, 8 Jan 2021 19:06:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59686 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725775AbhAIAG0 (ORCPT ); Fri, 8 Jan 2021 19:06:26 -0500 Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com [IPv6:2607:f8b0:4864:20::536]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8746DC061574 for ; Fri, 8 Jan 2021 16:05:46 -0800 (PST) Received: by mail-pg1-x536.google.com with SMTP id v19so8625726pgj.12 for ; Fri, 08 Jan 2021 16:05:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=bAcK/bKOWhIjQUdGEVsmUrasCIwhbC+GIeydwFvvWj0=; b=W84QjDCI8Co4fEU1uuC9mw6Y9x1XzfC4RC9h25vh/FSGirqb0wWqE9tULjf3SBBHiS 40ov8voOp8curizKbKb6Sp2B9SBI+58NVJtfnRuEjQAD18CtlORjCV4JljGXY01W6Bnb QlMWjkmo+T+9QTZG5z7Y+S+nBviL7b/pAkkr8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=bAcK/bKOWhIjQUdGEVsmUrasCIwhbC+GIeydwFvvWj0=; b=pwfPKVtpfZdIl2jW4ON56DnHsBcjFrGdd2UuS3Ih9HAUsahzNslxwjctvE5iFJs5/U KKCifiRdGQ/fyxjHwJGlsNoeU9dR+TC+zBnfP8ewP02F4gMJmKrRzYuMyjhFuq7qF/TN YeYk5rl+I7YHHpzhADJW8/IEubGqfDYIOKnH8dw8YcwTK3FORv/x9Cz1UR1f/rn14OBv KSHmldnrIRneXSHvtsiM6l2U5O8ff8ZHFBYwzmVhT9JQjQmpvP+QM9G3w0MvCPL5LAvy 93CtPJLSgfdiBOLEyauKcIl96nSKgAeDbi9BSIoh8j3vfM1CDbTwRor1NE7VAB8bj66U KbYw== X-Gm-Message-State: AOAM531Gb1LaB/rjczmsTBTHPGPQ/Vxk+MpzitV3I3SS43Z6eNBqC8Av tJIznNbb67q321hJtoBOl68zOts8ULrzwg== X-Received: by 2002:a62:3503:0:b029:1aa:6f15:b9fe with SMTP id c3-20020a6235030000b02901aa6f15b9femr6005097pfa.65.1610150745837; Fri, 08 Jan 2021 16:05:45 -0800 (PST) Received: from philipchen.mtv.corp.google.com ([2620:15c:202:201:a6ae:11ff:fe11:fd59]) by smtp.gmail.com with ESMTPSA id u68sm9221466pfb.70.2021.01.08.16.05.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Jan 2021 16:05:45 -0800 (PST) From: Philip Chen To: LKML , dmitry.torokhov@gmail.com Cc: dianders@chromium.org, swboyd@chromium.org, Philip Chen , Benson Leung , Enric Balletbo i Serra , Guenter Roeck , Rob Herring , devicetree@vger.kernel.org Subject: [PATCH v2 1/2] dt-bindings: input: Create macros for cros-ec keymap Date: Fri, 8 Jan 2021 16:05:40 -0800 Message-Id: <20210108160515.v2.1.Iaa8a60cf2ed4b7ad5e2fbb4ad76a1c600ee36113@changeid> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In Chrome OS, the keyboard matrix can be split to two groups: The keymap for the top row keys can be customized based on OEM preference, while the keymap for the other keys is generic/fixed across boards. This patch creates marcos for the keymaps of these two groups, making it easier to reuse the generic portion of keymap when we override the keymap in the board-specific dts for custom top row design. Signed-off-by: Philip Chen --- Changes in v2: - Rename CROS_STD_NON_TOP_ROW_KEYMAP to CROS_STD_MAIN_KEYMAP include/dt-bindings/input/cros-ec-keyboard.h | 103 +++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 include/dt-bindings/input/cros-ec-keyboard.h diff --git a/include/dt-bindings/input/cros-ec-keyboard.h b/include/dt-bindings/input/cros-ec-keyboard.h new file mode 100644 index 0000000000000..a37a8c5701219 --- /dev/null +++ b/include/dt-bindings/input/cros-ec-keyboard.h @@ -0,0 +1,103 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * This header provides the constants of the standard Chrome OS key matrix + * for cros-ec keyboard-controller bindings. + * + * Copyright (c) 2021 Google, Inc + */ + +#ifndef _CROS_EC_KEYBOARD_H +#define _CROS_EC_KEYBOARD_H + +#define CROS_STD_TOP_ROW_KEYMAP \ + MATRIX_KEY(0x00, 0x02, KEY_F1) \ + MATRIX_KEY(0x03, 0x02, KEY_F2) \ + MATRIX_KEY(0x02, 0x02, KEY_F3) \ + MATRIX_KEY(0x01, 0x02, KEY_F4) \ + MATRIX_KEY(0x03, 0x04, KEY_F5) \ + MATRIX_KEY(0x02, 0x04, KEY_F6) \ + MATRIX_KEY(0x01, 0x04, KEY_F7) \ + MATRIX_KEY(0x02, 0x09, KEY_F8) \ + MATRIX_KEY(0x01, 0x09, KEY_F9) \ + MATRIX_KEY(0x00, 0x04, KEY_F10) \ + MATRIX_KEY(0x03, 0x09, KEY_F13) + +#define CROS_STD_MAIN_KEYMAP \ + MATRIX_KEY(0x00, 0x01, KEY_LEFTMETA) \ + MATRIX_KEY(0x00, 0x03, KEY_B) \ + MATRIX_KEY(0x00, 0x05, KEY_RO) \ + MATRIX_KEY(0x00, 0x06, KEY_N) \ + MATRIX_KEY(0x00, 0x08, KEY_EQUAL) \ + MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) \ + MATRIX_KEY(0x01, 0x01, KEY_ESC) \ + MATRIX_KEY(0x01, 0x03, KEY_G) \ + MATRIX_KEY(0x01, 0x06, KEY_H) \ + MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) \ + MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) \ + MATRIX_KEY(0x01, 0x0c, KEY_HENKAN) \ + \ + MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL) \ + MATRIX_KEY(0x02, 0x01, KEY_TAB) \ + MATRIX_KEY(0x02, 0x03, KEY_T) \ + MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE) \ + MATRIX_KEY(0x02, 0x06, KEY_Y) \ + MATRIX_KEY(0x02, 0x07, KEY_102ND) \ + MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) \ + MATRIX_KEY(0x02, 0x0a, KEY_YEN) \ + \ + MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA) \ + MATRIX_KEY(0x03, 0x01, KEY_GRAVE) \ + MATRIX_KEY(0x03, 0x03, KEY_5) \ + MATRIX_KEY(0x03, 0x06, KEY_6) \ + MATRIX_KEY(0x03, 0x08, KEY_MINUS) \ + MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) \ + MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN) \ + \ + MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL) \ + MATRIX_KEY(0x04, 0x01, KEY_A) \ + MATRIX_KEY(0x04, 0x02, KEY_D) \ + MATRIX_KEY(0x04, 0x03, KEY_F) \ + MATRIX_KEY(0x04, 0x04, KEY_S) \ + MATRIX_KEY(0x04, 0x05, KEY_K) \ + MATRIX_KEY(0x04, 0x06, KEY_J) \ + MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON) \ + MATRIX_KEY(0x04, 0x09, KEY_L) \ + MATRIX_KEY(0x04, 0x0a, KEY_BACKSLASH) \ + MATRIX_KEY(0x04, 0x0b, KEY_ENTER) \ + \ + MATRIX_KEY(0x05, 0x01, KEY_Z) \ + MATRIX_KEY(0x05, 0x02, KEY_C) \ + MATRIX_KEY(0x05, 0x03, KEY_V) \ + MATRIX_KEY(0x05, 0x04, KEY_X) \ + MATRIX_KEY(0x05, 0x05, KEY_COMMA) \ + MATRIX_KEY(0x05, 0x06, KEY_M) \ + MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT) \ + MATRIX_KEY(0x05, 0x08, KEY_SLASH) \ + MATRIX_KEY(0x05, 0x09, KEY_DOT) \ + MATRIX_KEY(0x05, 0x0b, KEY_SPACE) \ + \ + MATRIX_KEY(0x06, 0x01, KEY_1) \ + MATRIX_KEY(0x06, 0x02, KEY_3) \ + MATRIX_KEY(0x06, 0x03, KEY_4) \ + MATRIX_KEY(0x06, 0x04, KEY_2) \ + MATRIX_KEY(0x06, 0x05, KEY_8) \ + MATRIX_KEY(0x06, 0x06, KEY_7) \ + MATRIX_KEY(0x06, 0x08, KEY_0) \ + MATRIX_KEY(0x06, 0x09, KEY_9) \ + MATRIX_KEY(0x06, 0x0a, KEY_LEFTALT) \ + MATRIX_KEY(0x06, 0x0b, KEY_DOWN) \ + MATRIX_KEY(0x06, 0x0c, KEY_RIGHT) \ + \ + MATRIX_KEY(0x07, 0x01, KEY_Q) \ + MATRIX_KEY(0x07, 0x02, KEY_E) \ + MATRIX_KEY(0x07, 0x03, KEY_R) \ + MATRIX_KEY(0x07, 0x04, KEY_W) \ + MATRIX_KEY(0x07, 0x05, KEY_I) \ + MATRIX_KEY(0x07, 0x06, KEY_U) \ + MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT) \ + MATRIX_KEY(0x07, 0x08, KEY_P) \ + MATRIX_KEY(0x07, 0x09, KEY_O) \ + MATRIX_KEY(0x07, 0x0b, KEY_UP) \ + MATRIX_KEY(0x07, 0x0c, KEY_LEFT) + +#endif /* _CROS_EC_KEYBOARD_H */ -- 2.26.2