From: Lee Jones <lee.jones@linaro.org>
To: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
linux-kernel@vger.kernel.org, linux-input@vger.kernel.org,
Douglas Anderson <dianders@chromium.org>
Subject: Re: [PATCH 1/2] mfd: cros-ec: Update cros_ec_commands.h for buttons and switches
Date: Mon, 23 Jan 2017 12:13:19 +0000 [thread overview]
Message-ID: <20170123121319.GK16020@dell> (raw)
In-Reply-To: <20170120101415.26028-1-enric.balletbo@collabora.com>
On Fri, 20 Jan 2017, Enric Balletbo i Serra wrote:
> From: Douglas Anderson <dianders@chromium.org>
>
> Add the defines for the new buttons and switches connected to the CrosEC.
>
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> ---
> include/linux/mfd/cros_ec_commands.h | 73 +++++++++++++++++++++++++++++++++++-
> 1 file changed, 71 insertions(+), 2 deletions(-)
Applied, thanks.
> diff --git a/include/linux/mfd/cros_ec_commands.h b/include/linux/mfd/cros_ec_commands.h
> index 23619b2..a01dde4 100644
> --- a/include/linux/mfd/cros_ec_commands.h
> +++ b/include/linux/mfd/cros_ec_commands.h
> @@ -1865,18 +1865,69 @@ struct ec_response_tmp006_get_raw {
> *
> * Returns raw data for keyboard cols; see ec_response_mkbp_info.cols for
> * expected response size.
> + *
> + * NOTE: This has been superseded by EC_CMD_MKBP_GET_NEXT_EVENT. If you wish
> + * to obtain the instantaneous state, use EC_CMD_MKBP_INFO with the type
> + * EC_MKBP_INFO_CURRENT and event EC_MKBP_EVENT_KEY_MATRIX.
> */
> #define EC_CMD_MKBP_STATE 0x60
>
> -/* Provide information about the matrix : number of rows and columns */
> +/*
> + * Provide information about various MKBP things. See enum ec_mkbp_info_type.
> + */
> #define EC_CMD_MKBP_INFO 0x61
>
> struct ec_response_mkbp_info {
> uint32_t rows;
> uint32_t cols;
> - uint8_t switches;
> + /* Formerly "switches", which was 0. */
> + uint8_t reserved;
> } __packed;
>
> +struct ec_params_mkbp_info {
> + uint8_t info_type;
> + uint8_t event_type;
> +} __packed;
> +
> +enum ec_mkbp_info_type {
> + /*
> + * Info about the keyboard matrix: number of rows and columns.
> + *
> + * Returns struct ec_response_mkbp_info.
> + */
> + EC_MKBP_INFO_KBD = 0,
> +
> + /*
> + * For buttons and switches, info about which specifically are
> + * supported. event_type must be set to one of the values in enum
> + * ec_mkbp_event.
> + *
> + * For EC_MKBP_EVENT_BUTTON and EC_MKBP_EVENT_SWITCH, returns a 4 byte
> + * bitmask indicating which buttons or switches are present. See the
> + * bit inidices below.
> + */
> + EC_MKBP_INFO_SUPPORTED = 1,
> +
> + /*
> + * Instantaneous state of buttons and switches.
> + *
> + * event_type must be set to one of the values in enum ec_mkbp_event.
> + *
> + * For EC_MKBP_EVENT_KEY_MATRIX, returns uint8_t key_matrix[13]
> + * indicating the current state of the keyboard matrix.
> + *
> + * For EC_MKBP_EVENT_HOST_EVENT, return uint32_t host_event, the raw
> + * event state.
> + *
> + * For EC_MKBP_EVENT_BUTTON, returns uint32_t buttons, indicating the
> + * state of supported buttons.
> + *
> + * For EC_MKBP_EVENT_SWITCH, returns uint32_t switches, indicating the
> + * state of supported switches.
> + */
> + EC_MKBP_INFO_CURRENT = 2,
> +};
> +
> /* Simulate key press */
> #define EC_CMD_MKBP_SIMULATE_KEY 0x62
>
> @@ -2009,6 +2060,12 @@ enum ec_mkbp_event {
> /* New Sensor FIFO data. The event data is fifo_info structure. */
> EC_MKBP_EVENT_SENSOR_FIFO = 2,
>
> + /* The state of the non-matrixed buttons have changed. */
> + EC_MKBP_EVENT_BUTTON = 3,
> +
> + /* The state of the switches have changed. */
> + EC_MKBP_EVENT_SWITCH = 4,
> +
> /* Number of MKBP events */
> EC_MKBP_EVENT_COUNT,
> };
> @@ -2018,6 +2075,9 @@ union ec_response_get_next_data {
>
> /* Unaligned */
> uint32_t host_event;
> +
> + uint32_t buttons;
> + uint32_t switches;
> } __packed;
>
> struct ec_response_get_next_event {
> @@ -2026,6 +2086,15 @@ struct ec_response_get_next_event {
> union ec_response_get_next_data data;
> } __packed;
>
> +/* Bit indices for buttons and switches.*/
> +/* Buttons */
> +#define EC_MKBP_POWER_BUTTON 0
> +#define EC_MKBP_VOL_UP 1
> +#define EC_MKBP_VOL_DOWN 2
> +
> +/* Switches */
> +#define EC_MKBP_LID_OPEN 0
> +
> /*****************************************************************************/
> /* Temperature sensor commands */
>
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2017-01-23 12:13 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-20 10:14 [PATCH 1/2] mfd: cros-ec: Update cros_ec_commands.h for buttons and switches Enric Balletbo i Serra
2017-01-20 10:14 ` [PATCH 2/2] input: cros_ec_keyb: Add non-matrix " Enric Balletbo i Serra
2017-02-01 17:51 ` Dmitry Torokhov
2017-01-23 12:13 ` Lee Jones [this message]
2017-02-01 17:52 ` [PATCH 1/2] mfd: cros-ec: Update cros_ec_commands.h for " Dmitry Torokhov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170123121319.GK16020@dell \
--to=lee.jones@linaro.org \
--cc=dianders@chromium.org \
--cc=dmitry.torokhov@gmail.com \
--cc=enric.balletbo@collabora.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.