blob: 91decc6bed2108f583e352b49d4b6377dc8da8b4 [file] [log] [blame]
Patrick Georgi7333a112020-05-08 20:48:04 +02001/* SPDX-License-Identifier: GPL-2.0-or-later */
Uwe Hermann0120e1a2007-09-16 18:11:03 +00002
3#include "superiotool.h"
4
Uwe Hermann07024692007-09-20 22:13:48 +00005#define CHIP_ID_BYTE1_REG 0x20
6#define CHIP_ID_BYTE2_REG 0x21
7#define CHIP_VERSION_REG 0x22
Urja Rannikko38204a22008-10-23 23:33:18 +00008#define ISA_PNP_ADDR 0x279
Uwe Hermann07024692007-09-20 22:13:48 +00009
Uwe Hermann246be7d2007-10-31 22:22:11 +000010static const struct superio_registers reg_table[] = {
Michael Niewöhnerff23a582020-10-19 00:37:35 +020011 {0x5570, "IT5570E", {
12 {NOLDN, NULL,
13 {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2d,EOT},
14 {0x55,0x70,NANA,0x01,RSVD,0x00,0x00,RSVD,RSVD,RSVD,RSVD,RSVD,0x00,EOT}},
15 {0x01, "Serial Port 1 (UART1)",
16 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
17 {0x00,0x02,0xf8,0x00,0x00,0x03,0x02,0x00,EOT}},
18 {0x02, "Serial Port 2 (UART2)",
19 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
20 {0x00,0x02,0xf8,0x00,0x00,0x03,0x02,0x00,EOT}},
21 {0x04, "System Wake-Up Control (SWUC)",
22 {0x30,0x60,0x61,0x70,0x71,EOT},
23 {0x00,0x00,0x00,0x00,0x01,EOT}},
24 {0x05, "KBC Mouse",
25 {0x30,0x70,0x71,EOT},
26 {0x00,0x0c,0x01,EOT}},
27 {0x06, "KBC Keyboard",
28 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
29 {0x00,0x00,0x60,0x00,0x64,0x01,0x01,EOT}},
30 {0x0a, "Consumer IR",
31 {0x30,0x60,0x61,0x70,0x71,EOT},
32 {0x00,0x03,0x10,0x00,0x02,EOT}},
33 {0x0f, "Shared Memory/Flash Interface (SMFI)",
34 {0x30,0x60,0x61,0x70,0x71,0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,
35 0xf9,0xfa,0xfb,0xfc,EOT},
36 {0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
37 0x00,0x00,0x00,0x01,EOT}},
38 {0x10, "RTC-like Timer (RTC)",
39 {0x30,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x70,0x71,0xf0,
40 0xf1,0xf2,0xf3,0xf4,0xf5,EOT},
41 {0x00,0x00,0x70,0x02,0x72,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x01,0x00,
42 0x49,0x4a,0x00,0x00,0x00,EOT}},
43 {0x11, "Power Management Interface Channel 1 (PMC1)",
44 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
45 {0x00,0x00,0x62,0x00,0x66,0x01,0x01,EOT}},
46 {0x12, "Power Management Interface Channel 2 (PMC2)",
47 {0x30,0x60,0x61,0x62,0x63,0x64,0x65,0x70,0x71,0xf0,EOT},
48 {0x00,0x00,0x68,0x00,0x6c,0x00,0x00,0x01,0x01,NANA,EOT}},
49 {0x13, "Serial Peripheral Interface (SSPI)",
50 {0x30,0x60,0x61,0x70,0x71,EOT},
51 {0x00,0x03,0x00,0x00,0x02,EOT}},
52 {0x14, "Platform Environment Control Interface (PECI)",
53 {0x30,0x60,0x61,EOT},
54 {0x00,0x00,0x00,EOT}},
55 {0x17, "Power Management Interface Channel 3 (PMC3)",
56 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
57 {0x00,0x00,0x6a,0x00,0x6e,0x01,0x01,EOT}},
58 {0x18, "Power Management Interface Channel 4 (PMC4)",
59 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
60 {0x00,0x00,0x74,0x00,0x78,0x01,0x01,EOT}},
61 {0x19, "Power Management Interface Channel 5 (PMC5)",
62 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
63 {0x00,0x00,0x7a,0x00,0x7c,0x01,0x01,EOT}},
64 {EOT}}},
Uwe Hermannebb73f22008-11-12 19:08:58 +000065 {0x8228, "IT8228E", {
66 {EOT}}},
Donald Huang03e54de2010-08-10 23:34:51 +000067 {0x8500, "IT8500B/E", {
68 {NOLDN, NULL,
69 {0x20,0x21,0x22,0x23,0x25,0x2d,0x2e,0x2f,0x30,EOT},
70 {0x85,0x00,0x01,0x01,0x00,0x00,NANA,NANA,0x00,EOT}},
71 {0x04, "System Wake-Up Control (SWUC)",
72 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
73 {0x00,0x00,0x00,0x00,0x00,0x00,0x01,EOT}},
74 {0x05, "KBC/Mouse Interface",
75 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
76 {0x00,0x00,0x00,0x00,0x00,0x0c,0x01,EOT}},
77 {0x06, "KBC/Keyboard Interface",
78 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
79 {0x00,0x00,0x60,0x00,0x64,0x01,0x01,EOT}},
80 {0x0f, "Shared Memory/Flash Interface (SMFI)",
81 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf4,EOT},
82 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,NANA,EOT}},
83 {0x10, "BRAM",
84 {0x30,0x62,0x63,0x70,0x71,0xf3,0xf4,0xf5,EOT},
85 {0x00,0x00,0x72,0x08,0x01,NANA,NANA,NANA,EOT}},
86 {0x11, "Power Management I/F Channel 1 (PMC1)",
87 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
88 {0x00,0x00,0x62,0x00,0x66,0x01,0x01,EOT}},
89 {0x12, "Power Management I/F Channel 2 (PMC2)",
90 {0x30,0x60,0x61,0x62,0x63,0x64,0x65,0x70,0x71,0xf0,EOT},
91 {0x00,0x00,0x68,0x00,0x6c,0x00,0x00,0x01,0x01,NANA,EOT}},
92 {EOT}}},
Anton Kochkov106f7ff2010-06-29 21:26:17 +000093 {0x8502, "IT8502E/TE/G", {
94 {NOLDN, NULL,
95 {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,
96 0x2A,0x2B,0x2C,0x2D,0x2E,EOT},
97 {0x85,0x02,0x71,0x01,NANA,0x00,0x00,NANA,NANA,NANA,
98 NANA,NANA,NANA,0x00,NANA,EOT}},
99 {0x1, "UART1",
100 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
101 {0x00,0x03,0xf8,0x00,0x00,0x04,0x02,0x00,EOT}},
102 {0x4, "System Wake-Up",
103 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
104 {0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,EOT}},
105 {0x5, "Mouse",
106 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
107 {0x01,0x00,0x00,0x00,0x00,0x0C,0x01,NANA,EOT}},
108 {0x6, "Keyboard",
109 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
110 {0x01,0x00,0x60,0x00,0x64,0x01,0x01,NANA,EOT}},
111 {0xf, "Shared Memory/Flash",
112 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf4,0xf5,
113 0xf6,EOT},
114 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
115 0x00,EOT}},
116 {0x10, "BRAM",
117 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf3,0xf4,
118 0xf5,EOT},
119 {0x00,0x00,0x70,0x00,0x72,0x08,0x01,NANA,NANA,
120 NANA,EOT}},
121 {0x11, "Power Channel 1",
122 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
123
124 {0x00,0x00,0x62,0x00,0x66,0x01,0x01,EOT}},
125 {0x12, "Power Channel 2",
126 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
127 {0x00,0x00,0x68,0x00,0x6c,0x01,0x01,EOT}},
128 {0x17, "Power Channel 3",
129 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
130 {0x00,0x00,0x6a,0x00,0x6e,0x01,0x01,EOT}},
131 {EOT}}},
Anders Juel Jensenb850eb82010-01-23 15:50:12 +0000132 {0x8510, "IT8510E/TE/G", {
Anders Juel Jensen28e4af52010-08-22 19:41:47 +0000133 {NOLDN, "Chip ID",
134 {0x20,0x21, EOT},
135 {0x85,0x10, EOT}},
136 {NOLDN, "Chip Version",
137 {0x22,EOT},
138 {0x21,EOT}},
Patrick Georgi220c2092020-01-30 12:58:08 +0100139 {NOLDN, "Super I/O Control Register (SIOCTRL)",
Anders Juel Jensen28e4af52010-08-22 19:41:47 +0000140 {0x23,EOT},
141 {0x01,EOT}},
142 {NOLDN, "Super I/O Configuration Register (SIOIRQ)",
143 {0x25,EOT},
144 {0x00,EOT}},
145 {NOLDN, "Super I/O General Purpose Register (SIOGP)",
146 {0x26,EOT},
147 {0x00,EOT}},
148 {NOLDN, "Super I/O Power Mode Register (SIOPWR)",
149 {0x2d,EOT},
150 {0x00,EOT}},
151 {NOLDN, "Logical Device Activate Register (LDA)",
152 {0x30,EOT},
153 {0x00,EOT}},
154 {NOLDN, "I/O Port Base Address for Descriptor 0 (IOBAD0)",
155 {0x60,0x61,EOT},
156 {NANA,NANA,EOT}},
157 {NOLDN, "I/O Port Base Address for Descriptor 1 (IOBAD1)",
158 {0x62,0x63,EOT},
159 {NANA,NANA,EOT}},
Elyes HAOUAS073d22b2018-08-23 18:21:35 +0200160 {NOLDN, "Interrupt Request Number and Wake-Up on IRQ Enable (IRQNUMX)",
Anders Juel Jensen28e4af52010-08-22 19:41:47 +0000161 {0x70,EOT},
162 {NANA,EOT}},
163 {NOLDN, "Interrupt Request Type Select (IRQTP)",
164 {0x71,EOT},
165 {NANA,EOT}},
166 {NOLDN, "DMA Channel Select 0 (DMAS0)",
167 {0x74,EOT},
168 {0x04,EOT}},
169 {NOLDN, "DMA Channel Select 1 (DMAS1)",
170 {0x75,EOT},
171 {0x04,EOT}},
172 {0x4, "System Wakup-Up (SWUC)",
173 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
174 {0x00,0x00,0x00,0x00,0x00,0x00,0x03,EOT}},
175 {0x5, "Keyboard/Mouse",
176 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
177 {0x00,0x00,0x00,0x00,0x00,0x0c,0x03,EOT}},
178 {0x6, "Keyboard/Mouse",
179 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
180 {0x00,0x00,0x60,0x00,0x64,0x01,0x03,EOT}},
181 {0xf, "Shared Memory/Flash Interface (SMFI)",
182 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf4,0xf5,0xf6,0xf7,0xf8,EOT},
183 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,EOT}},
184 {0x10, "Real Time Clock (RTC)",
185 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,0xf1,0xf2,EOT},
186 {0x00,0x00,0x70,0x00,0x72,0x08,0x00,0x00,0x49,0x4a,EOT}},
187 {0x11, "Power Management Interface Channel 1",
188 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
189 {0x00,0x00,0x62,0x00,0x66,0x01,0x03,EOT}},
190 {0x12, "Power Management Interface Channel 2",
191 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
192 {0x00,0x00,0x68,0x00,0x6c,0x01,0x03,EOT}},
Anders Juel Jensenb850eb82010-01-23 15:50:12 +0000193 {EOT}}},
194 {0x8511, "IT8511E/TE/G", {
Anton Kochkov106f7ff2010-06-29 21:26:17 +0000195 {NOLDN, NULL,
196 {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,
197 0x2A,0x2B,0x2C,0x2D,0x2E,EOT},
198 {0x85,0x11,0x10,0x01,NANA,0x00,0x00,NANA,NANA,NANA,
199 NANA,NANA,NANA,0x00,NANA,EOT}},
200 {0x4, "System Wake-Up",
201 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
202 {0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,EOT}},
203 {0x5, "Mouse",
204 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
205 {0x01,0x00,0x00,0x00,0x00,0x0C,0x03,NANA,EOT}},
206 {0x6, "Keyboard",
207 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
208 {0x01,0x00,0x60,0x00,0x64,0x01,0x03,NANA,EOT}},
209 {0xf, "Shared Memory/Flash",
210 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf4,0xf5,
211 0xf6,EOT},
212 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
213 0x00,EOT}},
214 {0x10, "Real-Time Clock",
215 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,0xf1,
216 0xf2,0xf3,0xf4,0xf5,EOT},
217 {0x00,0x00,0x70,0x00,0x72,0x08,0x00,0x00,0x49,
218 0x4A,NANA,NANA,NANA,EOT}},
219 {0x11, "Power Channel 1",
220 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
221 {0x00,0x00,0x62,0x00,0x66,0x01,0x03,EOT}},
222 {0x12, "Power Channel 2",
223 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
224 {0x00,0x00,0x68,0x00,0x6c,0x01,0x03,EOT}},
Anders Juel Jensenb850eb82010-01-23 15:50:12 +0000225 {EOT}}},
Anton Kochkov7b5df5a2010-05-09 15:30:45 +0000226 {0x8512, "IT8512E/F/G", {
Anton Kochkov106f7ff2010-06-29 21:26:17 +0000227 {NOLDN, NULL,
228 {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,
229 0x2A,0x2B,0x2C,0x2D,0x2E,EOT},
230 {0x85,0x12,0x22,0x01,NANA,0x00,0x00,NANA,NANA,NANA,
231 NANA,NANA,NANA,0x00,NANA,EOT}},
232 {0x4, "System Wake-Up",
233 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
234 {0x00,0x00,0x00,0x00,0x00,0x00,0x03,EOT}},
235 {0x5, "Mouse",
236 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
237 {0x00,0x00,0x00,0x00,0x00,0x0C,0x03,NANA,EOT}},
238 {0x6, "Keyboard",
239 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
240 {0x00,0x00,0x60,0x00,0x64,0x01,0x03,NANA,EOT}},
241 {0xf, "Shared Memory/Flash",
242 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf4,0xf5,
243 0xf6,EOT},
244 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
245 0x00,EOT}},
246 {0x10, "BRAM",
247 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf3,0xf4,
248 0xf5,EOT},
249 {0x00,0x00,0x70,0x00,0x72,0x08,0x00,NANA,NANA,
250 NANA,EOT}},
251 {0x11, "Power Channel 1",
252 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
253 {0x00,0x00,0x62,0x00,0x66,0x01,0x03,EOT}},
254 {0x12, "Power Channel 2",
255 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
256 {0x00,0x00,0x68,0x00,0x6c,0x01,0x03,EOT}},
Anton Kochkov7b5df5a2010-05-09 15:30:45 +0000257 {EOT}}},
258 {0x8513, "IT8513E/F/G", {
259 {EOT}}},
Nico Huber28a13242013-04-25 15:10:46 +0200260 {0x8516, "IT8516???", {
261 {NOLDN, "Chip ID",
262 {0x20,0x21, EOT},
263 {0x85,0x16, EOT}},
264 {NOLDN, "Chip Version",
265 {0x22,EOT},
266 {0x63,EOT}},
Patrick Georgi220c2092020-01-30 12:58:08 +0100267 {NOLDN, "Super I/O Control Register (SIOCTRL)",
Nico Huber28a13242013-04-25 15:10:46 +0200268 {0x23,EOT},
269 {0x01,EOT}},
270 {NOLDN, "Super I/O Configuration Register (SIOIRQ)",
271 {0x25,EOT},
272 {0x00,EOT}},
273 {NOLDN, "Super I/O General Purpose Register (SIOGP)",
274 {0x26,EOT},
275 {0x00,EOT}},
276 {NOLDN, "Super I/O Power Mode Register (SIOPWR)",
277 {0x2d,EOT},
278 {0x00,EOT}},
279 {0x01, "UART1",
280 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
281 {0x00,0x03,0xf8,0x00,0x00,0x04,0x02,EOT}},
282 {0x02, "UART2",
283 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
284 {0x00,0x02,0xf8,0x00,0x00,0x04,0x02,EOT}},
285 {0x04, "System Wakup-Up (SWUC)",
286 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
287 {0x00,0x00,0x00,0x00,0x00,0x00,0x01,EOT}},
288 {0x05, "Mouse",
289 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
290 {0x00,0x00,0x00,0x00,0x00,0x0C,0x01,EOT}},
291 {0x06, "Keyboard",
292 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
293 {0x00,0x00,0x60,0x00,0x64,0x01,0x01,EOT}},
294 {0x0f, "Shared Memory/Flash Interface (SMFI)",
295 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,
296 0xf4,0xf5,EOT},
297 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,
298 NANA,NANA,EOT}},
299 {0x10, "BRAM / Real Time Clock (RTC)",
300 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,
301 0xf1,0xf2,0xf3,0xf4,0xf5,EOT},
302 {0x00,0x00,0x70,0x00,0x72,0x08,0x01,
303 NANA,NANA,NANA,NANA,NANA,EOT}},
304 {0x11, "Power Management Interface Channel 1",
305 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
306 {0x00,0x00,0x62,0x00,0x66,0x01,0x01,EOT}},
307 {0x12, "Power Management Interface Channel 2",
308 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
309 {0x00,0x00,0x68,0x00,0x6c,0x01,0x01,EOT}},
310 {0x17, "Power Management Interface Channel 3",
311 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
312 {0x00,0x00,0x6a,0x00,0x6e,0x01,0x01,EOT}},
313 {EOT}}},
Patrick Rudolph6085d392019-01-09 16:42:07 +0100314 {0x8528, "IT8528", {
315 {NOLDN, NULL,
316 {0x24,0x25,0x26,0x27,0x28,0x29,
317 0x2A,0x2B,0x2C,0x2D,0x2E,EOT},
318 {0x00,0x00,0x00,0x00,0x00,0x00,
319 0x00,0x00,0x01,0x00,0x00,EOT}},
320 {NOLDN, "Chip ID",
321 {0x20,0x21, EOT},
322 {0x85,0x28, EOT}},
323 {NOLDN, "Chip Version",
324 {0x22,EOT},
325 {0x0a,EOT}},
326 {NOLDN, "Super I/O Control Register (SIOCTRL)",
327 {0x23,EOT},
328 {0x01,EOT}},
329 {0x01, "UART1",
330 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
331 {0x00,0x03,0xf8,0x00,0x00,0x04,0x02,EOT}},
332 {0x02, "UART2",
333 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
334 {0x00,0x02,0xf8,0x00,0x00,0x03,0x02,EOT}},
335 {0x04, "System Wake-Up (SWUC)",
336 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
337 {0x00,0x00,0x00,0x00,0x00,0x00,0x01,EOT}},
338 {0x05, "Mouse",
339 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
340 {0x00,0x00,0x00,0x00,0x00,0x0C,0x01,EOT}},
341 {0x06, "Keyboard",
342 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
343 {0x00,0x00,0x60,0x00,0x64,0x01,0x01,EOT}},
344 {0x0f, "Shared Memory/Flash Interface (SMFI)",
345 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,
346 0xf4,0xf5,EOT},
347 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,
348 NANA,NANA,EOT}},
349 {0x10, "BRAM / Real Time Clock (RTC)",
350 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,
351 0xf1,0xf2,0xf3,0xf4,0xf5,EOT},
352 {0x00,0x00,0x70,0x00,0x72,0x08,0x01,
353 NANA,NANA,NANA,NANA,NANA,EOT}},
354 {0x11, "Power Channel 1",
355 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
356 {0x00,0x00,0x62,0x00,0x66,0x01,0x01,EOT}},
357 {0x12, "Power Channel 2",
358 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
359 {0x00,0x00,0x68,0x00,0x6c,0x01,0x01,EOT}},
360 {0x17, "Power Channel 3",
361 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
362 {0x00,0x00,0x6a,0x00,0x6e,0x01,0x01,EOT}},
363 {0x18, "Power Channel 4",
364 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
365 {0x00,0x00,0x74,0x00,0x78,0x01,0x01,EOT}},
366 {0x19, "Power Channel 5",
367 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
368 {0x00,0x00,0x7a,0x00,0x7c,0x01,0x01,EOT}},
369 {EOT}}},
Krystian Hebel9e3c3022019-02-26 14:20:52 +0100370 {0x8613, "IT8613E", {
371 {NOLDN, NULL,
372 {0x20,0x21,0x22,0x23,0x24,0x2b,EOT},
373 {0x86,0x13,0x05,0x40,0x00,0x48,EOT}},
374 {0x1, "COM1",
375 {0x30,0x60,0x61,0x70,0xf0,EOT},
376 {0x00,0x03,0xf8,0x04,0x00,EOT}},
377 {0x4, "Environment controller",
378 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3,
379 0xf4,0xf5,0xf6,0xfa,0xfb,0xfc,EOT},
380 {0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,0x00,
381 0x00,NANA,NANA,0x00,0x00,0x00,EOT}},
382 {0x5, "Keyboard",
383 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
384 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x48,EOT}},
385 {0x6, "Mouse",
386 {0x30,0x70,0x71,0xf0,EOT},
387 {0x00,0x0c,0x02,0x00,EOT}},
388 {0x7, "GPIO",
389 {0x25,0x26,0x27,0x28,0x29,0x2a,0x2c,0x2d,0x60,0x61,
390 0x62,0x63,0x70,0x71,0x72,0x73,0x74,0xb0,0xb1,0xb2,
391 0xb3,0xb4,0xb8,0xba,0xbb,0xbc,0xbd,0xc0,0xc1,0xc2,
392 0xc3,0xc4,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xda,0xdb,
393 0xe0,0xe1,0xe2,0xe3,0xe4,0xec,0xf0,0xf1,0xf2,0xf3,
394 0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,EOT},
395 {0x00,0xF3,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,
396 0x00,0x00,0x00,0x00,0x20,0x38,0x00,0x00,0x00,0x00,
397 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
398 0x40,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
399 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,NANA,NANA,
400 0x00,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,EOT}},
401 {0xa, "Consumer IR",
402 {0x30,0x60,0x61,0x70,0xf0,EOT},
403 {0x00,0x03,0x10,0x0b,0x06,EOT}},
404 {EOT}}},
Angel Pons75439de2021-02-09 16:19:08 +0100405 {0x8616, "IT8616E/IT8656E", {
406 /* Derived from IT8625E, defaults dumped from hardware */
407 {NOLDN, NULL,
408 {0x20,0x21,0x22,0x23,0x24,EOT},
409 {0x86,0x16,MISC,0x40,0x00,EOT}},
410 {0x3, "Parallel port (unusable)",
411 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0x72,0x73,0x74,0xf0,EOT},
412 {0x00,0x03,0x78,0x07,0x78,0x07,0x02,0x00,0x00,0x04,0x0b,EOT}},
413 {0x4, "Environment controller",
414 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,
415 0xf3,0xf4,0xf5,0xf6,0xf9,0xfa,0xfb,0xfc,0xfd,EOT},
416 {0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,
417 0x00,0xe0,0x00,NANA,0x48,0x00,0x00,0x00,0x40,EOT}},
418 {0x5, "Keyboard",
419 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
420 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x48,EOT}},
421 {0x6, "Mouse",
422 {0x30,0x70,0x71,0xf0,EOT},
423 {0x00,0x0c,0x02,0x00,EOT}},
424 {0x7, "GPIO",
425 {0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x60,
426 0x61,0x62,0x63,0x70,0x71,0x72,0x73,0x74,0xb0,0xb1,
427 0xb2,0xb3,0xb4,0xb5,0xb8,0xba,0xbb,0xbc,0xbd,0xc0,
428 0xc1,0xc2,0xc3,0xc4,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,
429 0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
430 0xd8,0xd9,0xe0,0xe1,0xe2,0xe3,0xe4,0xec,0xf0,0xf1,
431 0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,EOT},
432 {0x00,0xf3,0x00,0x00,0x00,0x01,0x48,0x01,0x00,0x00,
433 0x00,0x00,0x00,0x00,0x00,MISC,0x38,0x00,0x00,0x00,
434 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x03,0x01,
435 0x00,0x00,0x40,0x00,0x01,0x00,0x00,0x00,0x00,0x00,
436 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x17,0x00,0x00,
437 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
438 0x00,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,EOT}},
439 {0xa, "Consumer IR",
440 {0x30,0x60,0x61,0x70,0xf0,EOT},
441 {0x00,0x03,0x10,0x0b,0x06,EOT}},
442 {EOT}}},
Gergely Kiss64e07992018-01-04 05:46:02 +0100443 {0x8623, "IT8623E", {
444 /* Defaults are not specified as no datasheet available */
445 {NOLDN, NULL,
446 {0x20,0x21,0x22,0x23,0x24,0x2b,EOT},
447 {0x86,0x23,0x01,NANA,NANA,NANA,EOT}},
448 {0x0, "Floppy",
449 {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,EOT},
450 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
451 {0x1, "COM1",
452 {0x30,0x60,0x61,0x70,0xf0,0xf1,EOT},
453 {NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
454 {0x2, "COM2",
455 {0x30,0x60,0x61,0x70,0xf0,0xf1,EOT},
456 {NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
457 {0x3, "Parallel port",
458 {0x30,0x60,0x61,0x62,0x63,0x70,0x74,0xf0,EOT},
459 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
460 {0x4, "Environment controller",
461 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3,
462 0xf4,0xf5,0xf6,EOT},
463 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
464 NANA,NANA,NANA,EOT}},
465 {0x5, "Keyboard",
466 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
467 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
468 {0x6, "Mouse",
469 {0x30,0x70,0x71,0xf0,EOT},
470 {NANA,NANA,NANA,NANA,EOT}},
471 {0x7, "GPIO",
472 {0x25,0x26,0x27,0x28,0x29,0x2a,0x2c,0x60,0x61,0x62,
473 0x63,0x64,0x65,0x70,0x71,0x72,0x73,0x74,0xb0,0xb1,
474 0xb2,0xb3,0xb4,0xb5,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,
475 0xc0,0xc1,0xc2,0xc3,0xc4,0xc8,0xc9,0xca,0xcb,0xcc,
476 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe9,0xf0,
477 0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,
478 0xfb,0xfc,0xfd,0xfe,0xff,EOT},
479 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
480 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
481 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
482 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
483 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
484 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
485 NANA,NANA,NANA,NANA,NANA,EOT}},
486 {EOT}}},
Angel Pons86afb172021-02-09 14:29:55 +0100487 {0x8625, "IT8625E", {
488 {NOLDN, NULL,
489 {0x20,0x21,0x22,0x23,0x24,EOT},
490 {0x86,0x25,MISC,0x40,0x00,EOT}},
491 {0x1, "COM1",
492 {0x30,0x60,0x61,0x70,0xf0,EOT},
493 {0x00,0x03,0xf8,0x04,0x00,EOT}},
494 {0x2, "COM2",
495 {0x30,0x60,0x61,0x70,0xf0,EOT},
496 {0x00,0x02,0xf8,0x03,0x00,EOT}},
497 {0x3, "Parallel port",
498 {0x30,0x60,0x61,0x62,0x63,0x70,0x74,0xf0,EOT},
499 {0x00,0x03,0x78,0x07,0x78,0x07,0x03,0x0b,EOT}},
500 {0x4, "Environment controller",
501 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,
502 0xf3,0xf4,0xf5,0xf6,0xf9,0xfa,0xfb,0xfc,0xfd,EOT},
503 {0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,
504 0x00,0x00,0x00,NANA,0x48,0x00,0x00,0x00,0x40,EOT}},
505 {0x5, "Keyboard",
506 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
507 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x48,EOT}},
508 {0x6, "Mouse",
509 {0x30,0x70,0x71,0xf0,EOT},
510 {0x00,0x0c,0x02,0x00,EOT}},
511 {0x7, "GPIO",
512 {0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x60,
513 0x61,0x62,0x63,0x70,0x71,0x72,0x73,0x74,0xb0,0xb1,
514 0xb2,0xb3,0xb4,0xb5,0xb8,0xba,0xbb,0xbc,0xbd,0xc0,
515 0xc1,0xc2,0xc3,0xc4,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,
516 0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,
517 0xd8,0xd9,0xe0,0xe1,0xe2,0xe3,0xe4,0xec,0xf0,0xf1,
518 0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,EOT},
519 {0x00,0xf3,0x00,0x00,0x00,0x00,0x48,0x01,0x00,0x00,
520 0x00,0x00,0x00,0x00,0x00,MISC,0x38,0x00,0x00,0x00,
521 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
522 0x00,0x00,0x40,0x00,0x01,0x00,0x00,0x00,0x00,0x00,
523 0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x00,0x00,0x00,
524 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
525 0x00,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,EOT}},
526 {0xa, "Consumer IR",
527 {0x30,0x60,0x61,0x70,0xf0,EOT},
528 {0x00,0x03,0x10,0x0b,0x06,EOT}},
529 {EOT}}},
Michał Żygowskie80b4c7f2024-02-14 12:25:07 +0100530 {0x8659, "IT8659E", {
531 {NOLDN, NULL,
532 {0x20,0x21,0x22,0x23,0x24,0x2e,0x2f,EOT},
533 {0x86,0x59,0x07,0x40,0x00,RSVD,RSVD,EOT}},
534 {0x1, "COM1",
535 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,EOT},
536 {0x00,0x03,0xf8,0x04,0x00,0x50,0x00,EOT}},
537 {0x2, "COM2",
538 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,EOT},
539 {0x00,0x02,0xf8,0x03,0x00,0x50,0x00,EOT}},
540 {0x4, "Environment controller",
541 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3,
542 0xf4,0xf5,0xf6,0xfa,0xfb,0xfd,EOT},
543 {0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,0x00,
544 0x00,NANA,NANA,NANA,NANA,NANA,EOT}},
545 {0x5, "Keyboard",
546 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
547 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x48,EOT}},
548 {0x6, "Mouse",
549 {0x30,0x70,0x71,0xf0,EOT},
550 {0x00,0x0c,0x02,0x00,EOT}},
551 {0x7, "GPIO",
552 {0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x60,
553 0x61,0x62,0x63,0x70,0x71,0x72,0x73,0x74,0xb0,0xb1,
554 0xb2,0xb3,0xb4,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xc0,
555 0xc1,0xc2,0xc3,0xc4,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,
556 0xda,0xdb,0xe0,0xe1,0xe2,0xe3,0xe4,0xe7,0xf0,0xf1,
557 0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,
558 EOT},
559 {0x00,0xF3,0x00,0x00,0x00,0x00,0x48,0x89,0x00,0x00,
560 0x00,0x00,0x00,0x00,0x00,0x20,0x38,0x00,0x00,0x00,
561 0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x01,
562 0x00,0x00,0x40,0x00,0x01,0x00,0x00,0x40,0x00,0x00,
563 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
564 NANA,NANA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
565 EOT}},
566 {0xa, "Consumer IR",
567 {0x30,0x60,0x61,0x70,0xf0,EOT},
568 {0x00,0x03,0x10,0x0b,0x06,EOT}},
569 {EOT}}},
Urja Rannikko38204a22008-10-23 23:33:18 +0000570 {0x8661, "IT8661F/IT8770F", {
Robinson P. Tryondc817692007-10-05 13:47:04 +0000571 {NOLDN, NULL,
Uwe Hermannb0ae9762008-10-14 16:34:38 +0000572 {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x20,0x21,0x22,
573 0x23,0x24,EOT},
574 {NANA,NANA,NANA,NANA,NANA,NANA,0x00,0x86,0x61,0x00,
575 0x00,0x00,EOT}},
Robinson P. Tryondc817692007-10-05 13:47:04 +0000576 {0x0, "Floppy",
577 {0x30,0x31,0x60,0x61,0x70,0x71,0x74,0xf0,EOT},
578 {0x00,0x00,0x03,0xf0,0x06,0x02,0x02,0x00,EOT}},
579 {0x1, "COM1",
580 {0x30,0x31,0x60,0x61,0x70,0x71,0xf0,EOT},
581 {0x00,0x00,0x03,0xf8,0x04,0x02,0x00,EOT}},
582 {0x2, "COM2",
583 {0x30,0x31,0x60,0x61,0x70,0x71,0xf0,EOT},
584 {0x00,0x00,0x02,0xf8,0x03,0x02,0x00,EOT}},
585 {0x3, "Parallel port",
586 {0x30,0x31,0x60,0x61,0x62,0x63,0x70,0x71,0x74,
587 0xf0,EOT},
588 {0x00,0x00,0x03,0x78,0x07,0x78,0x07,0x02,0x03,
589 0x03,EOT}},
590 {0x4, "IR",
591 {0x30,0x31,0x60,0x61,0x62,0x63,0x70,0x71,0x72,0x73,
592 0x74,0x75,0xf0,EOT},
593 {0x00,0x00,0x02,0xe8,0x03,0x00,0x0a,0x02,0x0b,0x02,
594 0x01,0x00,0x00,EOT}},
595 {0x5, "GPIO",
596 {0x25,0x26,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
597 0x70,0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,
598 0xf9,0xfa,0xfb,0xfc,EOT},
599 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
600 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
601 0x00,0x00,0x00,0x00,EOT}},
602 {EOT}}},
Urja Rannikko38204a22008-10-23 23:33:18 +0000603 {0x8673, "IT8673F", {
604 {EOT}}},
605 {0x8681, "IT8671F/IT8687R", {
Anders Jenbo14db1c02010-05-08 23:28:33 +0000606 {NOLDN, NULL,
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000607 {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x20,0x21,0x22,
608 0x23,0x24,0x25,0x26,0x2e,0x2f,EOT},
609 {NANA,NANA,NANA,NANA,NANA,NANA,0x00,0x86,0x81,0x00,
610 0x00,0x00,0x00,0x00,0x00,0x00,EOT}},
611 {0x0, "Floppy",
612 {0x30,0x31,0x60,0x61,0x70,0x71,0x74,0xf0,EOT},
613 {0x00,0x00,0x03,0xf0,0x06,0x02,0x02,0x00,EOT}},
Anders Jenbo14db1c02010-05-08 23:28:33 +0000614 {0x1, "COM1",
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000615 {0x30,0x31,0x60,0x61,0x70,0x71,0xf0,EOT},
616 {0x00,0x00,0x03,0xf8,0x04,0x02,0x00,EOT}},
Anders Jenbo14db1c02010-05-08 23:28:33 +0000617 {0x2, "COM2",
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000618 {0x30,0x31,0x60,0x61,0x62,0x63,0x70,0x71,0x72,0x73,
619 0x74,0x75,0xf0,0xf1,EOT},
620 {0x00,0x00,0x02,0xf8,0x03,0x00,0x03,0x02,0x0a,0x02,
621 0x00,0x01,0x00,0x00,EOT}},
Anders Jenbo14db1c02010-05-08 23:28:33 +0000622 {0x3, "Parallel port",
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000623 {0x30,0x31,0x60,0x61,0x62,0x63,0x70,0x71,0x74,
624 0xf0,EOT},
625 {0x00,0x00,0x03,0x78,0x07,0x78,0x07,0x02,0x03,
626 0x03,EOT}},
Anders Jenbo14db1c02010-05-08 23:28:33 +0000627 {0x4, "APC",
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000628 {0x30,0xf0,0xf1,0xf2,0xf4,0xf5,0xf6,EOT},
629 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,EOT}},
Anders Jenbo14db1c02010-05-08 23:28:33 +0000630 {0x5, "Keyboard",
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000631 {0x30,0x31,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
632 {MISC,0x00,0x00,0x60,0x00,0x64,0x01,0x02,0x00,EOT}},
Anders Jenbo14db1c02010-05-08 23:28:33 +0000633 {0x6, "Mouse",
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000634 {0x30,0x70,0x71,0xf0,EOT},
635 {0x00,0x0c,0x02,0x00,EOT}},
636 {0x7, "GPIO",
637 {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,
638 0x70,0x71,0x72,0x73,0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,
639 0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,
640 0xe0,0xe1,0xe2,0xe3,0xe4,EOT},
641 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
642 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
643 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
644 0x00,0x00,0x00,0x00,0x00,EOT}},
Urja Rannikko38204a22008-10-23 23:33:18 +0000645 {EOT}}},
Luc Verhaegen7a0f01f2009-07-12 14:24:06 +0000646 {0x8701, "IT8703F", {
647 {NOLDN, NULL,
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000648 {0x20,0x21,0x23,0x24,0x26,0x29,0x2a,0x2b,EOT},
649 {0x87,0x00,0x00,0x80,0x00,0x00,0x7c,0xc0,EOT}},
650 {0x0, "Floppy",
651 {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,0xf2,0xf3,0xf4,
652 0xf5,EOT},
653 {0x00,0x03,0xf0,0x06,0x02,0x0e,0x00,0xff,0x00,0x00,
Luc Verhaegen7a0f01f2009-07-12 14:24:06 +0000654 0x00,EOT}},
655 {0x1, "Parallel port",
656 {0x30,0x60,0x61,0x62,0x63,0x70,0x74,0xf0,EOT},
657 {0x00,0x03,0x78,0x00,0x80,0x07,0x03,0x03,EOT}},
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000658 {0x2, "COM1",
Luc Verhaegen7a0f01f2009-07-12 14:24:06 +0000659 {0x30,0x60,0x61,0x70,0xf0,EOT},
660 {0x00,0x03,0xf8,0x04,0x00,EOT}},
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000661 {0x3, "COM2",
Luc Verhaegen7a0f01f2009-07-12 14:24:06 +0000662 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,0xf3,EOT},
663 {0x00,0x02,0xf8,0x03,0x00,0x00,0x00,0x7f,EOT}},
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000664 {0x5, "Keyboard",
Luc Verhaegen7a0f01f2009-07-12 14:24:06 +0000665 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000666 {0x01,0x00,0x60,0x00,0x64,0x01,0x0c,0x80,EOT}},
Luc Verhaegen7a0f01f2009-07-12 14:24:06 +0000667 {0x6, "Consumer IR",
668 {0x30,0x60,0x61,0x70,EOT},
669 {0x00,0x00,0x00,0x00,EOT}},
670 {0x7, "Game port, MIDI, GPIO set 1",
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000671 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,EOT},
672 {0x00,0x02,0x01,0x03,0x30,0x00,0xff,0x00,0x00,EOT}},
Luc Verhaegen7a0f01f2009-07-12 14:24:06 +0000673 {0x8, "GPIO set 2",
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000674 {0x30,0xf0,0xf1,0xf2,0xf3,0xf5,EOT},
675 {0x00,0xff,0x00,0x00,0x00,0x00,EOT}},
Luc Verhaegen7a0f01f2009-07-12 14:24:06 +0000676 {0x9, "GPIO set 3 and 4",
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000677 {0x30,0x60,0x61,0xf0,0xf1,0xf2,0xf3,0xf4,EOT},
678 {0x00,0x02,0x90,0xff,0x00,0x00,0x00,0x00,EOT}},
679 {0xa, "ACPI",
680 {0x30,0x70,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
681 0xf3,0xf4,0xf6,0xf7,0xf9,EOT},
Luc Verhaegen7a0f01f2009-07-12 14:24:06 +0000682 {0x00,0x00,0x00,0x00,NANA,NANA,0x00,0x00,0x00,0x00,
683 NANA,NANA,0x00,0x00,0x00,EOT}},
Uwe Hermann4bdd6432010-05-14 16:40:55 +0000684 {0xc, "GPIO set 5, 6 and 7",
685 {0x30,0x60,0x61,0xf0,0xf3,0xf6,EOT},
686 {0x00,0x03,0x70,0x00,0xff,0xff,EOT}},
Luc Verhaegen7a0f01f2009-07-12 14:24:06 +0000687 {EOT}}},
Uwe Hermann07024692007-09-20 22:13:48 +0000688 {0x8702, "IT8702F", {
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000689 {EOT}}},
Uwe Hermann44bb7772007-10-07 21:50:29 +0000690 {0x8705, "IT8705F/AF / IT8700F", {
Robinson P. Tryon43541032007-10-04 15:44:19 +0000691 {NOLDN, NULL,
Uwe Hermannb0ae9762008-10-14 16:34:38 +0000692 {0x20,0x21,0x22,0x23,0x24,EOT},
693 {0x87,0x05,0x00,0x00,NANA,EOT}},
Robinson P. Tryon43541032007-10-04 15:44:19 +0000694 {0x0, "Floppy",
695 {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,EOT},
696 {0x00,0x03,0xf0,0x06,0x02,0x00,0x00,EOT}},
697 {0x1, "COM1",
698 {0x30,0x60,0x61,0x70,0xf0,EOT},
699 {0x00,0x03,0xf8,0x04,0x00,EOT}},
700 {0x2, "COM2",
701 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,0xf3,EOT},
702 {0x00,0x02,0xf8,0x03,0x00,0x50,0x00,0x7f,EOT}},
703 {0x3, "Parallel port",
704 {0x30,0x60,0x61,0x62,0x63,0x64,0x65,0x70,0x74,
705 0xf0,EOT},
706 {0x00,0x03,0x78,0x07,0x78,0x00,0x80,0x07,0x03,
707 0x03,EOT}},
708 {0x4, "Environment controller",
709 {0x2b,0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,
710 0xf3,0xf4,0xf5,0xf6,EOT},
711 {0x00,0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,
712 0x00,0x00,NANA,NANA,EOT}},
713 {0x5, "GPIO",
Robinson P. Tryondc817692007-10-05 13:47:04 +0000714 {0x25,0x26,0x27,0x28,0x29,0x2a,0x60,0x61,0x62,0x63,
715 0x64,0x65,0x70,0x71,0x72,0xb0,0xb1,0xb2,0xb3,0xb4,
716 0xb5,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xc0,0xc1,0xc2,
717 0xc3,0xc4,0xc5,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xd0,
718 0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd8,0xd9,0xda,0xf0,
719 0xf1,0xf2,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,
720 0xfd,0xfe,0xff,EOT},
Robinson P. Tryon43541032007-10-04 15:44:19 +0000721 {0x00,0x00,0x00,0xff,0xe0,0xff,0x00,0x00,0x00,0x00,
722 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
723 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
724 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
725 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
726 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Robinson P. Tryondc817692007-10-05 13:47:04 +0000727 0x00,NANA,0x00,EOT}},
Robinson P. Tryon43541032007-10-04 15:44:19 +0000728 {0x6, "Game port",
729 {0x30,0x60,0x61,EOT},
730 {0x00,0x02,0x01,EOT}},
731 {0x7, "Consumer IR",
732 {0x30,0x60,0x61,0x70,0xf0,EOT},
733 {0x00,0x03,0x10,0x0b,0x00,EOT}},
734 {0x8, "MIDI port",
735 {0x30,0x60,0x61,0x70,0xf0,EOT},
736 {0x00,0x03,0x00,0x0a,0x00,EOT}},
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000737 {EOT}}},
Uwe Hermann44bb7772007-10-07 21:50:29 +0000738 {0x8706, "IT8706R", { /* TODO: Not yet in sensors-detect */
739 /* This is a "Special General Purpose I/O chip". */
740 {EOT}}},
Mattias Mattsson25bf69a2010-08-02 02:34:20 +0000741 {0x8707, "IT8707F", {
742 {EOT}}},
Uwe Hermann07024692007-09-20 22:13:48 +0000743 {0x8708, "IT8708F", {
Uwe Hermann2c290e32007-09-20 00:00:49 +0000744 {NOLDN, NULL,
Uwe Hermannb0ae9762008-10-14 16:34:38 +0000745 {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,
746 0x2a,0x2e,0x2f,EOT},
747 {0x87,0x08,0x00,0x00,NANA,0x3f,0x00,0xff,0xff,0xff,
748 0xff,0x00,0x00,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000749 {0x0, "Floppy",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000750 {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,EOT},
751 {0x00,0x03,0xf0,0x06,0x02,0x00,0x00,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000752 {0x1, "COM1",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000753 {0x30,0x60,0x61,0x70,0xf0,EOT},
754 {0x00,0x03,0xf8,0x04,0x00,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000755 {0x2, "COM2",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000756 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,0xf3,EOT},
757 {0x00,0x02,0xf8,0x03,0x00,0x50,0x00,0x7f,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000758 {0x3, "Parallel port",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000759 {0x30,0x60,0x61,0x62,0x63,0x64,0x65,0x70,0x74,
760 0xf0,EOT},
761 {0x00,0x03,0x78,0x07,0x78,0x00,0x80,0x07,0x03,
762 0x03,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000763 {0x4, "SWC",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000764 {0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
765 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,EOT},
766 {NANA,NANA,0x00,0x00,0x00,0x00,0x00,0x00,
767 0x00,0x00,0x00,0x00,0x00,NANA,NANA,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000768 {0x5, "Keyboard",
Uwe Hermann2c290e32007-09-20 00:00:49 +0000769 /* Note: 0x30 can actually be 0x00 _or_ 0x01. */
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000770 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
771 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x00,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000772 {0x6, "Mouse",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000773 {0x30,0x70,0x71,0xf0,EOT},
774 {0x00,0x0c,0x02,0x00,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000775 {0x7, "GPIO",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000776 {0x70,0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb8,0xb9,0xba,
777 0xbb,0xbc,0xbd,0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc8,
778 0xc9,0xca,0xcb,0xcc,0xcd,0xd0,0xd1,0xd2,0xd3,0xd4,
779 0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdc,0xf0,0xf1,
780 0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,
781 0xfc,EOT},
782 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
783 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
784 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
785 0x00,0x00,NANA,NANA,NANA,NANA,NANA,NANA,0x00,0x00,
786 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,NANA,
787 0x00,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000788 {0x8, "Game port",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000789 {0x30,0x60,0x61,EOT},
790 {0x00,0x02,0x01,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000791 {0x9, "Consumer IR",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000792 {0x30,0x60,0x61,0x70,0xf0,EOT},
793 {0x00,0x03,0x10,0x0b,0x00,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000794 {0xa, "MIDI port",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000795 {0x30,0x60,0x61,0x70,0xf0,EOT},
796 {0x00,0x03,0x00,0x0a,0x00,EOT}},
797 {EOT}}},
Uwe Hermann44bb7772007-10-07 21:50:29 +0000798 {0x8710, "IT8710F", { /* TODO: Not yet in sensors-detect */
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000799 {EOT}}},
Uwe Hermannebb73f22008-11-12 19:08:58 +0000800 {0x8711, "IT8711F", { /* 0x8711 is a guess, not found in datasheet. */
801 {EOT}}},
Uwe Hermann07024692007-09-20 22:13:48 +0000802 {0x8712, "IT8712F", {
Uwe Hermann2c290e32007-09-20 00:00:49 +0000803 {NOLDN, NULL,
Uwe Hermannb0ae9762008-10-14 16:34:38 +0000804 {0x20,0x21,0x22,0x23,0x24,0x2b,EOT},
805 {0x87,0x12,0x08,0x00,0x00,0x00,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000806 {0x0, "Floppy",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000807 {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,EOT},
808 {0x00,0x03,0xf0,0x06,0x02,0x00,0x00,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000809 {0x1, "COM1",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000810 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,0xf3,EOT},
811 {0x00,0x03,0xf8,0x04,0x00,0x50,0x00,0x7f,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000812 {0x2, "COM2",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000813 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,0xf3,EOT},
814 {0x00,0x02,0xf8,0x03,0x00,0x50,0x00,0x7f,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000815 {0x3, "Parallel port",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000816 {0x30,0x60,0x61,0x62,0x63,0x70,0x74,0xf0,EOT},
817 {0x00,0x03,0x78,0x07,0x78,0x07,0x03,0x03,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000818 {0x4, "Environment controller",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000819 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3,
820 0xf4,0xf5,0xf6,EOT},
821 {0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,0x00,
822 0x00,NANA,NANA,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000823 {0x5, "Keyboard",
824 /* TODO: 0xf0: Error in datasheet? */
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000825 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
826 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x08,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000827 {0x6, "Mouse",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000828 {0x30,0x70,0x71,0xf0,EOT},
829 {0x00,0x0c,0x02,0x00,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000830 {0x7, "GPIO", /* TODO: 0x72, 0x73: Errors in datasheet? */
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000831 {0x25,0x26,0x27,0x28,0x29,0x2a,0x2c,0x60,0x61,0x62,
832 0x63,0x64,0x65,0x70,0x71,0x72,0x73,0x74,0xb0,0xb1,
833 0xb2,0xb3,0xb4,0xb5,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,
834 0xc0,0xc1,0xc2,0xc3,0xc4,0xc8,0xc9,0xca,0xcb,0xcc,
835 0xe0,0xe1,0xe2,0xe3,0xe4,0xf0,0xf1,0xf2,0xf3,0xf4,
836 0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,EOT},
837 {0x01,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
Uwe Hermann07024692007-09-20 22:13:48 +0000838 0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000839 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
840 0x01,0x00,0x00,0x40,0x00,0x01,0x00,0x00,0x40,0x00,
841 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
842 0x00,0x00,0x00,0x00,0x00,0x00,0x00,NANA,0x00,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000843 {0x8, "MIDI port",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000844 {0x30,0x60,0x61,0x70,0xf0,EOT},
845 {0x00,0x03,0x00,0x0a,0x00,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000846 {0x9, "Game port",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000847 {0x30,0x60,0x61,EOT},
848 {0x00,0x02,0x01,EOT}},
Uwe Hermann07024692007-09-20 22:13:48 +0000849 {0xa, "Consumer IR",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000850 {0x30,0x60,0x61,0x70,0xf0,EOT},
851 {0x00,0x03,0x10,0x0b,0x00,EOT}},
852 {EOT}}},
Uwe Hermann07024692007-09-20 22:13:48 +0000853 {0x8716, "IT8716F", {
Uwe Hermann2c290e32007-09-20 00:00:49 +0000854 {NOLDN, NULL,
Uwe Hermannb0ae9762008-10-14 16:34:38 +0000855 {0x20,0x21,0x22,0x23,0x24,0x2b,EOT},
856 {0x87,0x16,0x01,0x00,0x00,0x00,EOT}},
Uwe Hermann11887f22007-12-07 23:55:20 +0000857 {0x0, "Floppy",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000858 {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,EOT},
859 {0x00,0x03,0xf0,0x06,0x02,0x00,0x00,EOT}},
Uwe Hermann11887f22007-12-07 23:55:20 +0000860 {0x1, "COM1",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000861 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,0xf3,EOT},
862 {0x00,0x03,0xf8,0x04,0x00,0x50,0x00,0x7f,EOT}},
Uwe Hermann11887f22007-12-07 23:55:20 +0000863 {0x2, "COM2",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000864 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,0xf3,EOT},
865 {0x00,0x02,0xf8,0x03,0x00,0x50,0x00,0x7f,EOT}},
Uwe Hermann11887f22007-12-07 23:55:20 +0000866 {0x3, "Parallel port",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000867 {0x30,0x60,0x61,0x62,0x63,0x70,0x74,0xf0,EOT},
868 {0x00,0x03,0x78,0x07,0x78,0x07,0x03,0x03,EOT}},
Uwe Hermann11887f22007-12-07 23:55:20 +0000869 {0x4, "Environment controller",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000870 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3,
871 0xf4,0xf5,0xf6,EOT},
872 {0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,0x00,
873 0x00,NANA,NANA,EOT}},
Uwe Hermann11887f22007-12-07 23:55:20 +0000874 {0x5, "Keyboard",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000875 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
876 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x00,EOT}},
Uwe Hermann11887f22007-12-07 23:55:20 +0000877 {0x6, "Mouse",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000878 {0x30,0x70,0x71,0xf0,EOT},
879 {0x00,0x0c,0x02,0x00,EOT}},
Uwe Hermann11887f22007-12-07 23:55:20 +0000880 {0x7, "GPIO",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000881 {0x25,0x26,0x27,0x28,0x29,0x2a,0x2c,0x60,0x61,0x62,
882 0x63,0x64,0x65,0x70,0x71,0x72,0x73,0x74,0xb0,0xb1,
883 0xb2,0xb3,0xb4,0xb5,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,
884 0xc0,0xc1,0xc2,0xc3,0xc4,0xc8,0xc9,0xca,0xcb,0xcc,
885 0xe0,0xe1,0xe2,0xe3,0xe4,0xf0,0xf1,0xf2,0xf3,0xf4,
886 0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,EOT},
887 {0x01,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
888 0x00,0x00,0x00,0x00,0x00,0x20,0x38,0x00,0x00,0x00,
889 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
890 0x01,0x00,0x00,0x40,0x00,0x01,0x00,0x00,0x40,0x00,
891 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
892 0x00,0x00,0x00,0x00,0x00,0x00,0x00,NANA,0x00,EOT}},
Uwe Hermann11887f22007-12-07 23:55:20 +0000893 {0x8, "MIDI port",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000894 {0x30,0x60,0x61,0x70,0xf0,EOT},
895 {0x00,0x03,0x00,0x0a,0x00,EOT}},
Uwe Hermann11887f22007-12-07 23:55:20 +0000896 {0x9, "Game port",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000897 {0x30,0x60,0x61,EOT},
898 {0x00,0x02,0x01,EOT}},
Uwe Hermann11887f22007-12-07 23:55:20 +0000899 {0xa, "Consumer IR",
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000900 {0x30,0x60,0x61,0x70,0xf0,EOT},
901 {0x00,0x03,0x10,0x0b,0x00,EOT}},
902 {EOT}}},
Uwe Hermann07024692007-09-20 22:13:48 +0000903 {0x8718, "IT8718F", {
Uwe Hermann420f6ab2007-09-21 14:48:04 +0000904 {NOLDN, NULL,
Uwe Hermannb0ae9762008-10-14 16:34:38 +0000905 {0x20,0x21,0x22,0x23,0x24,0x2b,EOT},
906 {0x87,0x18,0x01,0x00,0x00,0x00,EOT}},
Uwe Hermann420f6ab2007-09-21 14:48:04 +0000907 {0x0, "Floppy",
908 {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,EOT},
909 {0x00,0x03,0xf0,0x06,0x02,0x00,0x00,EOT}},
910 {0x1, "COM1",
911 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,0xf3,EOT},
912 {0x00,0x03,0xf8,0x04,0x00,0x50,0x00,0x7f,EOT}},
913 {0x2, "COM2",
914 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,0xf3,EOT},
915 {0x00,0x02,0xf8,0x03,0x00,0x50,0x00,0x7f,EOT}},
916 {0x3, "Parallel port",
917 {0x30,0x60,0x61,0x62,0x63,0x70,0x74,0xf0,EOT},
918 {0x00,0x03,0x78,0x07,0x78,0x07,0x03,0x03,EOT}},
919 {0x4, "Environment controller",
920 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3,
921 0xf4,0xf5,0xf6,EOT},
922 {0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,0x00,
923 0x00,NANA,NANA,EOT}},
924 {0x5, "Keyboard",
Josh Profittb9c6b0e2008-10-14 16:28:50 +0000925 /* 0xf0: Datasheet page 33: 0x00; page 56: 0x08. */
Uwe Hermann420f6ab2007-09-21 14:48:04 +0000926 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
927 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x00,EOT}},
928 {0x6, "Mouse",
929 {0x30,0x70,0x71,0xf0,EOT},
930 {0x00,0x0c,0x02,0x00,EOT}},
931 {0x7, "GPIO",
Josh Profittb9c6b0e2008-10-14 16:28:50 +0000932 /* 0x2c: Datasheet page 30: 0x00; page 43: 0x1f. */
Uwe Hermann420f6ab2007-09-21 14:48:04 +0000933 {0x25,0x26,0x27,0x28,0x29,0x2a,0x2c,0x60,0x61,0x62,
934 0x63,0x64,0x65,0x70,0x71,0x72,0x73,0x74,0xb0,0xb1,
935 0xb2,0xb3,0xb4,0xb5,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,
Josh Profittb9c6b0e2008-10-14 16:28:50 +0000936 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc8,0xc9,0xca,0xcb,
937 0xcc,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xf0,
938 0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,
939 0xfb,0xfc,0xfd,0xfe,0xff,EOT},
Uwe Hermann420f6ab2007-09-21 14:48:04 +0000940 {0x01,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
941 0x00,0x00,0x00,0x00,0x00,0x20,0x38,0x00,0x00,0x00,
942 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Josh Profittb9c6b0e2008-10-14 16:28:50 +0000943 0x01,0x00,0x00,0x40,0x00,0x00,0x01,0x00,0x00,0x40,
Uwe Hermann420f6ab2007-09-21 14:48:04 +0000944 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
945 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Josh Profittb9c6b0e2008-10-14 16:28:50 +0000946 0x00,NANA,0x00,0x00,0x00,EOT}},
Uwe Hermann420f6ab2007-09-21 14:48:04 +0000947 {0xa, "Consumer IR",
948 {0x30,0x60,0x61,0x70,0xf0,EOT},
949 {0x00,0x03,0x10,0x0b,0x00,EOT}},
Uwe Hermann0120e1a2007-09-16 18:11:03 +0000950 {EOT}}},
Christian Ruppert7c2eec02011-02-03 16:00:28 +0000951 {0x8720, "IT8720F", {
952 {NOLDN, NULL,
953 {0x20,0x21,0x22,0x23,0x24,0x2b,EOT},
954 {0x87,0x20,0x05,0x00,0x00,0x00,EOT}},
955 {0x0, "Floppy",
956 {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,EOT},
957 {0x00,0x03,0xf0,0x06,0x02,0x00,0x00,EOT}},
958 {0x1, "COM1",
959 {0x30,0x60,0x61,0x70,0xf0,0xf1,EOT},
960 {0x00,0x03,0xf8,0x04,0x00,0x50,EOT}},
961 {0x2, "COM2",
962 {0x30,0x60,0x61,0x70,0xf0,0xf1,EOT},
963 {0x00,0x02,0xf8,0x03,0x00,0x50,EOT}},
964 {0x3, "Parallel port",
965 {0x30,0x60,0x61,0x62,0x63,0x70,0x74,0xf0,EOT},
966 {0x00,0x03,0x78,0x07,0x78,0x07,0x03,0x03,EOT}},
967 {0x4, "Environment controller",
968 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3,
969 0xf4,0xf5,0xf6,EOT},
970 {0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,0x00,
971 0x00,NANA,NANA,EOT}},
972 {0x5, "Keyboard",
973 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
974 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x48,EOT}},
975 {0x6, "Mouse",
976 {0x30,0x70,0x71,0xf0,EOT},
977 {0x00,0x0c,0x02,0x00,EOT}},
978 {0x7, "GPIO",
979 {0x25,0x26,0x27,0x28,0x29,0x2a,0x2c,0x60,0x61,0x62,
980 0x63,0x64,0x65,0x70,0x71,0x72,0x73,0x74,0xb0,0xb1,
981 0xb2,0xb3,0xb4,0xb5,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,
982 0xc0,0xc1,0xc2,0xc3,0xc4,0xc8,0xc9,0xca,0xcb,0xcc,
983 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe9,0xf0,
984 0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,
985 0xfb,0xfc,0xfd,0xfe,0xff,EOT},
986 {0x00,0xff,0x00,0x40,0x00,0x00,0x03,0x00,0x00,0x00,
987 0x00,0x00,0x00,0x00,0x00,NANA,0x38,0x00,0x00,0x00,
988 0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,
989 0x01,0x00,0x00,0x40,0x00,0x01,0x00,0x00,0x40,0x00,
990 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,NANA,0x00,
991 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
992 0x00,NANA,0x00,0x00,0x00,EOT}},
993 {0xa, "Consumer IR",
994 {0x30,0x60,0x61,0x70,0xf0,EOT},
995 {0x00,0x03,0x10,0x0b,0x06,EOT}},
Uwe Hermanncfb6ac72008-10-01 20:16:58 +0000996 {EOT}}},
Uwe Hermannf9bd9ae2011-01-01 22:05:57 +0000997 {0x8721, "IT8721F", {
998 {EOT}}},
Uwe Hermannebb73f22008-11-12 19:08:58 +0000999 {0x8722, "IT8722F", {
1000 {EOT}}},
Uwe Hermann44bb7772007-10-07 21:50:29 +00001001 {0x8726, "IT8726F", {
1002 /* Datasheet wrongly says that the ID is 0x8716. */
Josh Profittb9c6b0e2008-10-14 16:28:50 +00001003 {NOLDN, NULL,
1004 {0x20,0x21,0x22,0x23,0x24,0x2b,EOT},
1005 {0x87,0x26,0x01,0x00,MISC,0x00,EOT}},
1006 {0x0, "Floppy",
1007 {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,EOT},
1008 {0x00,0x03,0xf0,0x06,0x02,0x00,0x00,EOT}},
1009 {0x1, "COM1",
1010 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,0xf3,EOT},
1011 {0x00,0x03,0xf8,0x04,0x00,0x50,0x00,0x7f,EOT}},
1012 {0x2, "COM2",
1013 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,0xf3,EOT},
1014 {0x00,0x02,0xf8,0x03,0x00,0x50,0x00,0x7f,EOT}},
1015 {0x3, "Parallel port",
1016 {0x30,0x60,0x61,0x62,0x63,0x70,0x74,0xf0,EOT},
1017 {0x00,0x03,0x78,0x07,0x78,0x07,0x03,0x03,EOT}},
1018 {0x4, "Environment controller",
1019 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3,
1020 0xf4,0xf5,0xf6,EOT},
1021 {0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,0x00,
1022 0x00,MISC,MISC,EOT}},
1023 {0x5, "Keyboard",
1024 /* 0xf0: Datasheet page 35: 0x00; page 59: 0x08. */
1025 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
1026 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x08,EOT}},
1027 {0x6, "Mouse",
1028 {0x30,0x70,0x71,0xf0,EOT},
1029 {0x00,0x0c,0x02,0x00,EOT}},
1030 {0x7, "GPIO",
1031 /* 0x2c: Datasheet page 33: 0x00; page 45: 0x1f. */
1032 {0x25,0x26,0x27,0x28,0x29,0x2a,0x2c,0x60,0x61,0x62,
1033 0x63,0x64,0x65,0x70,0x71,0x72,0x73,0x74,0xb0,0xb1,
1034 0xb2,0xb3,0xb4,0xb5,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,
1035 0xc0,0xc1,0xc2,0xc3,0xc4,0xc8,0xc9,0xca,0xcb,0xcc,
1036 0xe0,0xe1,0xe2,0xe3,0xe4,0xf0,0xf1,0xf2,0xf3,0xf4,
1037 0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,EOT},
1038 {0x01,0x00,0x00,0x40,0x00,0x00,0x1f,0x00,0x00,0x00,
1039 0x00,0x00,0x00,0x00,0x00,MISC,0x38,0x00,0x00,0x00,
1040 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
1041 0x01,0x00,0x00,0x40,0x00,0x01,0x00,0x00,0x40,0x00,
1042 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
1043 0x00,0x00,0x00,0x00,0x00,0x00,0x00,MISC,0x00,EOT}},
1044 {0x8, "MIDI port",
1045 {0x30,0x60,0x61,0x70,0xf0,EOT},
1046 {0x00,0x03,0x00,0x0a,0x00,EOT}},
1047 {0x9, "Game port",
1048 {0x30,0x60,0x61,EOT},
1049 {0x00,0x02,0x01,EOT}},
1050 {0xa, "Consumer IR",
1051 {0x30,0x60,0x61,0x70,0xf0,EOT},
1052 {0x00,0x03,0x10,0x0b,0x00,EOT}},
Uwe Hermann44bb7772007-10-07 21:50:29 +00001053 {EOT}}},
Андрей Павловab9b71d2013-03-17 19:11:05 +03001054 {0x8728, "IT8728F", {
1055 {NOLDN, NULL,
1056 {0x02,0x07,0x20,0x21,0x22,0x23,0x24,0x2b,0x2e,0x2f,EOT},
1057 {NANA,NANA,0x87,0x28,0x01,0x00,0x00,MISC,0x00,0x00,EOT}},
1058 {0x0, "Floppy",
1059 {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,EOT},
1060 {0x00,0x03,0xf0,0x06,0x02,0x00,0x00,EOT}},
1061 {0x1, "COM1",
1062 {0x30,0x60,0x61,0x70,0xf0,0xf1,EOT},
1063 {0x00,0x03,0xf8,0x04,0x00,0x50,EOT}},
1064 {0x2, "COM2",
1065 {0x30,0x60,0x61,0x70,0xf0,0xf1,EOT},
1066 {0x00,0x02,0xf8,0x03,0x00,0x50,EOT}},
1067 {0x3, "Parallel port",
1068 {0x30,0x60,0x61,0x62,0x63,0x70,0x74,0xf0,EOT},
1069 {0x00,0x03,0x78,0x07,0x78,0x07,0x03,0x03,EOT}},
1070 {0x4, "Environment controller",
1071 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,
1072 0xf3,0xf4,0xf5,0xf6,0xF9,0xFA,0xFB,EOT},
1073 {0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,
1074 0x00,0x00,MISC,MISC,MISC,MISC,MISC,EOT}},
1075 {0x5, "Keyboard",
1076 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
1077 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x48,EOT}},
1078 {0x6, "Mouse",
1079 {0x30,0x70,0x71,0xf0,EOT},
1080 {0x00,0x0c,0x02,0x00,EOT}},
1081 {0x7, "GPIO",
1082 {0x25,0x26,0x27,0x28,0x29,0x2a,0x2c,0x2d,0x60,
1083 0x61,0x62,0x63,0x64,0x65,0x70,0x71,0x72,0x73,
1084 0x74,0xb0,0xb1,0xb2,0xb3,0xb4,0xb8,0xb9,0xba,
1085 0xbb,0xbc,0xbd,0xc0,0xc1,0xc2,0xc3,0xc4,0xc8,
1086 0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xe0,0xe1,
1087 0xe2,0xe3,0xe4,0xe9,0xf0,0xf1,0xf2,0xf3,0xf4,
1088 0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,EOT},
1089 {0x00,0xf3,0x00,0x00,0x00,0x00,0x03,0x00,0x00,
1090 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x38,
1091 0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,
1092 0x00,0x00,0x00,0x01,0x00,0x00,0x40,0x00,0x01,
1093 0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
1094 0x00,0x00,0x00,MISC,0x00,0x00,0x00,0x00,0x00,
1095 0x00,0x00,0x00,0x00,0x00,0x00,0x00,EOT}},
1096 {0xa, "Consumer IR",
1097 {0x30,0x60,0x61,0x70,0xf0,EOT},
1098 {0x00,0x03,0x10,0x0b,0x06,EOT}},
1099 {EOT}}},
Uwe Hermannebb73f22008-11-12 19:08:58 +00001100 {0x8761, "IT8761E", {
1101 {EOT}}},
Stefan Reinauerd7a75ec2011-10-25 17:12:53 +00001102 {0x8772, "IT8772F", {
Angel Ponsd8eadff2018-12-14 19:24:44 +01001103 {NOLDN, NULL,
1104 {0x20,0x21,0x22,0x23,0x24,0x2e,0x2f,EOT},
1105 {0x87,0x72,0x02,0x00,0x00,0x00,0x00,EOT}},
1106 {0x1, "COM1",
1107 {0x30,0x60,0x61,0x70,0xf0,0xf1,EOT},
1108 {0x00,0x03,0xf8,0x04,0x00,0x50,EOT}},
1109 {0x4, "Environment controller",
1110 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,
1111 0xf3,0xf4,0xf5,0xf6,0xf9,0xfa,0xfb,EOT},
1112 {0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,
1113 0x00,0x00,MISC,MISC,MISC,MISC,MISC,EOT}},
1114 {0x5, "Keyboard",
1115 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
1116 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x08,EOT}},
1117 {0x6, "Mouse",
1118 {0x30,0x70,0x71,0xf0,EOT},
1119 {0x00,0x0c,0x02,0x00,EOT}},
1120 {0x7, "GPIO",
1121 {0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c, /* 25 .. 2c */
1122 0x60,0x61,0x62,0x63, /* 60 .. 64 */
1123 0x70,0x71,0x72,0x73,0x74, /* 70 .. 74 */
1124 0xb0,0xb1,0xb2,0xb3,0xb4, /* b0 .. b4 */
1125 0xb8,0xb9,0xba,0xbb,0xbc,0xbd, /* b8 .. bd */
1126 0xc0,0xc1,0xc2,0xc3,0xc4, /* c0 .. c4 */
1127 0xc8,0xc9,0xca,0xcb,0xcc,0xcd, /* c8 .. cd */
1128 0xe0,0xe1,0xe2,0xe3,0xe4,0xe9, /* e0 .. e9 */
1129 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5, /* f0 .. f5 */
1130 0xf6,0xf7,0xf8,0xf9,0xfa,0xfb, /* f6 .. fb */
1131 EOT},
1132 {0x00,0xf3,0x00,0x00,0x00,0x00,MISC,0x01, /* 25 .. 2c */
1133 0x00,0x00,0x00,0x00, /* 60 .. 64 */
1134 0x00,0x00,0x20,0x38,0x00, /* 70 .. 74 */
1135 0x00,0x00,0x00,0x00,0x00, /* b0 .. b4 */
1136 0x20,0x00,0x00,0x00,0x00,0x00, /* b8 .. bd */
1137 0x01,0x00,0x00,0x40,0x00, /* c0 .. c4 */
1138 0x01,0x00,0x00,0x00,0x00,0x00, /* c8 .. cd */
1139 0x00,0x00,0x00,0x00,0x00,MISC, /* e0 .. e9 */
1140 0x00,0x00,0x00,0x00,0x00,0x00, /* f0 .. f6 */
1141 0x00,0x00,0x00,0x00,0x00,0x00, /* f6 .. fb */
1142 EOT}},
1143 {0xa, "Consumer IR",
1144 {0x30,0x60,0x61,0x70,0xf0,EOT},
1145 {0x00,0x03,0x10,0x0b,0x06,EOT}},
Stefan Reinauerd7a75ec2011-10-25 17:12:53 +00001146 {EOT}}},
Uwe Hermannebb73f22008-11-12 19:08:58 +00001147 {0x8780, "IT8780F", {
1148 {EOT}}},
Nico Hubere35a3742016-09-29 12:22:30 +02001149 {0x8783, "IT8783E/F", {
1150 {NOLDN, NULL,
1151 {0x02,0x07,0x20,0x21,0x22,0x23,0x24,0x25,0x26,
1152 0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
1153 EOT},
1154 {NANA,NANA,0x87,0x83,0x00,0x00,MISC,0x00,0x00,
1155 0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
1156 EOT}},
1157 {0x0, "Floppy",
1158 {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,EOT},
1159 {0x00,0x03,0xf0,0x06,0x02,0x00,0x00,EOT}},
1160 {0x1, "COM1",
1161 {0x30,0x60,0x61,0x70,0xf0,EOT},
1162 {0x00,0x03,0xf8,0x04,0x00,EOT}},
1163 {0x2, "COM2",
1164 {0x30,0x60,0x61,0x70,0xf0,EOT},
1165 {0x00,0x02,0xf8,0x03,0x00,EOT}},
1166 {0x3, "Parallel port",
1167 {0x30,0x60,0x61,0x62,0x63,0x70,0x74,0xf0,EOT},
1168 {0x00,0x03,0x78,0x07,0x78,0x07,0x03,0x03,EOT}},
1169 {0x4, "Environment controller",
1170 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,
1171 0xf3,0xf4,0xf5,0xf6,0xf7,EOT},
1172 {0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,
1173 0x00,0x00,MISC,MISC,MISC,EOT}},
1174 {0x5, "Keyboard",
1175 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
1176 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x08,EOT}},
1177 {0x6, "Mouse",
1178 {0x30,0x70,0x71,0xf0,EOT},
1179 {0x00,0x0c,0x02,0x00,EOT}},
1180 {0x7, "GPIO",
1181 {0x60,0x61,0x62,0x63,0x64,0x65,0x70,0x71,0x72,
1182 0x73,0x74,0x81,0x82,0x83,0x84,0x91,0x92,0x93,
1183 0x94,0xb0,0xb1,0xb2,0xb3,0xb4,0xb8,0xb9,0xba,
1184 0xbb,0xbc,0xc0,0xc1,0xc2,0xc3,0xc4,0xc8,0xc9,
1185 0xca,0xcb,0xcc,0xcd,0xe0,0xe1,0xe2,0xe3,0xe4,
1186 0xef,0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,
1187 0xf8,0xf9,0xfa,0xfb,EOT},
1188 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,MISC,
1189 0x38,0x00,0x00,MISC,0x38,0x00,0x00,MISC,0x38,
1190 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
1191 0x00,0x00,0x01,0x00,0x00,0x40,0x00,0x01,0x00,
1192 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
1193 MISC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
1194 0x00,0x00,0x00,0x00,EOT}},
1195 {0x8, "COM3",
1196 {0x30,0x60,0x61,0x70,0xf0,EOT},
1197 {0x00,0x03,0xf8,0x04,0x00,EOT}},
1198 {0x9, "COM4",
1199 {0x30,0x60,0x61,0x70,0xf0,EOT},
1200 {0x00,0x02,0xf8,0x03,0x00,EOT}},
1201 {0xa, "COM5",
1202 {0x30,0x60,0x61,0x70,0xf0,EOT},
1203 {0x00,0x03,0xf8,0x04,0x00,EOT}},
1204 {0xb, "COM6",
1205 {0x30,0x60,0x61,0x70,0xf0,EOT},
1206 {0x00,0x02,0xf8,0x03,0x00,EOT}},
1207 {0xc, "Consumer IR",
1208 {0x30,0x60,0x61,0x70,0xf0,EOT},
1209 {0x00,0x03,0x10,0x0b,0x06,EOT}},
1210 {EOT}}},
Michał Żygowski8c1154dc2023-04-03 12:10:20 +02001211 {0x8784, "IT8784E-I", {
1212 {NOLDN, NULL,
1213 {0x02,0x07,0x20,0x21,0x22,0x23,0x24,0x25,0x26,
1214 0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
1215 EOT},
1216 {NANA,NANA,0x87,0x86,MISC,0x40,RSVD,0x00,0xf3,
1217 0x00,0x00,0x00,0x00,0x48,0x89,0x00,0x00,0x00,
1218 EOT}},
1219 {0x1, "COM1",
1220 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,EOT},
1221 {0x00,0x03,0xf8,0x04,0x00,0x50,0x00,EOT}},
1222 {0x2, "COM2",
1223 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,EOT},
1224 {0x00,0x02,0xf8,0x03,0x00,0x50,0x00,EOT}},
1225 {0x3, "Parallel port",
1226 {0x30,0x60,0x61,0x62,0x63,0x70,0x74,0xf0,EOT},
1227 {0x00,0x03,0x78,0x07,0x78,0x07,0x03,0x03,EOT}},
1228 {0x4, "Environment controller",
1229 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,
1230 0xf3,0xf4,0xf5,0xf6,0xfa,0xfb,0xfd,EOT},
1231 {0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,
1232 0x00,0x00,MISC,MISC,MISC,MISC,MISC,EOT}},
1233 {0x5, "Keyboard",
1234 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
1235 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x48,EOT}},
1236 {0x6, "Mouse",
1237 {0x30,0x70,0x71,0xf0,EOT},
1238 {0x00,0x0c,0x02,0x00,EOT}},
1239 {0x7, "GPIO",
1240 {0x60,0x61,0x62,0x63,0x70,0x71,0x72,0x73,0x74,0xb0,
1241 0xb1,0xb2,0xb3,0xb4,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,
1242 0xc0,0xc1,0xc2,0xc3,0xc4,0xc8,0xc9,0xca,0xcb,0xcc,
1243 0xcd,0xce,0xcf,0xd1,0xd2,0xd3,0xd4,0xd6,0xd7,0xd8,
1244 0xd9,0xe0,0xe1,0xe2,0xe3,0xe4,0xe7,0xf0,0xf1,0xf2,
1245 0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,EOT},
1246 {0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x38,0x00,0x00,
1247 0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,
1248 0x01,0x00,0x00,0x40,0x00,0x01,0x00,0x00,0x40,0x00,
1249 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
1250 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
1251 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,EOT}},
1252 {0xa, "Consumer IR",
1253 {0x30,0x60,0x61,0x70,0xf0,EOT},
1254 {0x00,0x03,0x10,0x0b,0x06,EOT}},
1255 {EOT}}},
Kyösti Mälkki031dc672018-06-04 11:16:13 +03001256 {0x8786, "IT8786E-I", {
1257 {NOLDN, NULL,
1258 {0x02,0x07,0x20,0x21,0x22,0x23,0x24,0x25,0x26,
1259 0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
1260 EOT},
1261 {NANA,NANA,0x87,0x86,0x03,0x40,RSVD,0x00,0xf3,
1262 0x00,0x00,0x00,0x00,0x48,0x89,0x00,0x00,0x00,
1263 EOT}},
1264 {0x1, "COM1",
1265 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,EOT},
1266 {0x00,0x03,0xf8,0x04,0x00,0x50,0x00,EOT}},
1267 {0x2, "COM2",
1268 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,EOT},
1269 {0x00,0x02,0xf8,0x03,0x00,0x50,0x00,EOT}},
1270 {0x3, "Parallel port",
1271 {0x30,0x60,0x61,0x62,0x63,0x70,0x74,0xf0,EOT},
1272 {0x00,0x03,0x78,0x07,0x78,0x07,0x03,0x03,EOT}},
1273 {0x4, "Environment controller",
1274 {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,
1275 0xf3,0xf4,0xf5,0xf6,0xfa,0xfb,0xfc,EOT},
1276 {0x00,0x02,0x90,0x02,0x30,0x09,0x00,0x00,0x00,
1277 0x00,0x00,MISC,MISC,MISC,MISC,MISC,EOT}},
1278 {0x5, "Keyboard",
1279 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,EOT},
1280 {0x01,0x00,0x60,0x00,0x64,0x01,0x02,0x48,EOT}},
1281 {0x6, "Mouse",
1282 {0x30,0x70,0x71,0xf0,EOT},
1283 {0x00,0x0c,0x02,0x00,EOT}},
1284 {0x7, "GPIO",
1285 {0x60,0x61,0x62,0x63,0x70,0x71,0x72,0x73,0x74,0xb0,
1286 0xb1,0xb2,0xb3,0xb4,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,
1287 0xc0,0xc1,0xc2,0xc3,0xc4,0xc8,0xc9,0xca,0xcb,0xcc,
1288 0xcd,0xce,0xcf,0xd1,0xd2,0xd3,0xd4,0xd6,0xd7,0xd8,
1289 0xd9,0xe0,0xe1,0xe2,0xe3,0xe4,0xf0,0xf1,0xf2,0xf3,
1290 0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,EOT},
1291 {0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x38,0x00,0x00,
1292 0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,
1293 0x01,0x00,0x00,0x40,0x00,0x01,0x00,0x00,0x40,0x00,
1294 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
1295 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
1296 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,EOT}},
1297 {0x8, "COM3",
1298 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,EOT},
1299 {0x00,0x03,0xf8,0x0b,0x00,0x50,0x00,EOT}},
1300 {0x9, "COM4",
1301 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,EOT},
1302 {0x00,0x02,0xf8,0x0a,0x00,0x50,0x00,EOT}},
1303 {0xa, "Consumer IR",
1304 {0x30,0x60,0x61,0x70,0xf0,EOT},
1305 {0x00,0x03,0x10,0x0b,0x06,EOT}},
1306 {0xb, "COM5",
1307 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,EOT},
1308 {0x00,0x03,0xf8,0x04,0x00,0x50,0x00,EOT}},
1309 {0xc, "COM6",
1310 {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,EOT},
1311 {0x00,0x02,0xf8,0x03,0x00,0x50,0x00,EOT}},
1312 {EOT}}},
Matt Parnell063b1622019-08-15 22:32:21 -05001313 {0x8987, "IT8987", { /* global registers 0x24, 0x27, 0x28, 0x29, 0x2a, 0x2b are reserved */
1314 {NOLDN, "Chip ID",
1315 {0x20,0x21, EOT},
1316 {0x89,0x87, EOT}},
1317 {NOLDN, "Chip Version",
1318 {0x22,EOT},
1319 {0x03,EOT}},
1320 {NOLDN, "Super I/O Control Register (SIOCTRL)",
1321 {0x23,EOT},
1322 {0x01,EOT}},
1323 {NOLDN, "Super I/O Configuration Register (SIOIRQ)",
1324 {0x25,EOT},
1325 {0x00,EOT}},
1326 {NOLDN, "Super I/O General Purpose Register (SIOGP)",
1327 {0x26,EOT},
1328 {0x00,EOT}},
1329 {NOLDN, "Super I/O Power Mode Register (SIOPWR)",
1330 {0x2d,EOT},
1331 {0x00,EOT}},
1332 {NOLDN, "Depth 2 I/O Address (D2ADR)",
1333 {0x2e,EOT},
1334 {0x00,EOT}},
1335 {NOLDN, "Depth 2 I/O Data (D2DAT)",
1336 {0x2f,EOT},
1337 {0x00,EOT}},
1338 {0x04, "System Wake-Up Control (SWUC)",
1339 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
1340 {0x00,0x00,0x00,0x00,0x00,0x00,0x01,EOT}},
1341 {0x05, "KBC/Mouse Interface",
1342 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
1343 {0x00,0x00,0x00,0x00,0x00,0x0c,0x01,EOT}},
1344 {0x06, "KBC/Keyboard Interface",
1345 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
1346 {0x00,0x00,0x60,0x00,0x64,0x01,0x01,EOT}},
1347 {0xa, "Consumer IR",
1348 {0x30,0x60,0x61,0x70,0x71,EOT},
1349 {0x00,0x03,0x10,0x00,0x02,EOT}},
1350 {0x0f, "Shared Memory/Flash Interface (SMFI)",
1351 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf4,EOT},
1352 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,NANA,EOT}},
1353 {0x10, "Real Time Clock (RTC)",
1354 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,0xf0,0xf1,0xf2,EOT},
1355 {0x00,0x00,0x70,0x00,0x72,0x08,0x00,0x00,0x49,0x4a,EOT}},
1356 {0x11, "Power Management I/F Channel 1 (PMC1)",
1357 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
1358 {0x00,0x00,0x62,0x00,0x66,0x01,0x01,EOT}},
1359 {0x12, "Power Management I/F Channel 2 (PMC2)",
1360 {0x30,0x60,0x61,0x62,0x63,0x64,0x65,0x70,0x71,0xf0,EOT},
1361 {0x00,0x00,0x68,0x00,0x6c,0x00,0x00,0x01,0x01,NANA,EOT}},
1362 {0x13, "Serial Peripheral Interface (SSPI)",
1363 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
1364 {0x00,0x03,0x00,0x00,0x00,0x00,0x00,EOT}},
1365 {0x14, "Platform Environment Control Interface (PECI)",
1366 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
1367 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,EOT}},
1368 {0x17, "Power Management I/F Channel 3 (PMC3)",
1369 {0x30,0x60,0x61,0x62,0x63,0x70,0x71,EOT},
1370 {0x00,0x00,0x62,0x00,0x66,0x01,0x01,EOT}},
1371 {0x18, "Power Management I/F Channel 4 (PMC4)",
1372 {0x30,0x60,0x61,0x62,0x63,0x64,0x65,0x70,0x71,0xf0,EOT},
1373 {0x00,0x00,0x68,0x00,0x6c,0x00,0x00,0x01,0x01,NANA,EOT}},
1374 {0x19, "Power Management I/F Channel 5 (PMC5)",
1375 {0x30,0x60,0x61,0x62,0x63,0x64,0x65,0x70,0x71,0xf0,EOT},
1376 {0x00,0x00,0x68,0x00,0x6c,0x00,0x00,0x01,0x01,NANA,EOT}},
1377 {EOT}}},
Uwe Hermann0120e1a2007-09-16 18:11:03 +00001378 {EOT}
1379};
1380
Ronald Hoogenboom0be73bb2008-02-25 22:32:41 +00001381static const struct superio_registers ec_table[] = {
Krystian Hebel9e3c3022019-02-26 14:20:52 +01001382 {0x8613, "IT8613E", {
1383 {NOLDN, NULL,
1384 {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
1385 0x0a,0x0b,0x0c,0x0e,0x0f,0x11,0x12,0x13,0x14,0x16,
1386 0x17,0x19,0x1a,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,
1387 0x24,0x25,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,
1388 0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x38,0x39,0x3a,
1389 0x3b,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x50,
1390 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,
1391 0x5b,0x5c,0x5d,0x5e,0x5f,0x68,0x69,0x6a,0x6b,0x6c,
1392 0x6d,0x6e,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x78,
1393 0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x80,0x81,0x82,0x83,
1394 0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,
1395 0x8e,0x8f,0x90,0x91,0x98,0x99,0x9c,0x9d,0x9e,0x9f,
1396 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xb4,0xb5,0xb6,
1397 0xb7,0xb8,0xb9,EOT},
1398 {0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,
1399 0x44,0x00,0x00,MISC,MISC,NANA,NANA,0x00,0x40,0x00,
1400 0x00,MISC,MISC,NANA,NANA,0x00,0x00,MISC,MISC,MISC,
1401 MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,
1402 MISC,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1403 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,0x00,
1404 0x00,0x7f,0x7f,0x7f,0x40,0x00,0x00,0x90,0x00,0x00,
1405 0x12,0x60,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,
1406 0x7f,0x0f,0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x0f,0x7f,
1407 0x7f,0x7f,0x00,0x00,0x7f,0x0f,MISC,MISC,MISC,MISC,
1408 NANA,NANA,NANA,NANA,0x00,0x00,0x00,0x00,0x00,0x00,
1409 0x00,MISC,0x00,0x00,0x00,0x00,0x00,NANA,0x00,NANA,
1410 0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x0f,NANA,NANA,NANA,
1411 NANA,NANA,NANA,EOT}},
1412 {EOT}}},
Michał Kopećbd656b42022-03-26 15:46:54 +01001413 {0x8625, "IT8625E", {
1414 {NOLDN, NULL,
1415 {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
1416 0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,
1417 0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,
1418 0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x28,
1419 0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,
1420 0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,
1421 0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x46,
1422 0x47,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,
1423 0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,0x62,
1424 0x63,0x64,0x65,0x66,0x68,0x69,0x6a,0x6b,0x6c,0x6d,
1425 0x6e,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x78,0x79,
1426 0x7a,0x7b,0x7c,0x7d,0x7e,0x80,0x81,0x82,0x83,0x84,
1427 0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,
1428 0x8f,0x90,0x91,0x92,0x93,0x94,0x98,0x99,0x9c,0x9d,
1429 0x9e,0x9f,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa8,
1430 0xa9,0xaa,0xab,0xac,0xad,0xae,0xb2,0xb3,0xb4,0xb5,
1431 0xb6,0xb7,0xb8,0xb9,EOT},
1432 {0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
1433 0x44,0x00,0x00,NANA,NANA,NANA,NANA,NANA,NANA,0x00,
1434 0x40,0x00,0x00,0x00,NANA,NANA,NANA,NANA,NANA,NANA,
1435 0x00,0x00,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1436 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1437 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1438 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1439 NANA,0x00,0x00,0x7f,0x7f,0x7f,0x40,0x00,0x00,0x90,
1440 0x00,0x00,0x12,0x60,0x00,0x00,0x00,0x7f,0x7f,0x7f,
1441 0x00,0x00,0x7f,0x0f,0x7f,0x7f,0x7f,0x00,0x00,0x7f,
1442 0x0f,0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x0f,0x7f,0x7f,
1443 0x7f,0x00,0x00,0x7f,0x0f,NANA,NANA,NANA,NANA,NANA,
1444 NANA,NANA,NANA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
1445 NANA,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,NANA,
1446 0x00,NANA,0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x0f,0x7f,
1447 0x7f,0x7f,0x00,0x00,0x7f,0x0f,NANA,NANA,NANA,NANA,
1448 NANA,NANA,NANA,NANA,EOT}},
1449 {EOT}}},
Michał Żygowskie80b4c7f2024-02-14 12:25:07 +01001450 {0x8659, "IT8659E", {
1451 {NOLDN, NULL,
1452 {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
1453 0x0a,0x0b,0x0c,0x0d,0x0e,0x10,0x11,0x13,0x14,0x15,
1454 0x16,0x18,0x19,0x1b,0x1c,0x20,0x22,0x23,0x27,0x28,
1455 0x29,0x2a,0x2b,0x30,0x31,0x34,0x35,0x36,0x37,0x38,
1456 0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x50,0x51,
1457 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5b,0x5c,
1458 0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x66,
1459 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x88,0x89,0x8a,
1460 0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
1461 0x95,0x96,0x97,0x98,0x99,0x9c,0x9d,0x9e,0x9f,0xc0,
1462 0xc1,0xc2,0xc3,0xc4,EOT},
1463 {0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
1464 0x44,0x0f,0x00,NANA,NANA,NANA,NANA,0x07,0x40,0x00,
1465 0x00,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1466 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1467 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,0x00,0x00,
1468 0x7f,0x7f,0x7f,0x40,0x00,0x00,0x90,0x00,0x12,0x60,
1469 0x00,0x00,0x00,0x7f,0x7f,0x7f,0x80,0x00,0x7f,0x0f,
1470 0x7f,0x7f,0x7f,0x80,0x00,0x7f,0x0f,0x00,0x00,0x00,
1471 0x00,0x00,0x00,0x00,NANA,0xff,0x00,0x00,0x00,0xff,
1472 0x00,0x00,0x00,0x00,0x00,0x00,NANA,0x00,NANA,0x00,
1473 0x00,NANA,NANA,NANA,EOT}},
1474 {EOT}}},
Ronald Hoogenboom0be73bb2008-02-25 22:32:41 +00001475 {0x8716, "IT8716F", {
1476 {NOLDN, NULL,
1477 {0x00,0x04,0x05,0x06,0x07,0x08,0x09,0x0b,0x0c,0x10,
1478 0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x1b,0x1c,0x1d,
1479 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,
1480 0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43,
1481 0x44,0x45,0x48,0x50,0x51,0x52,0x53,0x54,0x56,0x57,
Uwe Hermann8cb24582008-05-08 13:50:23 +00001482 0x59,0x5c,
1483 0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x68,
1484 0x69,0x6a,0x6b,0x6c,0x6d,0x70,0x71,0x72,0x73,0x74,
1485 0x75,0x84,0x85,0x86,0x87,0x88,0x89,0x8c,0x8d,0x8e,
1486 0x8f,0x90,0x91,0x92,0x93,0x94,0x95,0x98,0x99,0x9a,
1487 0x9b,0x9c,0x9d,EOT},
Ronald Hoogenboom0be73bb2008-02-25 22:32:41 +00001488 {0x18,0x00,0x00,0x00,0x00,0x00,0x80,0x09,0x00,NANA,
1489 NANA,NANA,0x07,0x50,NANA,NANA,NANA,NANA,NANA,NANA,
1490 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1491 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1492 NANA,NANA,RSVD,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,
Uwe Hermann8cb24582008-05-08 13:50:23 +00001493 0x00,0x00,
1494 0x00,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x7f,
Ronald Hoogenboom0be73bb2008-02-25 22:32:41 +00001495 0x7f,0x7f,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,
1496 0x7f,NANA,NANA,NANA,NANA,0x00,0x00,0x02,0x00,0x99,
1497 0x99,0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x7f,0x7f,0x7f,
1498 0x00,0x00,0x7f,EOT}},
1499 {EOT}}},
Uwe Hermannbbd337e2008-05-08 14:37:12 +00001500 {0x8718, "IT8718F", {
1501 {NOLDN, NULL,
1502 {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
1503 0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,
1504 0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,
1505 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,
1506 0x2a,0x2b,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
1507 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,
1508 0x42,0x43,0x44,0x45,0x50,0x51,0x52,0x53,0x54,0x56,
1509 0x57,0x58,0x59,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,
1510 0x62,0x63,0x64,0x65,0x68,0x69,0x6a,0x6b,0x6c,0x6d,
1511 0x70,0x71,0x72,0x73,0x74,0x75,0x80,0x81,0x82,0x83,
1512 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,
1513 0x92,0x94,0x95,0x96,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,
1514 0xa6,EOT},
1515 {0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
1516 0x40,0x09,0x00,NANA,NANA,NANA,NANA,NANA,NANA,0x07,
1517 0x50,MISC,MISC,MISC,NANA,NANA,NANA,NANA,NANA,NANA,
1518 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1519 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1520 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1521 NANA,NANA,NANA,NANA,0x00,0x00,0x7f,0x7f,0x7f,0x00,
1522 0x00,0x90,0x00,0x12,0x00,0x00,0x00,0x00,0x7f,0x7f,
1523 0x7f,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x7f,
1524 0x7f,0x7f,0x7f,0x00,0x00,0x7f,NANA,NANA,NANA,NANA,
1525 0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0xff,0x00,
1526 0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
1527 0x00,EOT}},
1528 {EOT}}},
Michael Büchler5f875e22020-08-02 20:54:23 +02001529 {0x8720, "IT8720F", {
1530 {NOLDN, NULL,
1531 {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
1532 0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,
1533 0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,
1534 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,
1535 0x2a,0x2b,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
1536 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,
1537 0x42,0x43,0x44,0x45,0x50,0x51,0x52,0x53,0x54,0x55,
1538 0x56,0x57,0x58,0x59,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,
1539 0x61,0x62,0x63,0x64,0x65,0x68,0x69,0x6a,0x6b,0x6c,
1540 0x6d,0x70,0x71,0x72,0x73,0x74,0x75,0x80,0x81,0x82,
1541 0x83,0x84,0x85,0x86,0x87,
1542 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,
1543 0x92,0x94,0x95,0x96,EOT},
1544 {0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
1545 0x58,0x09,0x00,NANA,NANA,NANA,NANA,NANA,NANA,0x07,
1546 0x50,MISC,MISC,MISC,NANA,NANA,NANA,NANA,NANA,NANA,
1547 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1548 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1549 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1550 NANA,NANA,NANA,NANA,0x00,0x00,0x7f,0x7f,0x7f,0x50,
1551 0x00,0x00,0x90,0x00,0x12,0x60,0x00,0x00,0x00,0x7f,
1552 0x7f,0x7f,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,
1553 0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x7f,NANA,NANA,NANA,
1554 NANA,NANA,NANA,NANA,NANA,
1555 0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0xff,0x00,
1556 0x00,0xff,0x00,0x00,EOT}},
1557 {EOT}}},
Matt DeVillierceeeadb82020-08-12 10:41:19 -05001558 {0x8728, "IT8728F", {
1559 {NOLDN, NULL,
1560 {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
1561 0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,
1562 0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,
1563 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x28,0x29,0x2a,
1564 0x2b,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,
1565 0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,
1566 0x43,0x44,0x45,0x50,0x51,0x52,0x53,0x54,0x55,0x56,
1567 0x57,0x58,0x59,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,
1568 0x62,0x63,0x64,0x65,0x66,0x68,0x69,0x6a,0x6b,0x6c,
1569 0x6d,0x6e,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x80,
1570 0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,
1571 0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x94,0x95,
1572 0x96,0x98,0x99,0x9c,0x9d,0x9e,0x9f,EOT},
1573 {0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
1574 0x58,0x0f,0x00,MISC,MISC,MISC,MISC,MISC,MISC,0x07,
1575 0x40,0x00,0x00,0x00,NANA,NANA,NANA,MISC,MISC,MISC,
1576 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1577 NANA,MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,
1578 MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,
1579 MISC,MISC,MISC,0x00,0x00,0x7f,0x7f,0x7f,0x40,0x00,
1580 0x00,0x90,0x00,0x12,0x60,0x00,0x00,0x00,0x7f,0x7f,
1581 0x7f,0x00,0x00,0x7f,0x0f,0x7f,0x7f,0x7f,0x00,0x00,
1582 0x7f,0x0f,0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x0f,NANA,
1583 NANA,NANA,NANA,MISC,MISC,MISC,MISC,0x00,0x00,0x00,
1584 0x00,0x00,0x00,0x00,NANA,0xff,0x00,0x00,0xff,0x00,
1585 0x00,0x00,0x00,0x00,MISC,0x00,MISC,EOT}},
1586 {EOT}}},
Nico Hubere35a3742016-09-29 12:22:30 +02001587 {0x8783, "IT8783E/F", {
1588 {NOLDN, NULL,
1589 {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
1590 0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,
1591 0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,
1592 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,
Nico Huber25445dc2016-09-29 12:22:30 +02001593 0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,
1594 0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,
1595 0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
1596 0x48,0x49,0x4a,0x4b,0x50,0x51,0x52,0x53,0x54,0x55,
1597 0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
1598 0x60,0x61,0x62,0x63,0x64,0x65,0x68,0x69,0x6a,0x6b,
1599 0x6c,0x6d,0x70,0x71,0x72,0x73,0x74,0x75,0x88,0x89,
1600 0x8a,0x8b,0x8c,0x8d,0x8e,EOT},
Nico Hubere35a3742016-09-29 12:22:30 +02001601 {0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
1602 0x54,0x09,0x00,NANA,NANA,NANA,MISC,MISC,MISC,0x07,
1603 0x50,MISC,MISC,MISC,NANA,NANA,NANA,MISC,MISC,MISC,
1604 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
Nico Huber25445dc2016-09-29 12:22:30 +02001605 NANA,NANA,NANA,NANA,NANA,NANA,MISC,MISC,MISC,MISC,
Nico Hubere35a3742016-09-29 12:22:30 +02001606 MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,
Nico Huber25445dc2016-09-29 12:22:30 +02001607 MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,0x5f,0x74,
1608 0x2d,0x40,0xab,0x22,0x00,0x00,0x7f,0x7f,0x7f,0x50,
1609 0x00,0x00,0x90,0x00,MISC,0x12,0x60,0x00,0x00,0x00,
1610 0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,
1611 0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x7f,MISC,0x00,
1612 0x00,0x00,0x00,MISC,0x02,EOT}},
Nico Hubere35a3742016-09-29 12:22:30 +02001613 {EOT}}},
Michał Żygowski8c1154dc2023-04-03 12:10:20 +02001614 {0x8784, "IT8784E-I", {
1615 {NOLDN, NULL,
1616 {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
1617 0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,
1618 0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,
1619 0x20,0x21,0x22,0x23,0x24,0x27,0x28,0x29,0x2a,0x2b,
1620 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,
1621 0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x50,0x51,
1622 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5b,0x5c,
1623 0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x66,
1624 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x70,0x71,0x72,
1625 0x73,0x74,0x75,0x76,0x80,0x81,0x82,0x83,0x84,0x85,
1626 0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
1627 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,
1628 0x9c,0x9d,0x9e,0x9f,0xc0,0xc1,0xc2,0xc3,0xc4,EOT},
1629 {0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,
1630 0x44,0x0F,0x00,NANA,NANA,NANA,MISC,MISC,MISC,0x07,
1631 0x40,0x00,0x00,0x00,NANA,NANA,NANA,MISC,MISC,MISC,
1632 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1633 MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,
1634 MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,0x00,0x00,
1635 0x7f,0x7f,0x7f,0x40,0x00,0x00,0x90,0x00,0x12,0x60,
1636 0x00,0x00,0x00,0x7f,0x7f,0x7f,0x80,0x00,0x7f,0x0f,
1637 0x7f,0x7f,0x7f,0x80,0x00,0x7f,0x0f,0x7f,0x7f,0x7f,
1638 0x80,0x00,0x7f,0x0f,NANA,NANA,NANA,NANA,MISC,MISC
1639 MISC,MISC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,NANA,
1640 0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,MISC,0x00,
1641 0x00,MISC,0x00,MISC,0x00,0x00,MISC,MISC,MISC,EOT}},
1642 {EOT}}},
Kyösti Mälkki031dc672018-06-04 11:16:13 +03001643 {0x8786, "IT8786E-I", {
1644 {NOLDN, NULL,
1645 {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
1646 0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,
1647 0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,
1648 0x20,0x21,0x22,0x23,0x24,0x27,0x28,0x29,0x2a,0x2b,
1649 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,
1650 0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x50,0x51,
1651 0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5b,0x5c,
1652 0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x66,
1653 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x70,0x71,0x72,
1654 0x73,0x74,0x75,0x76,0x80,0x81,0x82,0x83,0x84,0x85,
1655 0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
1656 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,
1657 0x9c,0x9d,0x9e,0x9f,EOT},
1658 {0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,
1659 0x44,0x0F,0x00,NANA,NANA,NANA,MISC,MISC,MISC,0x07,
1660 0x40,0x00,0x00,0x00,NANA,NANA,NANA,MISC,MISC,MISC,
1661 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1662 MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,
1663 MISC,MISC,MISC,MISC,MISC,MISC,MISC,MISC,0x00,0x00,
1664 0x7f,0x7f,0x7f,0x40,0x00,0x00,0x90,0x00,0x12,0x60,
1665 0x00,0x00,0x00,0x7f,0x7f,0x7f,0x80,0x00,0x7f,0x0f,
1666 0x7f,0x7f,0x7f,0x80,0x00,0x7f,0x0f,0x7f,0x7f,0x7f,
1667 0x80,0x00,0x7f,0x0f,NANA,NANA,NANA,NANA,MISC,MISC
1668 MISC,MISC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,NANA,
1669 0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,MISC,0x00,
1670 0x00,MISC,0x00,MISC,EOT}},
1671 {EOT}}},
Ronald Hoogenboom0be73bb2008-02-25 22:32:41 +00001672 {EOT}
1673};
1674
Nico Huber28a13242013-04-25 15:10:46 +02001675static const struct superio_registers bram_table[] = {
1676 {0x8516, "IT8516???", {
1677 {NOLDN, NULL,
1678 {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
1679 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,EOT},
1680 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1681 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1682 {NOLDN, NULL,
1683 {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
1684 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,EOT},
1685 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1686 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1687 {NOLDN, NULL,
1688 {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
1689 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,EOT},
1690 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1691 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1692 {NOLDN, NULL,
1693 {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
1694 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,EOT},
1695 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1696 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1697 {NOLDN, NULL,
1698 {0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
1699 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,EOT},
1700 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1701 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1702 {NOLDN, NULL,
1703 {0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
1704 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,EOT},
1705 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1706 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1707 {NOLDN, NULL,
1708 {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
1709 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,EOT},
1710 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1711 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1712 {NOLDN, NULL,
1713 {0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
1714 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,EOT},
1715 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1716 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1717 {NOLDN, NULL,
1718 {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
1719 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,EOT},
1720 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1721 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1722 {NOLDN, NULL,
1723 {0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
1724 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,EOT},
1725 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1726 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1727 {NOLDN, NULL,
1728 {0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
1729 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,EOT},
1730 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1731 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1732 {NOLDN, NULL,
1733 {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
1734 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,EOT},
1735 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1736 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1737 {NOLDN, NULL,
1738 {0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
1739 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,EOT},
1740 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1741 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1742 {EOT}}},
Matt Parnell063b1622019-08-15 22:32:21 -05001743{0x8987, "IT8987", {
1744 {NOLDN, NULL,
1745 {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
1746 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,EOT},
1747 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1748 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1749 {NOLDN, NULL,
1750 {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
1751 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,EOT},
1752 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1753 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1754 {NOLDN, NULL,
1755 {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
1756 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,EOT},
1757 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1758 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1759 {NOLDN, NULL,
1760 {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
1761 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,EOT},
1762 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1763 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1764 {NOLDN, NULL,
1765 {0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
1766 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,EOT},
1767 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1768 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1769 {NOLDN, NULL,
1770 {0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
1771 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,EOT},
1772 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1773 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1774 {NOLDN, NULL,
1775 {0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
1776 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,EOT},
1777 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1778 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1779 {NOLDN, NULL,
1780 {0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
1781 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,EOT},
1782 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1783 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1784 {NOLDN, NULL,
1785 {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
1786 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,EOT},
1787 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1788 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1789 {NOLDN, NULL,
1790 {0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
1791 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,EOT},
1792 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1793 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1794 {NOLDN, NULL,
1795 {0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,
1796 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,EOT},
1797 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1798 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1799 {NOLDN, NULL,
1800 {0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,
1801 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,EOT},
1802 {NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,
1803 NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,EOT}},
1804 {EOT}}},
Nico Huber28a13242013-04-25 15:10:46 +02001805 {EOT}
1806};
1807
Urja Rannikko38204a22008-10-23 23:33:18 +00001808/* Works for: IT8661F/IT8770F */
1809static const uint8_t initkey_it8661f[][4] = {
1810 {0x86, 0x61, 0x55, 0x55}, /* 0x3f0 */
1811 {0x86, 0x61, 0x55, 0xaa}, /* 0x3bd */
1812 {0x86, 0x61, 0xaa, 0x55}, /* 0x370 */
1813};
1814
1815/* Works for: IT8671F/IT8687R, IT8673F */
1816static const uint8_t initkey_it8671f[][4] = {
1817 {0x86, 0x80, 0x55, 0x55}, /* 0x3f0 */
1818 {0x86, 0x80, 0x55, 0xaa}, /* 0x3bd */
1819 {0x86, 0x80, 0xaa, 0x55}, /* 0x370 */
1820};
1821
1822/* Works for: IT8661F/IT8770F, IT8671F/IT8687R, IT8673F. */
1823static const uint8_t initkey_mbpnp[] = {
1824 0x6a, 0xb5, 0xda, 0xed, 0xf6, 0xfb, 0x7d, 0xbe, 0xdf, 0x6f, 0x37,
1825 0x1b, 0x0d, 0x86, 0xc3, 0x61, 0xb0, 0x58, 0x2c, 0x16, 0x8b, 0x45,
1826 0xa2, 0xd1, 0xe8, 0x74, 0x3a, 0x9d, 0xce, 0xe7, 0x73, 0x39,
1827};
1828
1829/* Works for: IT8661F/IT8770F, IT8671F/IT8687R, IT8673F. */
1830static void enter_conf_mode_ite_legacy(uint16_t port, const uint8_t init[][4])
1831{
1832 int i, idx;
1833
1834 /* Determine Super I/O config port. */
1835 idx = (port == 0x3f0) ? 0 : ((port == 0x3bd) ? 1 : 2);
1836 for (i = 0; i < 4; i++)
Andriy Gaponb64aa602008-10-28 22:13:38 +00001837 OUTB(init[idx][i], ISA_PNP_ADDR);
Urja Rannikko38204a22008-10-23 23:33:18 +00001838
1839 /* Sequentially write the 32 MB PnP init values. */
1840 for (i = 0; i < 32; i++)
Andriy Gaponb64aa602008-10-28 22:13:38 +00001841 OUTB(initkey_mbpnp[i], port);
Urja Rannikko38204a22008-10-23 23:33:18 +00001842}
1843
Uwe Hermann3acf31e2007-09-19 01:55:35 +00001844static void enter_conf_mode_ite(uint16_t port)
Uwe Hermann0120e1a2007-09-16 18:11:03 +00001845{
Andriy Gaponb64aa602008-10-28 22:13:38 +00001846 OUTB(0x87, port);
1847 OUTB(0x01, port);
1848 OUTB(0x55, port);
1849 OUTB((port == 0x2e) ? 0x55 : 0xaa, port);
Uwe Hermann25a6c0f2007-09-19 00:48:42 +00001850}
1851
Anton Kochkov106f7ff2010-06-29 21:26:17 +00001852static void enter_conf_mode_ite_it8502e(uint16_t port)
1853{
1854 OUTB(0x85, port);
1855 OUTB(0x02, port);
1856 OUTB(0x55, port);
1857 OUTB((port == 0x2e) ? 0x55 : 0xaa, port);
1858}
1859
Uwe Hermannebb73f22008-11-12 19:08:58 +00001860static void enter_conf_mode_ite_it8761e(uint16_t port)
1861{
1862 OUTB(0x87, port);
1863 OUTB(0x61, port);
1864 OUTB(0x55, port);
1865 OUTB((port == 0x2e) ? 0x55 : 0xaa, port);
1866}
1867
1868static void enter_conf_mode_ite_it8228e(uint16_t port)
1869{
1870 OUTB(0x82, port);
1871 OUTB(0x28, port);
1872 OUTB(0x55, port);
1873 OUTB((port == 0x2e) ? 0x55 : 0xaa, port);
1874}
1875
Matt Parnell063b1622019-08-15 22:32:21 -05001876static void enter_conf_mode_ite_it8987e(uint16_t port)
1877{
1878 OUTB(0x89, port);
1879 OUTB(0x87, port);
1880 OUTB(0x55, port);
1881 OUTB((port == 0x2e) ? 0x55 : 0xaa, port);
1882}
1883
Uwe Hermann3acf31e2007-09-19 01:55:35 +00001884static void exit_conf_mode_ite(uint16_t port)
Uwe Hermann25a6c0f2007-09-19 00:48:42 +00001885{
1886 regwrite(port, 0x02, 0x02);
1887}
1888
Stefan Reinauerd7ce71d2010-12-30 16:57:58 +00001889static int chip_found_at_port;
1890
Uwe Hermannafe83092007-09-28 15:45:43 +00001891static void probe_idregs_ite_helper(const char *init, uint16_t port)
Uwe Hermann25a6c0f2007-09-19 00:48:42 +00001892{
Uwe Hermanneec5ff42008-03-01 18:49:39 +00001893 uint16_t id, chipver, ecport;
Uwe Hermann25a6c0f2007-09-19 00:48:42 +00001894
Uwe Hermann8b8d0392007-10-04 15:23:38 +00001895 probing_for("ITE", init, port);
1896
Uwe Hermann07024692007-09-20 22:13:48 +00001897 id = regval(port, CHIP_ID_BYTE1_REG) << 8;
1898 id |= regval(port, CHIP_ID_BYTE2_REG);
1899 chipver = regval(port, CHIP_VERSION_REG) & 0x0f; /* Only bits 3..0 */
1900
1901 if (superio_unknown(reg_table, id)) {
Uwe Hermann8b8d0392007-10-04 15:23:38 +00001902 if (verbose)
1903 printf(NOTFOUND "id=0x%04x, rev=0x%01x\n", id, chipver);
Uwe Hermann0120e1a2007-09-16 18:11:03 +00001904 return;
1905 }
1906
Uwe Hermann8b8d0392007-10-04 15:23:38 +00001907 printf("Found ITE %s (id=0x%04x, rev=0x%01x) at 0x%x\n",
Uwe Hermann07024692007-09-20 22:13:48 +00001908 get_superio_name(reg_table, id), id, chipver, port);
Uwe Hermanne9d46162007-10-07 20:01:23 +00001909 chip_found = 1;
Stefan Reinauerd7ce71d2010-12-30 16:57:58 +00001910 chip_found_at_port = 1;
Uwe Hermann0120e1a2007-09-16 18:11:03 +00001911
Stefan Reinauer7a51e502008-12-01 14:18:57 +00001912 dump_superio("ITE", reg_table, port, id, LDN_SEL);
Ronald Hoogenboom0be73bb2008-02-25 22:32:41 +00001913
1914 if (extra_dump) {
Stefan Reinauer7a51e502008-12-01 14:18:57 +00001915 regwrite(port, LDN_SEL, 0x04); /* Select LDN 4 (EC). */
Uwe Hermanneec5ff42008-03-01 18:49:39 +00001916
1917 /* Get EC base address (stored in LDN 4, index 0x60/0x61). */
Ronald Hoogenboom0be73bb2008-02-25 22:32:41 +00001918 ecport = regval(port, 0x60) << 8;
1919 ecport |= regval(port, 0x61);
Uwe Hermanneec5ff42008-03-01 18:49:39 +00001920
1921 /* EC address register = EC base address + 5. */
Ronald Hoogenboom0be73bb2008-02-25 22:32:41 +00001922 ecport += 5;
1923
Uwe Hermanneec5ff42008-03-01 18:49:39 +00001924 printf("Environment controller (0x%04x)\n", ecport);
Stefan Reinauer7a51e502008-12-01 14:18:57 +00001925 dump_superio("ITE-EC", ec_table, ecport, id, LDN_SEL);
Nico Huber28a13242013-04-25 15:10:46 +02001926
1927 regwrite(port, LDN_SEL, 0x10); /* Select LDN 16 (BRAM). */
1928 /* Get EC base address (stored in LDN 16, index 0x62/0x63). */
1929 ecport = regval(port, 0x62) << 8;
1930 ecport |= regval(port, 0x63);
1931 printf("BRAM (0x%04x)\n", ecport);
1932 dump_superio("ITE-BRAM", bram_table, ecport, id, LDN_SEL);
Ronald Hoogenboom0be73bb2008-02-25 22:32:41 +00001933 }
Uwe Hermannb4db2202007-09-20 23:37:56 +00001934}
Uwe Hermann25a6c0f2007-09-19 00:48:42 +00001935
Uwe Hermannb4db2202007-09-20 23:37:56 +00001936void probe_idregs_ite(uint16_t port)
1937{
Stefan Reinauerd7ce71d2010-12-30 16:57:58 +00001938 chip_found_at_port = 0;
1939
Urja Rannikko38204a22008-10-23 23:33:18 +00001940 if (port == 0x3f0 || port == 0x3bd || port == 0x370) {
1941 enter_conf_mode_ite_legacy(port, initkey_it8661f);
1942 probe_idregs_ite_helper("(init=legacy/it8661f) ", port);
1943 exit_conf_mode_ite(port);
Uwe Hermannc55bcde2011-06-09 20:56:29 +02001944 if (chip_found_at_port)
1945 return;
Uwe Hermannb4db2202007-09-20 23:37:56 +00001946
Urja Rannikko38204a22008-10-23 23:33:18 +00001947 enter_conf_mode_ite_legacy(port, initkey_it8671f);
1948 probe_idregs_ite_helper("(init=legacy/it8671f) ", port);
1949 exit_conf_mode_ite(port);
Uwe Hermannc55bcde2011-06-09 20:56:29 +02001950 if (chip_found_at_port)
1951 return;
Urja Rannikko38204a22008-10-23 23:33:18 +00001952 } else {
1953 enter_conf_mode_ite(port);
Uwe Hermannebb73f22008-11-12 19:08:58 +00001954 probe_idregs_ite_helper("(init=standard) ", port);
1955 exit_conf_mode_ite(port);
Uwe Hermannc55bcde2011-06-09 20:56:29 +02001956 if (chip_found_at_port)
1957 return;
Uwe Hermannebb73f22008-11-12 19:08:58 +00001958
Anton Kochkov106f7ff2010-06-29 21:26:17 +00001959 enter_conf_mode_ite_it8502e(port);
1960 probe_idregs_ite_helper("(init=it8502e) ", port);
1961 exit_conf_mode_ite(port);
Uwe Hermannc55bcde2011-06-09 20:56:29 +02001962 if (chip_found_at_port)
1963 return;
Anton Kochkov106f7ff2010-06-29 21:26:17 +00001964
Uwe Hermannebb73f22008-11-12 19:08:58 +00001965 enter_conf_mode_ite_it8761e(port);
1966 probe_idregs_ite_helper("(init=it8761e) ", port);
1967 exit_conf_mode_ite(port);
Uwe Hermannc55bcde2011-06-09 20:56:29 +02001968 if (chip_found_at_port)
1969 return;
Uwe Hermannebb73f22008-11-12 19:08:58 +00001970
1971 enter_conf_mode_ite_it8228e(port);
1972 probe_idregs_ite_helper("(init=it8228e) ", port);
Urja Rannikko38204a22008-10-23 23:33:18 +00001973 exit_conf_mode_ite(port);
Uwe Hermannc55bcde2011-06-09 20:56:29 +02001974 if (chip_found_at_port)
1975 return;
Urja Rannikko38204a22008-10-23 23:33:18 +00001976
Matt Parnell063b1622019-08-15 22:32:21 -05001977 enter_conf_mode_ite_it8987e(port);
1978 probe_idregs_ite_helper("(init=it8987e) ", port);
1979 exit_conf_mode_ite(port);
1980 if (chip_found_at_port)
1981 return;
1982
Urja Rannikko38204a22008-10-23 23:33:18 +00001983 enter_conf_mode_winbond_fintek_ite_8787(port);
1984 probe_idregs_ite_helper("(init=0x87,0x87) ", port);
1985 exit_conf_mode_winbond_fintek_ite_8787(port);
Uwe Hermannc55bcde2011-06-09 20:56:29 +02001986 if (chip_found_at_port)
1987 return;
Urja Rannikko38204a22008-10-23 23:33:18 +00001988 }
Uwe Hermann0120e1a2007-09-16 18:11:03 +00001989}
Robinson P. Tryon552cfb72008-01-15 22:30:55 +00001990
1991void print_ite_chips(void)
1992{
1993 print_vendor_chips("ITE", reg_table);
Stefan Reinauer7a51e502008-12-01 14:18:57 +00001994 print_vendor_chips("ITE-EC", ec_table);
Robinson P. Tryon552cfb72008-01-15 22:30:55 +00001995}