summaryrefslogtreecommitdiff
path: root/common/host_command.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/host_command.c')
-rw-r--r--common/host_command.c98
1 files changed, 96 insertions, 2 deletions
diff --git a/common/host_command.c b/common/host_command.c
index 812c930272..68f2867cf7 100644
--- a/common/host_command.c
+++ b/common/host_command.c
@@ -8,7 +8,6 @@
#include "ap_hang_detect.h"
#include "common.h"
#include "console.h"
-#include "ec_commands.h"
#include "host_command.h"
#include "link_defs.h"
#include "lpc.h"
@@ -714,7 +713,102 @@ static int host_command_get_features(struct host_cmd_handler_args *args)
args->response_size = sizeof(*r);
memset(r, 0, sizeof(*r));
- r->flags[0] = get_feature_flags0();
+ r->flags[0] = 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
+#ifdef CONFIG_PMU_POWERINFO
+ | EC_FEATURE_MASK_0(EC_FEATURE_PMU)
+#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
+ ;
return EC_RES_SUCCESS;
}
DECLARE_HOST_COMMAND(EC_CMD_GET_FEATURES,