diff options
author | Randall Spangler <rspangler@chromium.org> | 2012-03-05 09:56:20 -0800 |
---|---|---|
committer | Randall Spangler <rspangler@chromium.org> | 2012-03-05 10:00:25 -0800 |
commit | 42bfa2f5d47a0dc19bca289571c7215b71c34d2d (patch) | |
tree | 2909a0b517527c6da74dc098d12c78428647f673 /include/chipset.h | |
parent | 05d89738ba56e781a27ccdb6214887508d511065 (diff) | |
download | chrome-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.h | 32 |
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 */ |