aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/linux/platform_data/cros_ec_commands.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/include/linux/platform_data/cros_ec_commands.h b/include/linux/platform_data/cros_ec_commands.h
index b9c4a3964247..b3b3df163efc 100644
--- a/include/linux/platform_data/cros_ec_commands.h
+++ b/include/linux/platform_data/cros_ec_commands.h
@@ -5862,6 +5862,7 @@ enum tcpc_cc_polarity {
#define PD_STATUS_EVENT_MUX_1_SET_DONE BIT(5)
#define PD_STATUS_EVENT_VDM_REQ_REPLY BIT(6)
#define PD_STATUS_EVENT_VDM_REQ_FAILED BIT(7)
+#define PD_STATUS_EVENT_VDM_ATTENTION BIT(8)
struct ec_params_typec_status {
uint8_t port;
@@ -5906,7 +5907,8 @@ struct ec_response_typec_status {
} __ec_align1;
/*
- * Gather the response to the most recent VDM REQ from the AP
+ * Gather the response to the most recent VDM REQ from the AP, as well
+ * as popping the oldest VDM:Attention from the DPM queue
*/
#define EC_CMD_TYPEC_VDM_RESPONSE 0x013C
@@ -5919,10 +5921,18 @@ struct ec_response_typec_vdm_response {
uint8_t vdm_data_objects;
/* Partner to address - see enum typec_partner_type */
uint8_t partner_type;
- /* Reserved */
- uint16_t reserved;
+ /* enum ec_status describing VDM response */
+ uint16_t vdm_response_err;
/* VDM data, including VDM header */
uint32_t vdm_response[VDO_MAX_SIZE];
+ /* Number of 32-bit Attention fields filled in */
+ uint8_t vdm_attention_objects;
+ /* Number of remaining messages to consume */
+ uint8_t vdm_attention_left;
+ /* Reserved */
+ uint16_t reserved1;
+ /* VDM:Attention contents */
+ uint32_t vdm_attention[2];
} __ec_align1;
#undef VDO_MAX_SIZE