summaryrefslogtreecommitdiff
path: root/common/ec_features.c
diff options
context:
space:
mode:
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;
+}