aboutsummaryrefslogtreecommitdiff
path: root/src/ec/google/chromeec/ec.h
diff options
context:
space:
mode:
authorHung-Te Lin <hungte@chromium.org>2013-04-11 15:58:12 +0800
committerDavid Hendricks <dhendrix@chromium.org>2013-04-12 04:57:39 +0200
commita904f9ef691062a43baa5542cf63daed45a1185a (patch)
tree421b2691a1c4d97ddfbeb90665effd5f0fdbca27 /src/ec/google/chromeec/ec.h
parentd9de6c4f0eb1c863f8fd81ede326973ad1aab0f2 (diff)
ec/google: Isolate EC bus protocol implementation.
The Chrome EC can be connected by different types of bus like LPC / I2C / SPI, and the current implementation is only for LPC. To support other types, we must first isolate the LPC protocol stuff and add configuration variable (EC_GOOGLE_CHROMEEC_LPC) to specify bus type. Verified by building google/link (with chromeec) configuration successfully. Change-Id: Ib2920d8d935bcc77a5394e818f69e9265e26e8a0 Signed-off-by: Hung-Te Lin <hungte@chromium.org> Reviewed-on: http://review.coreboot.org/3068 Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins) Reviewed-by: David Hendricks <dhendrix@chromium.org>
Diffstat (limited to 'src/ec/google/chromeec/ec.h')
-rw-r--r--src/ec/google/chromeec/ec.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/ec/google/chromeec/ec.h b/src/ec/google/chromeec/ec.h
index f056d266e6..c78560f973 100644
--- a/src/ec/google/chromeec/ec.h
+++ b/src/ec/google/chromeec/ec.h
@@ -46,4 +46,17 @@ enum usb_charge_mode {
};
int google_chromeec_set_usb_charge_mode(u8 port_id, enum usb_charge_mode mode);
+/* internal structure to send a command to the EC and wait for response. */
+struct chromeec_command {
+ uint8_t cmd_code; /* command code in, status out */
+ uint8_t cmd_version; /* command version */
+ const void* cmd_data_in; /* command data, if any */
+ void* cmd_data_out; /* command response, if any */
+ uint16_t cmd_size_in; /* size of command data */
+ uint16_t cmd_size_out; /* expected size of command response in,
+ * actual received size out */
+};
+
+int google_chromeec_command(struct chromeec_command *cec_command);
+
#endif /* _EC_GOOGLE_CHROMEEC_EC_H */