summaryrefslogtreecommitdiff
path: root/host_interface/ec_command.h
blob: c868918019288551a8b8558a81b4ef7f143ad056 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/* lid.h - handle lid open/close
 *
 * (Chromium license) */

#ifndef __HOST_INTERFACE_EC_COMMAND_H
#define __HOST_INTERFACE_EC_COMMAND_H

#include <stdint.h>

/* This file is included by BIOS/OS and EC firmware. */


enum EcCommand {
  /*------------------------------------------------------------------------*/
  /* Version and boot information */
  EC_COMMAND_INFO_CMD = 0x00,
  EC_COMMAND_INFO_CMD_MASK = 0xf0,
  EC_COMMAND_INFO_GET_CHIP_ID = 0x01,
  EC_COMMAND_INFO_GET_ACTIVE_FIRMWARE = 0x02,
  EC_COMMAND_INFO_GET_FIRMWARE_VERSION = 0x03,
  EC_COMMAND_INFO_GET_RECOVERY_REASON = 0x04,
  EC_COMMAND_INFO_SET_TRY_B_COUNT = 0x05,
  EC_COMMAND_INFO_GET_TRY_B_COUNT = 0x06,
  EC_COMMAND_INFO_REQUEST_REBOOT = 0x07,
  EC_COMMAND_INFO_GET_VBOOT_INFO = 0x08,
  EC_COMMAND_INFO_RESET_ROLLBACK_INDEX = 0x09,

  /*------------------------------------------------------------------------*/
  /* keyboard (not in 8042 protocol */
  EC_COMMAND_KEYBOARD_CMD = 0x10,
  EC_COMMAND_KEYBOARD_CMD_MASK = 0xf0,
  EC_COMMAND_KEYBOARD_SET_BACKLIGHT = 0x11,
  EC_COMMAND_KEYBOARD_GET_BACKLIGHT = 0x12,
  EC_COMMAND_KEYBOARD_GET_KEY_DOWN_LIST = 0x13,
  EC_COMMAND_KEYBOARD_GET_PWB_HOLD_TIME = 0x14,

  /*------------------------------------------------------------------------*/
  /* Thermal and fan */
  EC_COMMAND_THERMAL_CMD = 0x20,
  EC_COMMAND_THERMAL_CMD_MASK = 0xf0,
  EC_COMMAND_THERMAL_GET_CURRENT_FAN_RPM = 0x21,
  EC_COMMAND_THERMAL_GET_TARGET_FAN_RPM = 0x22,
  EC_COMMAND_THERMAL_SET_TARGET_FAN_RPM = 0x23,
  EC_COMMAND_THERMAL_READ_SENSOR = 0x24,
  EC_COMMAND_THERMAL_SET_ALARM_RANGE = 0x25,
  /* TODO: PECI? */

  /*------------------------------------------------------------------------*/
  /* Power */
  EC_COMMAND_POWER_CMD = 0x30,
  EC_COMMAND_POWER_CMD_MASK = 0xf0,
  EC_COMMAND_POWER_SET_S3_WAKE_REASON = 0x31,
  EC_COMMAND_POWER_GET_S3_WAKE_REASON = 0x32,
  EC_COMMAND_POWER_SET_TARGET_POWER_STATE = 0x33,
  EC_COMMAND_POWER_GET_TARGET_POWER_STATE = 0x34,
  EC_COMMAND_POWER_GET_CURRENT_POWER_STATE = 0x35,

  /*------------------------------------------------------------------------*/
  /* BATTERYTERY */
  EC_COMMAND_BATTERY_CMD = 0x40,
  EC_COMMAND_BATTERY_CMD_MASK = 0xe0,  /* 0x41 ~ 0x5f */
  EC_COMMAND_BATTERY_GET_FLAGS = 0x41,
  EC_COMMAND_BATTERY_GET_REMAIN_CAP_PERCENT = 0x42,
  EC_COMMAND_BATTERY_GET_REMAIN_CAP_MAH = 0x43,
  EC_COMMAND_BATTERY_GET_CURRENT_DRAIN_RATE = 0x44,
  EC_COMMAND_BATTERY_GET_VOLTAGE = 0x45,
  EC_COMMAND_BATTERY_GET_DESIGN_CAP = 0x46,
  EC_COMMAND_BATTERY_GET_DESIGN_MIN_CAP = 0x47,
  EC_COMMAND_BATTERY_GET_CURRENT_CAP = 0x48,
  EC_COMMAND_BATTERY_GET_DESIGN_VOL = 0x49,
  EC_COMMAND_BATTERY_GET_TEMPERATURE = 0x4a,
  EC_COMMAND_BATTERY_GET_TYPE = 0x4b,
  EC_COMMAND_BATTERY_GET_OEM_INFO = 0x4c,
  EC_COMMAND_BATTERY_GET_TIME_REMAIN = 0x4d,
  EC_COMMAND_BATTERY_SET_ENABLE_CHARGE = 0x50,
  EC_COMMAND_BATTERY_SET_ENABLE_AC = 0x51,

  /*------------------------------------------------------------------------*/
  /* Lid */
  EC_COMMAND_LID_CMD = 0x60,
  EC_COMMAND_LID_CMD_MASK = 0xf0,
  EC_COMMAND_LID_GET_FLAGS = 0x41,

  /*------------------------------------------------------------------------*/
  /* Flash */
  EC_COMMAND_FLASH_CMD = 0x70,
  EC_COMMAND_FLASH_CMD_MASK = 0xf0,
  EC_COMMAND_FLASH_GET_INFO = 0x71,
  EC_COMMAND_FLAHS_READ = 0x72,
  EC_COMMAND_FLASH_WRITE = 0x73,
  EC_COMMAND_FLASH_ERASE = 0x74,
  EC_COMMAND_FLASH_SET_ENABLE_WRITE_PROTECT = 0x75,
  EC_COMMAND_FLASH_GET_ENABLE_WRITE_PROTECT = 0x76,
  EC_COMMAND_FLASH_SET_WRITE_PROTECT_RANGE = 0x77,
  EC_COMMAND_FLASH_GET_WRITE_PROTECT_RANGE = 0x78,
  EC_COMMAND_FLASH_GET_WRITE_PROTECT_GPIO = 0x79,
  EC_COMMAND_FLASH_GET_FMAP_OFFSET = 0x7a,

  /*------------------------------------------------------------------------*/
  /* Debug */
  EC_COMMAND_DEBUG_CMD = 0x80,
  EC_COMMAND_DEBUG_CMD_MASK = 0xf0,
  EC_COMMAND_DEBUG_GET_EC_BOOT_REASON = 0x81,
  EC_COMMAND_DEBUG_GET_LAST_CRASH_INFO = 0x82,
  EC_COMMAND_DEBUG_GET_GPIO_VALUE = 0x83,

  /*------------------------------------------------------------------------*/
  /* 0xe0~0xff are reserved for return value */
};


#endif  /* __HOST_INTERFACE_EC_COMMAND_H */