Commit 28a6ed8e authored by Prashant Malani's avatar Prashant Malani Committed by Greg Kroah-Hartman
Browse files

platform/chrome: Add Type-C mux set command definitions

Copy EC header definitions for the USB Type-C Mux control command from
the EC code base. Also pull in "TBT_UFP_REPLY" definitions, since that
is the prior entry in the enum.

These headers are already present in the EC code base. [1]

[1] https://chromium.googlesource.com/chromiumos/platform/ec/+/b80f85a94a423273c1638ef7b662c56931a138dd/include/ec_commands.h



Signed-off-by: default avatarPrashant Malani <pmalani@chromium.org>
Link: https://lore.kernel.org/r/20220711072333.2064341-4-pmalani@chromium.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f31a8702
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -5722,8 +5722,21 @@ enum typec_control_command {
	TYPEC_CONTROL_COMMAND_EXIT_MODES,
	TYPEC_CONTROL_COMMAND_CLEAR_EVENTS,
	TYPEC_CONTROL_COMMAND_ENTER_MODE,
	TYPEC_CONTROL_COMMAND_TBT_UFP_REPLY,
	TYPEC_CONTROL_COMMAND_USB_MUX_SET,
};

/* Replies the AP may specify to the TBT EnterMode command as a UFP */
enum typec_tbt_ufp_reply {
	TYPEC_TBT_UFP_REPLY_NAK,
	TYPEC_TBT_UFP_REPLY_ACK,
};

struct typec_usb_mux_set {
	uint8_t mux_index;	/* Index of the mux to set in the chain */
	uint8_t mux_flags;	/* USB_PD_MUX_*-encoded USB mux state to set */
} __ec_align1;

struct ec_params_typec_control {
	uint8_t port;
	uint8_t command;	/* enum typec_control_command */
@@ -5737,6 +5750,8 @@ struct ec_params_typec_control {
	union {
		uint32_t clear_events_mask;
		uint8_t mode_to_enter;      /* enum typec_mode */
		uint8_t tbt_ufp_reply;      /* enum typec_tbt_ufp_reply */
		struct typec_usb_mux_set mux_params;
		uint8_t placeholder[128];
	};
} __ec_align1;
@@ -5815,6 +5830,9 @@ enum tcpc_cc_polarity {
#define PD_STATUS_EVENT_SOP_DISC_DONE		BIT(0)
#define PD_STATUS_EVENT_SOP_PRIME_DISC_DONE	BIT(1)
#define PD_STATUS_EVENT_HARD_RESET		BIT(2)
#define PD_STATUS_EVENT_DISCONNECTED		BIT(3)
#define PD_STATUS_EVENT_MUX_0_SET_DONE		BIT(4)
#define PD_STATUS_EVENT_MUX_1_SET_DONE		BIT(5)

struct ec_params_typec_status {
	uint8_t port;