Commit 401d07d5 authored by Pavan Holla's avatar Pavan Holla Committed by Greg Kroah-Hartman
Browse files

platform/chrome: Update ChromeOS EC header for UCSI



Add EC host commands for reading and writing UCSI structures
in the EC. The corresponding kernel driver is cros-ec-ucsi.

Also update PD events supported by the EC.

Acked-by: default avatarTzung-Bi Shih <tzungbi@kernel.org>
Signed-off-by: default avatarPavan Holla <pholla@chromium.org>
Signed-off-by: default avatarŁukasz Bartosik <ukaszb@chromium.org>
Link: https://lore.kernel.org/r/20241231131047.1757434-2-ukaszb@chromium.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 533561a8
Loading
Loading
Loading
Loading
+27 −1
Original line number Diff line number Diff line
@@ -5044,6 +5044,9 @@ struct ec_response_pd_status {
#define PD_EVENT_POWER_CHANGE      BIT(1)
#define PD_EVENT_IDENTITY_RECEIVED BIT(2)
#define PD_EVENT_DATA_SWAP         BIT(3)
#define PD_EVENT_TYPEC             BIT(4)
#define PD_EVENT_PPM               BIT(5)

struct ec_response_host_event_status {
	uint32_t status; /* PD MCU host event status */
} __ec_align4;
@@ -6105,6 +6108,29 @@ struct ec_response_typec_vdm_response {

#undef VDO_MAX_SIZE

/*
 * UCSI OPM-PPM commands
 *
 * These commands are used for communication between OPM and PPM.
 * Only UCSI3.0 is tested.
 */

#define EC_CMD_UCSI_PPM_SET 0x0140

/* The data size is stored in the host command protocol header. */
struct ec_params_ucsi_ppm_set {
	uint16_t offset;
	uint8_t data[];
} __ec_align2;

#define EC_CMD_UCSI_PPM_GET 0x0141

/* For 'GET' sub-commands, data will be returned as a raw payload. */
struct ec_params_ucsi_ppm_get {
	uint16_t offset;
	uint8_t size;
} __ec_align2;

/*****************************************************************************/
/* The command range 0x200-0x2FF is reserved for Rotor. */