cros_ec_python.constants.MEMMAP
1from .COMMON import BIT 2from typing import Final 3 4EC_MEMMAP_SIZE : Final = 255 # ACPI IO buffer max is 255 bytes 5EC_MEMMAP_TEXT_MAX : Final = 8 # Size of a string in the memory map 6 7# The offset address of each type of data in mapped memory. 8EC_MEMMAP_TEMP_SENSOR : Final = 0x00 # Temp sensors 0x00 - 0x0f 9EC_MEMMAP_FAN : Final = 0x10 # Fan speeds 0x10 - 0x17 10EC_MEMMAP_TEMP_SENSOR_B : Final = 0x18 # More temp sensors 0x18 - 0x1f 11EC_MEMMAP_ID : Final = 0x20 # 0x20 == 'E', 0x21 == 'C' 12EC_MEMMAP_ID_VERSION : Final = 0x22 # Version of data in 0x20 - 0x2f 13EC_MEMMAP_THERMAL_VERSION : Final = 0x23 # Version of data in 0x00 - 0x1f 14EC_MEMMAP_BATTERY_VERSION : Final = 0x24 # Version of data in 0x40 - 0x7f 15EC_MEMMAP_SWITCHES_VERSION : Final = 0x25 # Version of data in 0x30 - 0x33 16EC_MEMMAP_EVENTS_VERSION : Final = 0x26 # Version of data in 0x34 - 0x3f 17EC_MEMMAP_HOST_CMD_FLAGS : Final = 0x27 # Host cmd interface flags (8 bits) 18# Unused 0x28 - 0x2f 19EC_MEMMAP_SWITCHES : Final = 0x30 # 8 bits 20# Unused 0x31 - 0x33 21EC_MEMMAP_HOST_EVENTS : Final = 0x34 # 64 bits 22# Battery values are all 32 bits, unless otherwise noted. 23EC_MEMMAP_BATT_VOLT : Final = 0x40 # Battery Present Voltage 24EC_MEMMAP_BATT_RATE : Final = 0x44 # Battery Present Rate 25EC_MEMMAP_BATT_CAP : Final = 0x48 # Battery Remaining Capacity 26EC_MEMMAP_BATT_FLAG : Final = 0x4c # Battery State, see below (8-bit) 27EC_MEMMAP_BATT_COUNT : Final = 0x4d # Battery Count (8-bit) 28EC_MEMMAP_BATT_INDEX : Final = 0x4e # Current Battery Data Index (8-bit) 29# Unused 0x4f 30EC_MEMMAP_BATT_DCAP : Final = 0x50 # Battery Design Capacity 31EC_MEMMAP_BATT_DVLT : Final = 0x54 # Battery Design Voltage 32EC_MEMMAP_BATT_LFCC : Final = 0x58 # Battery Last Full Charge Capacity 33EC_MEMMAP_BATT_CCNT : Final = 0x5c # Battery Cycle Count 34# Strings are all 8 bytes (EC_MEMMAP_TEXT_MAX) 35EC_MEMMAP_BATT_MFGR : Final = 0x60 # Battery Manufacturer String 36EC_MEMMAP_BATT_MODEL : Final = 0x68 # Battery Model Number String 37EC_MEMMAP_BATT_SERIAL : Final = 0x70 # Battery Serial Number String 38EC_MEMMAP_BATT_TYPE : Final = 0x78 # Battery Type String 39EC_MEMMAP_ALS : Final = 0x80 # ALS readings in lux (2 X 16 bits) 40# Unused 0x84 - 0x8f 41EC_MEMMAP_ACC_STATUS : Final = 0x90 # Accelerometer status (8 bits ) 42# Unused 0x91 43EC_MEMMAP_ACC_DATA : Final = 0x92 # Accelerometers data 0x92 - 0x9f 44# 0x92: Lid Angle if available, LID_ANGLE_UNRELIABLE otherwise 45# 0x94 - 0x99: 1st Accelerometer 46# 0x9a - 0x9f: 2nd Accelerometer 47EC_MEMMAP_GYRO_DATA : Final = 0xa0 # Gyroscope data 0xa0 - 0xa5 48# Unused 0xa6 - 0xdf 49 50 51# ACPI is unable to access memory mapped data at or above this offset due to 52# limitations of the ACPI protocol. Do not place data in the range 0xe0 - 0xfe 53# which might be needed by ACPI. 54 55EC_MEMMAP_NO_ACPI : Final = 0xe0 56 57# Define the format of the accelerometer mapped memory status byte. 58EC_MEMMAP_ACC_STATUS_SAMPLE_ID_MASK : Final = 0x0f 59EC_MEMMAP_ACC_STATUS_BUSY_BIT : Final = BIT(4) 60EC_MEMMAP_ACC_STATUS_PRESENCE_BIT : Final = BIT(7) 61 62# Number of temp sensors at EC_MEMMAP_TEMP_SENSOR 63EC_TEMP_SENSOR_ENTRIES : Final = 16 64 65# Number of temp sensors at EC_MEMMAP_TEMP_SENSOR_B. 66# 67# Valid only if EC_MEMMAP_THERMAL_VERSION returns >= 2. 68 69EC_TEMP_SENSOR_B_ENTRIES : Final = 8 70 71# Special values for mapped temperature sensors 72EC_TEMP_SENSOR_NOT_PRESENT : Final = 0xff 73EC_TEMP_SENSOR_ERROR : Final = 0xfe 74EC_TEMP_SENSOR_NOT_POWERED : Final = 0xfd 75EC_TEMP_SENSOR_NOT_CALIBRATED : Final = 0xfc 76 77# The offset of temperature value stored in mapped memory. This allows 78# reporting a temperature range of 200K to 454K = -73C to 181C. 79 80EC_TEMP_SENSOR_OFFSET : Final = 200 81 82 83# Number of ALS readings at EC_MEMMAP_ALS 84 85EC_ALS_ENTRIES : Final = 2 86 87 88# The default value a temperature sensor will return when it is present but 89# has not been read this boot. This is a reasonable number to avoid 90# triggering alarms on the host. 91 92EC_TEMP_SENSOR_DEFAULT : Final = (296 - EC_TEMP_SENSOR_OFFSET) 93 94EC_FAN_SPEED_ENTRIES : Final = 4 # Number of fans at EC_MEMMAP_FAN 95EC_FAN_SPEED_NOT_PRESENT : Final = 0xffff # Entry not present 96EC_FAN_SPEED_STALLED : Final = 0xfffe # Fan stalled 97 98# Battery bit flags at EC_MEMMAP_BATT_FLAG. 99EC_BATT_FLAG_AC_PRESENT : Final = 0x01 100EC_BATT_FLAG_BATT_PRESENT : Final = 0x02 101EC_BATT_FLAG_DISCHARGING : Final = 0x04 102EC_BATT_FLAG_CHARGING : Final = 0x08 103EC_BATT_FLAG_LEVEL_CRITICAL : Final = 0x10 104# Set if some of the static/dynamic data is invalid (or outdated). 105EC_BATT_FLAG_INVALID_DATA : Final = 0x20 106 107# Switch flags at EC_MEMMAP_SWITCHES 108EC_SWITCH_LID_OPEN : Final = 0x01 109EC_SWITCH_POWER_BUTTON_PRESSED : Final = 0x02 110EC_SWITCH_WRITE_PROTECT_DISABLED : Final = 0x04 111# Was recovery requested via keyboard; now unused. 112EC_SWITCH_IGNORE1 : Final = 0x08 113# Recovery requested via dedicated signal (from servo board) 114EC_SWITCH_DEDICATED_RECOVERY : Final = 0x10 115# Was fake developer mode switch; now unused. Remove in next refactor. 116EC_SWITCH_IGNORE0 : Final = 0x20 117 118# Host command interface flags 119# Host command interface supports LPC args (LPC interface only) 120EC_HOST_CMD_FLAG_LPC_ARGS_SUPPORTED : Final = 0x01 121# Host command interface supports version 3 protocol 122EC_HOST_CMD_FLAG_VERSION_3 : Final = 0x02 123 124# Wireless switch flags 125EC_WIRELESS_SWITCH_ALL : Final = ~0x00 # All flags 126EC_WIRELESS_SWITCH_WLAN : Final = 0x01 # WLAN radio 127EC_WIRELESS_SWITCH_BLUETOOTH : Final = 0x02 # Bluetooth radio 128EC_WIRELESS_SWITCH_WWAN : Final = 0x04 # WWAN power 129EC_WIRELESS_SWITCH_WLAN_POWER : Final = 0x08 # WLAN power
EC_MEMMAP_SIZE: Final =
255
EC_MEMMAP_TEXT_MAX: Final =
8
EC_MEMMAP_TEMP_SENSOR: Final =
0
EC_MEMMAP_FAN: Final =
16
EC_MEMMAP_TEMP_SENSOR_B: Final =
24
EC_MEMMAP_ID: Final =
32
EC_MEMMAP_ID_VERSION: Final =
34
EC_MEMMAP_THERMAL_VERSION: Final =
35
EC_MEMMAP_BATTERY_VERSION: Final =
36
EC_MEMMAP_SWITCHES_VERSION: Final =
37
EC_MEMMAP_EVENTS_VERSION: Final =
38
EC_MEMMAP_HOST_CMD_FLAGS: Final =
39
EC_MEMMAP_SWITCHES: Final =
48
EC_MEMMAP_HOST_EVENTS: Final =
52
EC_MEMMAP_BATT_VOLT: Final =
64
EC_MEMMAP_BATT_RATE: Final =
68
EC_MEMMAP_BATT_CAP: Final =
72
EC_MEMMAP_BATT_FLAG: Final =
76
EC_MEMMAP_BATT_COUNT: Final =
77
EC_MEMMAP_BATT_INDEX: Final =
78
EC_MEMMAP_BATT_DCAP: Final =
80
EC_MEMMAP_BATT_DVLT: Final =
84
EC_MEMMAP_BATT_LFCC: Final =
88
EC_MEMMAP_BATT_CCNT: Final =
92
EC_MEMMAP_BATT_MFGR: Final =
96
EC_MEMMAP_BATT_MODEL: Final =
104
EC_MEMMAP_BATT_SERIAL: Final =
112
EC_MEMMAP_BATT_TYPE: Final =
120
EC_MEMMAP_ALS: Final =
128
EC_MEMMAP_ACC_STATUS: Final =
144
EC_MEMMAP_ACC_DATA: Final =
146
EC_MEMMAP_GYRO_DATA: Final =
160
EC_MEMMAP_NO_ACPI: Final =
224
EC_MEMMAP_ACC_STATUS_SAMPLE_ID_MASK: Final =
15
EC_MEMMAP_ACC_STATUS_BUSY_BIT: Final =
16
EC_MEMMAP_ACC_STATUS_PRESENCE_BIT: Final =
128
EC_TEMP_SENSOR_ENTRIES: Final =
16
EC_TEMP_SENSOR_B_ENTRIES: Final =
8
EC_TEMP_SENSOR_NOT_PRESENT: Final =
255
EC_TEMP_SENSOR_ERROR: Final =
254
EC_TEMP_SENSOR_NOT_POWERED: Final =
253
EC_TEMP_SENSOR_NOT_CALIBRATED: Final =
252
EC_TEMP_SENSOR_OFFSET: Final =
200
EC_ALS_ENTRIES: Final =
2
EC_TEMP_SENSOR_DEFAULT: Final =
96
EC_FAN_SPEED_ENTRIES: Final =
4
EC_FAN_SPEED_NOT_PRESENT: Final =
65535
EC_FAN_SPEED_STALLED: Final =
65534
EC_BATT_FLAG_AC_PRESENT: Final =
1
EC_BATT_FLAG_BATT_PRESENT: Final =
2
EC_BATT_FLAG_DISCHARGING: Final =
4
EC_BATT_FLAG_CHARGING: Final =
8
EC_BATT_FLAG_LEVEL_CRITICAL: Final =
16
EC_BATT_FLAG_INVALID_DATA: Final =
32
EC_SWITCH_LID_OPEN: Final =
1
EC_SWITCH_POWER_BUTTON_PRESSED: Final =
2
EC_SWITCH_WRITE_PROTECT_DISABLED: Final =
4
EC_SWITCH_IGNORE1: Final =
8
EC_SWITCH_DEDICATED_RECOVERY: Final =
16
EC_SWITCH_IGNORE0: Final =
32
EC_HOST_CMD_FLAG_LPC_ARGS_SUPPORTED: Final =
1
EC_HOST_CMD_FLAG_VERSION_3: Final =
2
EC_WIRELESS_SWITCH_ALL: Final =
-1
EC_WIRELESS_SWITCH_WLAN: Final =
1
EC_WIRELESS_SWITCH_BLUETOOTH: Final =
2
EC_WIRELESS_SWITCH_WWAN: Final =
4
EC_WIRELESS_SWITCH_WLAN_POWER: Final =
8