aboutsummaryrefslogtreecommitdiff
path: root/src/ec/google/chromeec/ec.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ec/google/chromeec/ec.h')
-rw-r--r--src/ec/google/chromeec/ec.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/ec/google/chromeec/ec.h b/src/ec/google/chromeec/ec.h
index d90d24c767..5ce375e00b 100644
--- a/src/ec/google/chromeec/ec.h
+++ b/src/ec/google/chromeec/ec.h
@@ -299,4 +299,34 @@ int google_chromeec_get_protocol_info(
*/
int google_chromeec_get_cmd_versions(int command, uint32_t *pmask);
+/**
+ * Get number of PD-capable USB ports from EC.
+ *
+ * @param *num_ports If successful, num_ports is the number
+ * of PD-capable USB ports according to the EC.
+ * @return 0 on success, -1 on error
+ */
+int google_chromeec_get_num_pd_ports(int *num_ports);
+
+/* Structure representing the capabilities of a USB-PD port */
+struct usb_pd_port_caps {
+ enum ec_pd_power_role_caps power_role_cap;
+ enum ec_pd_try_power_role_caps try_power_role_cap;
+ enum ec_pd_data_role_caps data_role_cap;
+ enum ec_pd_port_location port_location;
+};
+
+/**
+ * Get role-based capabilities for a USB-PD port
+ *
+ * @param port Which port to get information about
+ * @param *power_role_cap The power-role capabillity of the port
+ * @param *try_power_role_cap The Try-power-role capability of the port
+ * @param *data_role_cap The data role capability of the port
+ * @param *port_location Location of the port on the device
+ * @return 0 on success, -1 on error
+ */
+int google_chromeec_get_pd_port_caps(int port,
+ struct usb_pd_port_caps *port_caps);
+
#endif /* _EC_GOOGLE_CHROMEEC_EC_H */