[coreboot-gerrit] Change in coreboot[master]: ec/google/wilco: Add mailbox helper functions

Duncan Laurie (Code Review) gerrit at coreboot.org
Tue Oct 16 00:54:32 CEST 2018


Duncan Laurie has uploaded this change for review. ( https://review.coreboot.org/29114


Change subject: ec/google/wilco: Add mailbox helper functions
......................................................................

ec/google/wilco: Add mailbox helper functions

Add helper functions that make it more convenient to send and receive
the most common types of commands to the Wilco embedded controller.

Change-Id: I9cee1a3b2f9d507f6ecdfae9f4a34ba59056cb91
Signed-off-by: Duncan Laurie <dlaurie at google.com>
---
M src/ec/google/wilco/ec.h
1 file changed, 71 insertions(+), 0 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/14/29114/1

diff --git a/src/ec/google/wilco/ec.h b/src/ec/google/wilco/ec.h
index 7b58473..fad7370 100644
--- a/src/ec/google/wilco/ec.h
+++ b/src/ec/google/wilco/ec.h
@@ -47,4 +47,75 @@
 		     const void *request_data, size_t request_size,
 		     void *response_data, size_t response_size);
 
+/**
+ * wilco_ec_send
+ *
+ * Send a basic EC command with a one byte parameter with no
+ * returned data;
+ *
+ * @command: Command to execute
+ * @param:   Command parameter to send
+ *
+ * @return negative error code on failure
+ */
+static inline int wilco_ec_send(uint8_t command, uint8_t param)
+{
+	return wilco_ec_mailbox(WILCO_EC_MSG_DEFAULT, command,
+				&param, sizeof(param), NULL, 0);
+}
+
+/**
+ * wilco_ec_send_noargs
+ *
+ * Send a basic EC command with no parameters and no returned data.
+ *
+ * @command: Command to execute
+ *
+ * @return negative error code on failure
+ */
+static inline int wilco_ec_send_noargs(uint8_t command)
+{
+	return wilco_ec_mailbox(WILCO_EC_MSG_DEFAULT, command,
+				NULL, 0, NULL, 0);
+}
+
+/**
+ * wilco_ec_sendrecv
+ *
+ * Send a basic EC command with a one byte parameter, ignoring the
+ * first byte of returned data to match the common behavior.
+ *
+ * @command: Command to execute
+ * @param:   Command parameter to send
+ * @data:    Response data buffer
+ * @size:    Number of bytes in response data buffer
+ *
+ * @return number of bytes received, negative error code on failure
+ */
+static inline int wilco_ec_sendrecv(uint8_t command, uint8_t param,
+				    void *data, size_t size)
+{
+	return wilco_ec_mailbox(WILCO_EC_MSG_DEFAULT, command,
+				&param, sizeof(param), data, size);
+}
+
+/**
+ * wilco_ec_sendrecv_noargs
+ *
+ * Send a basic EC command with no parameters, ignoring the
+ * first byte of returned data to match the common behavior.
+ *
+ * @command: Command to execute
+ * @data:    Response data buffer
+ * @size:    Number of bytes in response data buffer
+ *
+ * @return number of bytes received, negative error code on failure
+ */
+static inline int wilco_ec_sendrecv_noargs(uint8_t command,
+					   void *data, size_t size)
+{
+	return wilco_ec_mailbox(WILCO_EC_MSG_DEFAULT, command,
+				NULL, 0, data, size);
+}
+
 #endif /* EC_GOOGLE_WILCO_EC_H */

-- 
To view, visit https://review.coreboot.org/29114
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9cee1a3b2f9d507f6ecdfae9f4a34ba59056cb91
Gerrit-Change-Number: 29114
Gerrit-PatchSet: 1
Gerrit-Owner: Duncan Laurie <dlaurie at chromium.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20181015/ef66faef/attachment-0001.html>


More information about the coreboot-gerrit mailing list