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 */
|