Re: [PATCH 1/2] platform/chrome: cros_ec: Import Type C control command
From: Prashant Malani
Date: Tue Feb 02 2021 - 21:13:52 EST
On Tue, Feb 2, 2021 at 5:49 PM Prashant Malani <pmalani@xxxxxxxxxxxx> 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@xxxxxxxxxxxx>
> ---
> .../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.