summaryrefslogtreecommitdiff
path: root/include/ec_commands.h
diff options
context:
space:
mode:
authorAlec Berg <alecaberg@chromium.org>2014-05-28 18:10:25 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-06-09 22:20:48 +0000
commit72357cd1edf885e559dbb715b33cfb861a0a3265 (patch)
tree48e3181ecd32c2124d80b50b39a965c2f6ac1893 /include/ec_commands.h
parentf7ae0fb81b4b43c939ec1be674e940377b8c8d64 (diff)
downloadchrome-ec-stabilize-5942.B.tar.gz
samus: Allow samus to charge w/o battery or with dead batterystabilize-5942.B
Use a EC to PD host command to notify the PD MCU when a battery is present and charged enough that it is ok to negotiate for a higher power. The PD MCU will not negotiate until the host command is received, which allows the system to be powered without a battery or with a dead battery with 5V. BUG=chrome-os-partner:28611 BRANCH=none TEST=Tested on a samus: 1) Tested the normal case of battery charged and plugged in. When charger is plugged in, the device immediately starts negotiating for 20V and starts charging. 2) Tested with no battery. Plug in a charger, samus boots and stays alive. VBUS measured at 5V. When a battery is plugged in, device negotiates for 20V and starts charging. 3) Tested dead battery by taking a battery with no charge, and plugging in zinger. Everything boots, but PD does not negotiate for power. Then when battery reaches 1%, PD negotiates and zinger switches to 20V without causing a reboot. Change-Id: Iaa451403674e86cddbd3fe80e9503584910be576 Signed-off-by: Alec Berg <alecaberg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/201958 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'include/ec_commands.h')
-rw-r--r--include/ec_commands.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/ec_commands.h b/include/ec_commands.h
index 1526084986..5edd754df3 100644
--- a/include/ec_commands.h
+++ b/include/ec_commands.h
@@ -2478,6 +2478,25 @@ struct ec_params_reboot_ec {
/*****************************************************************************/
/*
+ * PD commands
+ *
+ * These commands are for PD MCU communication.
+ */
+
+/* EC to PD MCU exchange status command */
+#define EC_CMD_PD_EXCHANGE_STATUS 0x100
+
+/* Status of EC being sent to PD */
+struct ec_params_pd_status {
+ int8_t batt_soc; /* battery state of charge */
+} __packed;
+
+/* Status of PD being sent back to EC */
+struct ec_response_pd_status {
+} __packed;
+
+/*****************************************************************************/
+/*
* Deprecated constants. These constants have been renamed for clarity. The
* meaning and size has not changed. Programs that use the old names should
* switch to the new names soon, as the old names may not be carried forward