[coreboot-gerrit] Change in coreboot[master]: ec/google/wilco: Report BIOS progress to the EC

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


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


Change subject: ec/google/wilco: Report BIOS progress to the EC
......................................................................

ec/google/wilco: Report BIOS progress to the EC

The EC expects to receive updates about the BIOS boot progress.  This is
used for the EC logging to track system boot completeness.  If the EC is
not informed about BIOS progress it will turn the system off 30 seconds
after the boot starts.

Change-Id: I693c3930117db2b69a119aee0380d6f303c4881c
Signed-off-by: Duncan Laurie <dlaurie at google.com>
---
M src/ec/google/wilco/chip.c
M src/ec/google/wilco/commands.h
2 files changed, 31 insertions(+), 0 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/18/29118/1

diff --git a/src/ec/google/wilco/chip.c b/src/ec/google/wilco/chip.c
index 4e6f4af..fe4ef6a 100644
--- a/src/ec/google/wilco/chip.c
+++ b/src/ec/google/wilco/chip.c
@@ -13,6 +13,7 @@
  * GNU General Public License for more details.
  */
 
+#include <bootstate.h>
 #include <device/pnp.h>
 #include <pc80/keyboard.h>
 #include <stdint.h>
@@ -22,6 +23,27 @@
 #include "ec.h"
 #include "chip.h"
 
+static void wilco_ec_post_complete(void *unused)
+{
+	wilco_ec_send(KB_BIOS_PROGRESS, BIOS_PROGRESS_POST_COMPLETE);
+}
+BOOT_STATE_INIT_ENTRY(BS_PAYLOAD_LOAD, BS_ON_EXIT,
+		      wilco_ec_post_complete, NULL);
+
+static void wilco_ec_post_memory_init(void *unused)
+{
+	wilco_ec_send(KB_BIOS_PROGRESS, BIOS_PROGRESS_MEMORY_INIT);
+}
+BOOT_STATE_INIT_ENTRY(BS_PRE_DEVICE, BS_ON_EXIT,
+		      wilco_ec_post_memory_init, NULL);
+
+static void wilco_ec_post_video_init(void *unused)
+{
+	wilco_ec_send(KB_BIOS_PROGRESS, BIOS_PROGRESS_VIDEO_INIT);
+}
+BOOT_STATE_INIT_ENTRY(BS_DEV_INIT, BS_ON_EXIT,
+		      wilco_ec_post_video_init, NULL);
+
 static void wilco_ec_init(struct device *dev)
 {
 	if (!dev->enabled)
diff --git a/src/ec/google/wilco/commands.h b/src/ec/google/wilco/commands.h
index c277d83..a74e1b2 100644
--- a/src/ec/google/wilco/commands.h
+++ b/src/ec/google/wilco/commands.h
@@ -33,6 +33,8 @@
 	KB_POWER_BUTTON_TO_HOST = 0x3e,
 	/* Inform the EC that the host is about to enter S3 */
 	KB_SLP_EN = 0x64,
+	/* Inform the EC about BIOS boot progress */
+	KB_BIOS_PROGRESS = 0xc2,
 };
 
 enum set_acpi_mode_cmd {
@@ -40,6 +42,13 @@
 	ACPI_ON
 };
 
+enum bios_progress_code {
+	BIOS_PROGRESS_MEMORY_INIT = 0x01,
+	BIOS_PROGRESS_VIDEO_INIT = 0x02,
+	BIOS_PROGRESS_LOGO_DISPLAYED = 0x03,
+	BIOS_PROGRESS_POST_COMPLETE = 0x04,
+};
+
 /*
  * EC Information
  */

-- 
To view, visit https://review.coreboot.org/29118
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: I693c3930117db2b69a119aee0380d6f303c4881c
Gerrit-Change-Number: 29118
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/c877e3f7/attachment-0001.html>


More information about the coreboot-gerrit mailing list