} __packed;
-/*****************************************************************************/
-/* Get/Set miscellaneous values */
-
-/* The upper byte of .flags tells what to do (nothing means "get") */
-#define EC_GSV_SET 0x80000000
-
-/* The lower three bytes of .flags identifies the parameter, if that has
- meaning for an individual command. */
-#define EC_GSV_PARAM_MASK 0x00ffffff
-
-struct ec_params_get_set_value {
- uint32_t flags;
- uint32_t value;
-} __packed;
-
-struct ec_response_get_set_value {
- uint32_t flags;
- uint32_t value;
-} __packed;
-
-/* More than one command can use these structs to get/set parameters. */
-#define EC_CMD_GSV_PAUSE_IN_S5 0x0c
-
-/*****************************************************************************/
-/* List the features supported by the firmware */
-#define EC_CMD_GET_FEATURES 0x0d
-
-/* Supported features */
-enum ec_feature_code {
- /*
- * This image contains a limited set of features. Another image
- * in RW partition may support more features.
- */
- EC_FEATURE_LIMITED = 0,
- /*
- * Commands for probing/reading/writing/erasing the flash in the
- * EC are present.
- */
- EC_FEATURE_FLASH = 1,
- /*
- * Can control the fan speed directly.
- */
- EC_FEATURE_PWM_FAN = 2,
- /*
- * Can control the intensity of the keyboard backlight.
- */
- EC_FEATURE_PWM_KEYB = 3,
- /*
- * Support Google lightbar, introduced on Pixel.
- */
- EC_FEATURE_LIGHTBAR = 4,
- /* Control of LEDs */
- EC_FEATURE_LED = 5,
- /* Exposes an interface to control gyro and sensors.
- * The host goes through the EC to access these sensors.
- * In addition, the EC may provide composite sensors, like lid angle.
- */
- EC_FEATURE_MOTION_SENSE = 6,
- /* The keyboard is controlled by the EC */
- EC_FEATURE_KEYB = 7,
- /* The AP can use part of the EC flash as persistent storage. */
- EC_FEATURE_PSTORE = 8,
- /* The EC monitors BIOS port 80h, and can return POST codes. */
- EC_FEATURE_PORT80 = 9,
- /*
- * Thermal management: include TMP specific commands.
- * Higher level than direct fan control.
- */
- EC_FEATURE_THERMAL = 10,
- /* Can switch the screen backlight on/off */
- EC_FEATURE_BKLIGHT_SWITCH = 11,
- /* Can switch the wifi module on/off */
- EC_FEATURE_WIFI_SWITCH = 12,
- /* Monitor host events, through for example SMI or SCI */
- EC_FEATURE_HOST_EVENTS = 13,
- /* The EC exposes GPIO commands to control/monitor connected devices. */
- EC_FEATURE_GPIO = 14,
- /* The EC can send i2c messages to downstream devices. */
- EC_FEATURE_I2C = 15,
- /* Command to control charger are included */
- EC_FEATURE_CHARGER = 16,
- /* Simple battery support. */
- EC_FEATURE_BATTERY = 17,
- /*
- * Support Smart battery protocol
- * (Common Smart Battery System Interface Specification)
- */
- EC_FEATURE_SMART_BATTERY = 18,
- /* EC can dectect when the host hangs. */
- EC_FEATURE_HANG_DETECT = 19,
- /* Report power information, for pit only */
- EC_FEATURE_PMU = 20,
- /* Another Cros EC device is present downstream of this one */
- EC_FEATURE_SUB_MCU = 21,
- /* Support USB Power delivery (PD) commands */
- EC_FEATURE_USB_PD = 22,
- /* Control USB multiplexer, for audio through USB port for instance. */
- EC_FEATURE_USB_MUX = 23,
- /* Motion Sensor code has an internal software FIFO */
- EC_FEATURE_MOTION_SENSE_FIFO = 24,
-};
-
-#define EC_FEATURE_MASK_0(event_code) (1UL << (event_code % 32))
-#define EC_FEATURE_MASK_1(event_code) (1UL << (event_code - 32))
-struct ec_response_get_features {
- uint32_t flags[2];
-} __packed;
-
/*****************************************************************************/
/* Real-time clock */