summaryrefslogtreecommitdiff
path: root/include/chipset.h
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2012-03-05 09:56:20 -0800
committerRandall Spangler <rspangler@chromium.org>2012-03-05 10:00:25 -0800
commit42bfa2f5d47a0dc19bca289571c7215b71c34d2d (patch)
tree2909a0b517527c6da74dc098d12c78428647f673 /include/chipset.h
parent05d89738ba56e781a27ccdb6214887508d511065 (diff)
downloadchrome-ec-42bfa2f5d47a0dc19bca289571c7215b71c34d2d.tar.gz
Add platform-neutral chipset interface
...since x86_power_in_S0() is a terrible function to have implemented for gaia chipsets, and I need to add more detectable states for lid switch handling anyway. Signed-off-by: Randall Spangler <rspangler@chromium.org> BUG=none TEST=none Change-Id: I0c90c6875b27d1bf23f093e88e34eabf2a8c86e4
Diffstat (limited to 'include/chipset.h')
-rw-r--r--include/chipset.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/chipset.h b/include/chipset.h
new file mode 100644
index 0000000000..8e126ccddc
--- /dev/null
+++ b/include/chipset.h
@@ -0,0 +1,32 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Chipset module for Chrome EC.
+ *
+ * This is intended to be a platform/chipset-neutral interface, implemented by
+ * all main chipsets (x86, gaia, etc.). */
+
+#ifndef __CROS_EC_CHIPSET_H
+#define __CROS_EC_CHIPSET_H
+
+#include "common.h"
+
+/* Chipset state.
+ *
+ * Note that this is a non-exhaustive list of states which the main chipset can
+ * be in, and is potentially one-to-many for real, underlying chipset states.
+ * That's why chipset_in_state() asks "Is the chipset in something
+ * approximating this state?" and not "Tell me what state the chipset is in and
+ * I'll compare it myself with the state(s) I want." */
+enum chipset_state {
+ CHIPSET_STATE_SOFT_OFF, /* Soft off (S5) */
+ CHIPSET_STATE_SUSPEND, /* Suspend (S3) */
+ CHIPSET_STATE_ON, /* On (S0) */
+};
+
+/* Returns non-zero if the chipset is in the specified state. */
+int chipset_in_state(enum chipset_state in_state);
+
+#endif /* __CROS_EC_CHIPSET_H */