summaryrefslogtreecommitdiff
path: root/common/ec_features.c
diff options
context:
space:
mode:
authorPatrick Georgi <pgeorgi@google.com>2017-08-24 10:51:43 +0200
committerchrome-bot <chrome-bot@chromium.org>2017-08-30 03:58:28 -0700
commit6844e4c2793b736b873f97510238ae6ed03c0772 (patch)
treec5bfdc8b3e87db27703623b9e0c6ed93419269f4 /common/ec_features.c
parent2777b7771e788a7c2205c907710b703c48efedc5 (diff)
downloadchrome-ec-6844e4c2793b736b873f97510238ae6ed03c0772.tar.gz
ec_features: Move feature flags out of ec_command into its own unit
Prepare for exposing the feature flags through EC ACPI memory space by moving the definitions and collection function into its own unit. BUG=b:64705535 BRANCH=none TEST=builds and returns the same value Change-Id: I66eabebe0d039fdcd14d11b9ecf77c0f1040d006 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/633925 Commit-Ready: Patrick Georgi <pgeorgi@chromium.org> Tested-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'common/ec_features.c')
-rw-r--r--common/ec_features.c114
1 files changed, 114 insertions, 0 deletions
diff --git a/common/ec_features.c b/common/ec_features.c
new file mode 100644
index 0000000000..9a630e6f17
--- /dev/null
+++ b/common/ec_features.c
@@ -0,0 +1,114 @@
+/* Copyright 2017 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.
+ */
+
+/* Present Chrome EC device features to the outside world */
+
+#include "common.h"
+#include "ec_commands.h"
+
+uint32_t get_feature_flags0(void)
+{
+ return 0
+#ifdef CONFIG_FW_LIMITED_IMAGE
+ | EC_FEATURE_MASK_0(EC_FEATURE_LIMITED)
+#endif
+#ifdef CONFIG_FLASH
+ | EC_FEATURE_MASK_0(EC_FEATURE_FLASH)
+#endif
+#ifdef CONFIG_FANS
+ | EC_FEATURE_MASK_0(EC_FEATURE_PWM_FAN)
+#endif
+#ifdef CONFIG_PWM_KBLIGHT
+ | EC_FEATURE_MASK_0(EC_FEATURE_PWM_KEYB)
+#endif
+#ifdef HAS_TASK_LIGHTBAR
+ | EC_FEATURE_MASK_0(EC_FEATURE_LIGHTBAR)
+#endif
+#ifdef CONFIG_LED_COMMON
+ | EC_FEATURE_MASK_0(EC_FEATURE_LED)
+#endif
+#ifdef HAS_TASK_MOTIONSENSE
+ | EC_FEATURE_MASK_0(EC_FEATURE_MOTION_SENSE)
+#endif
+#ifdef HAS_TASK_KEYSCAN
+ | EC_FEATURE_MASK_0(EC_FEATURE_KEYB)
+#endif
+#ifdef CONFIG_PSTORE
+ | EC_FEATURE_MASK_0(EC_FEATURE_PSTORE)
+#endif
+#ifdef CONFIG_LPC
+ | EC_FEATURE_MASK_0(EC_FEATURE_PORT80)
+#endif
+#ifdef CONFIG_TEMP_SENSOR
+ | EC_FEATURE_MASK_0(EC_FEATURE_THERMAL)
+#endif
+/* Hack to uniquely identify Samus ec */
+#if (defined CONFIG_BACKLIGHT_LID) || (defined CONFIG_BATTERY_SAMUS)
+ | EC_FEATURE_MASK_0(EC_FEATURE_BKLIGHT_SWITCH)
+#endif
+#ifdef CONFIG_WIRELESS
+ | EC_FEATURE_MASK_0(EC_FEATURE_WIFI_SWITCH)
+#endif
+#ifdef CONFIG_HOSTCMD_EVENTS
+ | EC_FEATURE_MASK_0(EC_FEATURE_HOST_EVENTS)
+#endif
+#ifdef CONFIG_COMMON_GPIO
+ | EC_FEATURE_MASK_0(EC_FEATURE_GPIO)
+#endif
+#ifdef CONFIG_I2C_MASTER
+ | EC_FEATURE_MASK_0(EC_FEATURE_I2C)
+#endif
+#ifdef CONFIG_CHARGER
+ | EC_FEATURE_MASK_0(EC_FEATURE_CHARGER)
+#endif
+#if (defined CONFIG_BATTERY) || (defined CONFIG_BATTERY_SMART)
+ | EC_FEATURE_MASK_0(EC_FEATURE_BATTERY)
+#endif
+#ifdef CONFIG_BATTERY_SMART
+ | EC_FEATURE_MASK_0(EC_FEATURE_SMART_BATTERY)
+#endif
+#ifdef CONFIG_AP_HANG_DETECT
+ | EC_FEATURE_MASK_0(EC_FEATURE_HANG_DETECT)
+#endif
+#if 0
+ | EC_FEATURE_MASK_0(EC_FEATURE_PMU) /* Obsolete */
+#endif
+#ifdef CONFIG_HOSTCMD_PD
+ | EC_FEATURE_MASK_0(EC_FEATURE_SUB_MCU)
+#endif
+#ifdef CONFIG_CHARGE_MANAGER
+ | EC_FEATURE_MASK_0(EC_FEATURE_USB_PD)
+#endif
+#ifdef CONFIG_ACCEL_FIFO
+ | EC_FEATURE_MASK_0(EC_FEATURE_MOTION_SENSE_FIFO)
+#endif
+#ifdef CONFIG_VSTORE
+ | EC_FEATURE_MASK_0(EC_FEATURE_VSTORE)
+#endif
+#ifdef CONFIG_USB_MUX_VIRTUAL
+ | EC_FEATURE_MASK_0(EC_FEATURE_USBC_SS_MUX_VIRTUAL)
+#endif
+#ifdef CONFIG_HOSTCMD_RTC
+ | EC_FEATURE_MASK_0(EC_FEATURE_RTC)
+#endif
+#ifdef CONFIG_SPI_FP_PORT
+ | EC_FEATURE_MASK_0(EC_FEATURE_FINGERPRINT)
+#endif
+#ifdef HAS_TASK_CENTROIDING
+ | EC_FEATURE_MASK_0(EC_FEATURE_TOUCHPAD)
+#endif
+#ifdef HAS_TASK_RWSIG
+ | EC_FEATURE_MASK_0(EC_FEATURE_RWSIG)
+#endif
+#ifdef CONFIG_DEVICE_EVENT
+ | EC_FEATURE_MASK_0(EC_FEATURE_DEVICE_EVENT)
+#endif
+ ;
+}
+
+uint32_t get_feature_flags1(void)
+{
+ return 0;
+}