summaryrefslogtreecommitdiff
path: root/src/ec/clevo/it5570e/acpi/ec_ram.asl
blob: 0f4b39baa424eb187b3992bb4c2a9de52f6fa17f (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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
/* SPDX-License-Identifier: GPL-2.0-only */

/*
 * Labeling:
 * - just offset bits
 * ? unknown / not fully understood, used by vendor fw / ec fw
 */

/*
 * Note: not all fields are used by all mainboards. Also some bits/fields are
 *       still unknown and will be amended as soon as more details are known.
 *       Naming differs from vendor firmware, since there were many completely
 *       wrong/misleading names. Fields unused by the vendor EC fw have been
 *       dropped, since they just were present due to vendor doing copy-pasting.
 */

OperationRegion (RAM1, SystemMemory, CONFIG_EC_CLEVO_IT5570E_MEM_BASE + 0x100, 0x400)
Field (RAM1, ByteAcc, Lock, Preserve)
{
	Offset (0x03),
	LSTE,	 1,	// Lid open					  3h.0
	    ,	 1,	// -						  3h.1
	LWKE,	 1,	// Lid wake enable				  3h.2

	Offset (0x04),
	 AC0,	 8,	// Active cooling temp 0			  4h
	 PSV,	 8,	// Passive cooling temp				  5h
	 CRT,	 8,	// Critical temp				  6h
	 TMP,	 8,	// CPU temp read from PECI			  7h
	 AC1,	 8,	// Active cooling temp 1			  8h
	BBST,	 8,	// ? dGPU related (BatteryBooST?)		  9h
	BTMP,	 8,	// Board temperature				  ah

	Offset (0x10),
	 ADP,	 1,	// AC connected					 10h.0
	    ,	 1,	// -						 10h.1
	BAT0,	 1,	// BAT0 connected				 10h.2

	Offset (0x11),
	WFNO,	 8,	// Wake cause					 11h
			//   0x01 = lid
			//   0x04 = sleep button
			//   0x05 = timer
			//   0x10 = battery low

	Offset (0x16),
	BDC0,	32,	// BAT0 design capacity				 16h-19h
	BFC0,	32,	// BAT0 last full charge capacity		 1ah-1dh

	Offset (0x22),
	BDV0,	32,	// BAT0 design voltage				 22h-25h
	BST0,	 8,	// BAT0 status					 26h
			//   BST0[0] : discharging
			//   BST0[1] : charging
			//   BST0[2] : critical low

	Offset (0x2a),
	BPR0,	32,	// BAT0 present current				 2ah-2dh
	BRC0,	32,	// BAT0 remaining capacity			 2eh-31h
	BPV0,	32,	// BAT0 present voltage				 32h-35h

	Offset (0x38),
	BRS0,	 8,	// BAT0 relative charge				 38h

	Offset (0x3a),
	BCW0,	32,	// Design capacity of warning			 3ah-3dh
	BCL0,	32,	// Design capacity of low			 3eh-41h

	Offset (0x4a),
	BMO0,	64,	// Model					 4ah-51h
	BIF0,	64,	// Vendor					 52h-59h
	BSN0,	32,	// Serial number				 5ah-5dh
	BTY0,	64,	// Type						 5eh-65h

	Offset (0x68),
	ECOS,	 8,	// ACPI OS support				 68h
			//   0 = no ACPI
			//   1 = ACPI w/o driver
			//   2 = ACPI w/  driver

	Offset (0x78),
	/*
	 * PECI
	 * Maybe usable for debugging. Must never be written directly!
	 */
	PCAD,	 8,	// PECI address					 78h
	PEWL,	 8,	// PECI write length				 79h
	PWRL,	 8,	// PECI read length				 7ah
	PECD,	 8,	// PECI command					 7bh
	PEHI,	 8,	// PECI host ID					 7ch
	PECI,	 8,	// PECI index					 7dh
	PEPL,	 8,	// PECI LSB					 7eh
	PEPM,	 8,	// PECI MSB					 7fh
	PWFC,	 8,	// ?						 80h
	PECC,	 8,	// PECI completion code				 81h
	PDT0,	 8,	// PECI data					 82h
	PDT1,	 8,	// PECI data					 83h
	PDT2,	 8,	// PECI data					 84h
	PDT3,	 8,	// PECI data					 85h

	Offset (0x92),
	BMD0,	16,	// BAT0 manufacturing date			 92h-93h
			//   BMD0[4:0]  : day
			//   BMD0[8:5]  : month
			//   BMD0[15:9] : year - 1980
	CYC0,   16,	// BAT0 cycle count				 94h-95h

	Offset (0xc7),
	VOFF,	 8,	// VGA fan base offset				 c7h
	FANC,	 8,	// FAN count (FANC == FANQ)			 c8h
	BLVL,	 8,	// Legacy display brightness level (unused)	 c9h

	Offset (0xca),
	    ,	 1,	// -						 cah.0
	    ,	 1,	// ?						 cah.1
	CAMK,	 1,	// Enable webcam hotkey				 cah.2
	    ,	 2,	// -						 cah.3-4
	WWAN,	 1,	// WWAN/3G/LTE present (enables WWAN)		 cah.5

	Offset (0xcb),
	    ,    5,	// -						 cbh.0-4
	B15C,	 1,	// ?						 cbh.5
	    ,    1,	// -						 cbh.6
	SLFG,	 1,	// silent fan mode flag				 cbh.7

	Offset (0xcc),
	SCIE,	 8,	// SCI extra value				 cch

	Offset (0xce),
	DUT1,	 8,	// Fan 1 duty					 ceh
	DUT2,	 8,	// Fan 2 duty					 cfh

	Offset (0xd0),
	RPM1,	16,	// Fan 1 RPM					 d0h-d1h
	RPM2,	16,	// Fan 2 RPM					 d2h-d3h
	RPM4,	16,	// Fan 4 RPM					 d4h-d5h

	Offset (0xd7),
	DTHL,	 8,	// ?						 d7h
	DTBP,	 8,	// ?						 d8h
	    ,	 1,	// -						 d9h.0
	WOLD,	 1,	// ? Disable Wake-on-LAN			 d9h.1
	PWRM,	 2,	// current performance profile			 d9h.2-3
			//   0 = entertainment
			//   1 = performance
			//   2 = quiet
			//   3 = powersave
	FN3E,	 1,	// Fn + 3 enable (power profile toggle)		 d9h.4
	    ,	 1,	// ?						 d9h.5
	AIRP,	 1,	// airplane mode status (in non-ACPI mode)	 d9h.6
	GPUP,	 1,	// dGPU power status				 d9h.7

	Offset (0xda),
	BLCT,	 1,	// ACPI backlight control			 dah.0
	DBGP,	 1,	// 3IN1 debug card present flag			 dah.1
	    ,	 1,	// WINF[2] ?					 dah.2
	MEUL,	 1,	// ME/IFD unlock (ACPI usage unclear)		 dah.3

	Offset (0xdb),
	RINF,	 8,	//						 dbh
			//   RINF[0] : set when EC cmd A8 was called
			//   RINF[1] : -
			//   RINF[2] : ? TP
			//   RINF[3] : ?
			//   RINF[4] : I2C TP SupportSandTPScanCode
			//   RINF[5] : ?
			//   RINF[6] : set on first airplane mode activation
			//   RINF[7] : ?
	 DBG,    8,	// P80 + 3in1 debug				 dch

	Offset (0xdd),
	    ,	 1,	//						 ddh.0
	    ,	 1,	//   INF2[1] : ?				 ddh.1
	    ,	 4,	// -						 ddh.2-5
	BWKE,	 1,	// S3 wake on low battery			 ddh.6
	FF2D,	 1,	// Fn + F2 (LCD off) disable			 ddh.7
	EID2,	 8,	// EC CHIPID LSB				 deh
	BWKT,    8,	// threshold for S3 wake on low battery		 dfh

	Offset (0xe0),
	RPM3,	16,	// Fan 3 RPM					 e0h-e1h

	Offset (0xe2),
	    ,	 3,	// -						 e2h.0-2
	SWFN,	 1,	// swap Fn and left Win key			 e2h.3
	LWIN,	 1,	// enable left Win key				 e2h.4
	    ,	 2,	// -						 e2h.5-6
	AIRK,	 1,	// enable airplane hotkey support		 e2h.7

	Offset (0xe4),
	    ,	 1,	// ?						 e4h.0
	    ,	 2,	// -						 e4h.1-2
	    ,	 1,	// ?						 e4h.3
	    ,	 1,	// -						 e4h.4
	EP12,	 1,	// ? (gpu related)				 e4h.5
	FN_G,    1,	// Fn + G pressed (GPU reset on vendor fw)	 e4h.6
	    ,    1,	// ?						 e4h.7

	Offset (0xe5),
	ECSZ,	 8,	// EC eFlash size				 e5h

	Offset (0xe6),
	    ,	 2,	// -						 e6h.0-1
	G3FG,	 1,	// Enter G3 (all power off) in S4/S5		 e6h.2
	    ,	 3,	// -						 e6h.3-5
	FOAC,	 1,	// Fan always on when AC connected		 e6h.6

	Offset (0xe7),
	FOFF,	 8,	// Fan base offset				 e7h

	Offset (0xe8),
	    ,    1,	// ? static 1; vendor: if 1: eccmd c6, val 0	 e8h.0
	CNVI,    1,	// CNVI card present				 e8h.1
	    ,    3,	// -						 e8h.2-4
	FN_D,    1,	// Fn + D pressed (CMOS reset on vendor fw)	 e8h.5
	    ,    1,	// ? fan related				 e8h.6

	Offset (0xe9),
	KBBO,	 1,	// KB LED supports boot effect override		 e9h.0

	Offset (0xea),
	    ,	 3,	// -						 eah.0-2
	PDFG,	 1,	// Power supplied via USB-C			 eah.3
	MSFG,	 1,	// Modern standby flag				 eah.4
	RCHG,	 1,	// ?						 eah.5
	ACOT,	 1,	// ?						 eah.6
	S5FG,	 1,	// ?						 eah.7

	Offset (0xeb),
	    ,    1,	// ? (unknown keypress status, NV4x only)	 ebh.0
	    ,    1,	// ? (unknown keypress status, NV4x only)	 ebh.1
	    ,    1,	// -						 ebh.2
	DGPT,    1,	// ?						 ebh.3
	TOPN,    1,	// ?						 ebh.4
	    ,    1,	// ? (kbc beep related?)			 ebh.5
	    ,    1,	// ? (kbc beep related?)			 ebh.6
	APRD,    1,	// AP ready					 ebh.7

	Offset (0xf0),
	PL2B,	16,	// Power Limit 2 set when on battery		 f0h-f1h
	PL2T,	16,	// Power Limit 2 (note: never enabled by EC!)	 f2h-f3h
	TAUT,	 8,	// Tau (for PL1, not effective)			 f4h

	/* FCMD interface */
	Offset (0xf8),
	FCMD,	 8,	// Command					 f8h
	FDAT,	 8,	// Data						 f9h
	FBUF,	 8,	// Buffer[0]					 fah
	FBF1,	 8,	// Buffer[1]					 fbh
	FBF2,	 8,	// Buffer[2]					 fch
	FBF3,	 8,	// Buffer[3]					 fdh

	Offset (0xff),
	    ,	 8,	// ? static, l14xcu/mu: 0xe0, nv4x 0x22		 ffh

	Offset (0x28a),
	FANQ,	 8,	// FAN count (FANC == FANQ)			28ah
	KBTP,	 8,	// Keyboard backlight type			28bh
			//   0x00 = none
			//   0x01 = white
			//   0x02 = RGB
			//   0x*3 = per-key RGB
			//   0x06 = RGB15Color
			//   0x16 = RGB15ColorCustom
}