[coreboot-gerrit] Patch set updated for coreboot: 2ef01fb chromeec: Add battery status event and re-enable _BIX

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Thu Apr 2 13:42:43 CEST 2015


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9212

-gerrit

commit 2ef01fb8af9bea53f43eb3947f9aff0bddff16d0
Author: Duncan Laurie <dlaurie at chromium.org>
Date:   Mon Sep 29 08:32:19 2014 -0700

    chromeec: Add battery status event and re-enable _BIX
    
    Add a new host event to send a notify(0x80) to the battery
    when the EC indicates that battery status has changed.
    
    The kernel has fixed the bug with _BIX method so it can
    be enabled now.
    
    BUG=chrome-os-partner:32196
    BRANCH=samus
    TEST=build and boot on samus
    
    Change-Id: I1b8068df7abf1c8ebdc3a89602896b863accb7f3
    Signed-off-by: Stefan Reinauer <reinauer at chromium.org>
    Original-Commit-Id: a779fc7f32729adb60d8bc220325444ebc20e0d2
    Original-Change-Id: I0ebb17e5441e875875d98168ce3c31486d57330e
    Original-Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/220320
    Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
---
 src/ec/google/chromeec/acpi/battery.asl |  4 +---
 src/ec/google/chromeec/acpi/ec.asl      |  7 +++++++
 src/ec/google/chromeec/ec_commands.h    | 15 ++++++++++++++-
 3 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/ec/google/chromeec/acpi/battery.asl b/src/ec/google/chromeec/acpi/battery.asl
index 2ef1199..5591b33 100644
--- a/src/ec/google/chromeec/acpi/battery.asl
+++ b/src/ec/google/chromeec/acpi/battery.asl
@@ -126,9 +126,7 @@ Device (BAT0)
 		Return (PBIF)
 	}
 
-	// Extended Battery info method is disabled for now due to
-	// a bug in the Linux kernel: http://crosbug.com/28747
-	Method (XBIX, 0, Serialized)
+	Method (_BIX, 0, Serialized)
 	{
 		// Last Full Charge Capacity
 		Store (BTDF, Index (PBIX, 3))
diff --git a/src/ec/google/chromeec/acpi/ec.asl b/src/ec/google/chromeec/acpi/ec.asl
index 734d223..7cd8f75 100644
--- a/src/ec/google/chromeec/acpi/ec.asl
+++ b/src/ec/google/chromeec/acpi/ec.asl
@@ -312,6 +312,13 @@ Device (EC0)
 	}
 #endif
 
+	// Battery Status
+	Method (_Q17, 0, NotSerialized)
+	{
+		Store ("EC: BATTERY STATUS", Debug)
+		Notify (BAT0, 0x80)
+	}
+
 	/*
 	 * Dynamic Platform Thermal Framework support
 	 */
diff --git a/src/ec/google/chromeec/ec_commands.h b/src/ec/google/chromeec/ec_commands.h
index 0687641..bd94281 100644
--- a/src/ec/google/chromeec/ec_commands.h
+++ b/src/ec/google/chromeec/ec_commands.h
@@ -275,6 +275,9 @@ enum host_event_code {
 	/* PD MCU triggering host event */
 	EC_HOST_EVENT_PD_MCU = 22,
 
+	/* Battery Status flags have changed */
+	EC_HOST_EVENT_BATTERY_STATUS = 23,
+
 	/*
 	 * The high bit of the event mask is not used as a host event code.  If
 	 * it reads back as set, then the entire event mask should be
@@ -1032,6 +1035,13 @@ struct lightbar_params_v1 {
 	struct rgb_s color[8];			/* 0-3 are Google colors */
 } __packed;
 
+/* Lightbyte program. */
+#define LB_PROG_LEN 192
+struct lb_program {
+	uint8_t size;
+	uint8_t data[LB_PROG_LEN];
+};
+
 struct ec_params_lightbar {
 	uint8_t cmd;		      /* Command (see enum lightbar_command) */
 	union {
@@ -1058,6 +1068,7 @@ struct ec_params_lightbar {
 
 		struct lightbar_params_v0 set_params_v0;
 		struct lightbar_params_v1 set_params_v1;
+		struct lb_program set_program;
 	};
 } __packed;
 
@@ -1090,7 +1101,8 @@ struct ec_response_lightbar {
 		struct {
 			/* no return params */
 		} off, on, init, set_brightness, seq, reg, set_rgb,
-			demo, set_params_v0, set_params_v1;
+			demo, set_params_v0, set_params_v1,
+			set_program;
 	};
 } __packed;
 
@@ -1114,6 +1126,7 @@ enum lightbar_command {
 	LIGHTBAR_CMD_GET_DEMO = 15,
 	LIGHTBAR_CMD_GET_PARAMS_V1 = 16,
 	LIGHTBAR_CMD_SET_PARAMS_V1 = 17,
+	LIGHTBAR_CMD_SET_PROGRAM = 18,
 	LIGHTBAR_NUM_CMDS
 };
 



More information about the coreboot-gerrit mailing list