[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CACeCKacBXA-xgzibpoa6Dz-WQwZTPc-MuRd+nTDejjyeSEEcKg@mail.gmail.com>
Date: Tue, 2 Feb 2021 18:12:43 -0800
From: Prashant Malani <pmalani@...omium.org>
To: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Cc: Benson Leung <bleung@...omium.org>,
Enric Balletbo i Serra <enric.balletbo@...labora.com>,
Guenter Roeck <groeck@...omium.org>,
"Gustavo A. R. Silva" <gustavoars@...nel.org>,
Mark Brown <broonie@...nel.org>,
Pi-Hsun Shih <pihsun@...omium.org>,
Utkarsh Patel <utkarsh.h.patel@...el.com>
Subject: Re: [PATCH 1/2] platform/chrome: cros_ec: Import Type C control command
On Tue, Feb 2, 2021 at 5:49 PM Prashant Malani <pmalani@...omium.org> wrote:
>
> This command is used to communicate with the Chrome Embedded Controller
> (EC) regarding USB Type C events and state.
>
> These header updates are included in the latest Chrome OS EC headers [1]
>
> [1]
> https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/main/include/ec_commands.h
>
> Signed-off-by: Prashant Malani <pmalani@...omium.org>
> ---
> .../linux/platform_data/cros_ec_commands.h | 26 +++++++++++++++++++
> 1 file changed, 26 insertions(+)
>
> diff --git a/include/linux/platform_data/cros_ec_commands.h b/include/linux/platform_data/cros_ec_commands.h
> index d3c40220b281..a95dc22a5463 100644
> --- a/include/linux/platform_data/cros_ec_commands.h
> +++ b/include/linux/platform_data/cros_ec_commands.h
> @@ -5578,6 +5578,32 @@ struct ec_response_typec_discovery {
> struct svid_mode_info svids[0];
> } __ec_align1;
>
> +
> +/* USB Type-C commands for AP-controlled device policy. */
> +#define EC_CMD_TYPEC_CONTROL 0x0132
> +
> +enum typec_control_command {
> + TYPEC_CONTROL_COMMAND_EXIT_MODES,
> + TYPEC_CONTROL_COMMAND_CLEAR_EVENTS,
> + TYPEC_CONTROL_COMMAND_ENTER_MODE,
> +};
> +
> +struct ec_params_typec_control {
> + uint8_t port;
> + uint8_t command; /* enum typec_control_command */
> + uint16_t reserved;
> +
> + /*
> + * This section will be interpreted based on |command|. Define a
> + * placeholder structure to avoid having to increase the size and bump
> + * the command version when adding new sub-commands.
> + */
> + union {
> + uint32_t clear_events_mask;
> + uint8_t mode_to_enter; /* enum typec_mode */
> + uint8_t placeholder[128];
> + };
> +} __ec_align1;
Looks like I got the newlines incorrect while porting the structs. I
will send another version.
Powered by blists - more mailing lists