igpioreg.h revision 1.7 1 /* $NetBSD: igpioreg.h,v 1.7 2023/01/07 11:09:51 msaitoh Exp $ */
2
3 /*
4 * Copyright (c) 2021 Emmanuel Dreyfus
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
20 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
23 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29 #ifndef _IGPIOREG_H
30 #define _IGPIOREG_H
31
32 #define IGPIO_REVID 0x0000
33 #define IGPIO_CAPLIST 0x0004
34 #define IGPIO_PADBAR 0x000c
35
36 #define IGPIO_PADCFG0 0x0000
37
38 #define IGPIO_PADCFG0_RXEVCFG_SHIFT 25
39 #define IGPIO_PADCFG0_RXEVCFG_MASK __BITS(26, 25)
40 #define IGPIO_PADCFG0_RXEVCFG_LEVEL 0
41 #define IGPIO_PADCFG0_RXEVCFG_EDGE 1
42 #define IGPIO_PADCFG0_RXEVCFG_DISABLED 2
43 #define IGPIO_PADCFG0_RXEVCFG_EDGE_BOTH 3
44 #define IGPIO_PADCFG0_PREGFRXSEL __BIT(24)
45 #define IGPIO_PADCFG0_RXINV __BIT(23)
46 #define IGPIO_PADCFG0_GPIROUTIOXAPIC __BIT(20)
47 #define IGPIO_PADCFG0_GPIROUTSCI __BIT(19)
48 #define IGPIO_PADCFG0_GPIROUTSMI __BIT(18)
49 #define IGPIO_PADCFG0_GPIROUTNMI __BIT(17)
50 #define IGPIO_PADCFG0_PMODE_SHIFT 10
51 #define IGPIO_PADCFG0_PMODE_MASK __BITS(13, 10)
52 #define IGPIO_PADCFG0_PMODE_GPIO 0
53 #define IGPIO_PADCFG0_GPIORXDIS __BIT(9)
54 #define IGPIO_PADCFG0_GPIOTXDIS __BIT(8)
55 #define IGPIO_PADCFG0_GPIORXSTATE __BIT(1)
56 #define IGPIO_PADCFG0_GPIOTXSTATE __BIT(0)
57
58 #define IGPIO_PADCFG1 0x0004
59 #define IGPIO_PADCFG1_TERM_UP __BIT(13)
60 #define IGPIO_PADCFG1_TERM_SHIFT 10
61 #define IGPIO_PADCFG1_TERM_MASK __BITS(12, 10)
62 #define IGPIO_PADCFG1_TERM_20K __BIT(2)
63 #define IGPIO_PADCFG1_TERM_5K __BIT(1)
64 #define IGPIO_PADCFG1_TERM_1K __BIT(0)
65 #define IGPIO_PADCFG1_TERM_833 (__BIT(1) | BIT(0))
66
67 #define IGPIO_CAPLIST_ID_GPIO_HW_INFO 1
68 #define IGPIO_CAPLIST_ID_PWM 2
69 #define IGPIO_CAPLIST_ID_BLINK 3
70 #define IGPIO_CAPLIST_ID_EXP 4
71
72
73 #define IGPIO_PINCTRL_FEATURE_DEBOUNCE 0x001
74 #define IGPIO_PINCTRL_FEATURE_1K_PD 0x002
75 #define IGPIO_PINCTRL_FEATURE_GPIO_HW_INFO 0x004
76 #define IGPIO_PINCTRL_FEATURE_PWM 0x010
77 #define IGPIO_PINCTRL_FEATURE_BLINK 0x020
78 #define IGPIO_PINCTRL_FEATURE_EXP 0x040
79
80 struct igpio_bank_setup {
81 const char *ibs_acpi_hid;
82 int ibs_barno;
83 int ibs_first_pin;
84 int ibs_last_pin;
85 int ibs_gpi_is;
86 int ibs_gpi_ie;
87 };
88
89 struct igpio_pin_group {
90 const char *ipg_acpi_hid;
91 int ipg_groupno;
92 int ipg_first_pin;
93 const char *ipg_name;
94 };
95
96 struct igpio_bank_setup igpio_bank_setup[] = {
97 /* Sunrisepoint-LP */
98 { "INT344B", 0, 0, 47, 0x100, 0x120 },
99 { "INT344B", 1, 48, 119, 0x100, 0x120 },
100 { "INT344B", 2, 120, 151, 0x100, 0x120 },
101
102 /* Coffee Lake-S (Same as Sunrisepoint-H(INT345D)) */
103 { "INT3451", 0, 0, 47, 0x100, 0x120 },
104 { "INT3451", 1, 48, 180, 0x100, 0x120 },
105 { "INT3451", 2, 181, 191, 0x100, 0x120 },
106
107 /* Sunrisepoint-H */
108 { "INT345D", 0, 0, 47, 0x100, 0x120 },
109 { "INT345D", 1, 48, 180, 0x100, 0x120 },
110 { "INT345D", 2, 181, 191, 0x100, 0x120 },
111
112 /* Baytrail XXX GPI_IS and GPI_IE */
113 { "INT33B2", 0, 0, 101, 0x000, 0x000 },
114 { "INT33FC", 0, 0, 101, 0x000, 0x000 },
115
116 /* Lynxpoint XXX GPI_IS and GPI_IE */
117 { "INT33C7", 0, 0, 94, 0x000, 0x000 },
118 { "INT3437", 0, 0, 94, 0x000, 0x000 },
119
120 /* Cannon Lake-H */
121 { "INT3450", 0, 0, 50, 0x100, 0x120 },
122 { "INT3450", 1, 51, 154, 0x100, 0x120 },
123 { "INT3450", 2, 155, 248, 0x100, 0x120 },
124 { "INT3450", 3, 249, 298, 0x100, 0x120 },
125
126 /* Cannon Lake-LP */
127 { "INT34BB", 0, 0, 67, 0x100, 0x120 },
128 { "INT34BB", 1, 68, 180, 0x100, 0x120 },
129 { "INT34BB", 2, 181, 243, 0x100, 0x120 },
130
131 /* Ice Lake-LP */
132 { "INT3455", 0, 0, 58, 0x100, 0x110 },
133 { "INT3455", 1, 59, 152, 0x100, 0x110 },
134 { "INT3455", 2, 153, 215, 0x100, 0x110 },
135 { "INT3455", 3, 216, 240, 0x100, 0x110 },
136
137 /* Lakefield */
138 { "INT34C4", 0, 0, 59, 0x100, 0x110 },
139 { "INT34C4", 1, 60, 148, 0x100, 0x110 },
140 { "INT34C4", 2, 149, 237, 0x100, 0x110 },
141 { "INT34C4", 3, 238, 266, 0x100, 0x110 },
142
143 /* Tiger Lake-LP */
144 { "INT34C5", 0, 0, 66, 0x100, 0x120 },
145 { "INT34C5", 1, 67, 170, 0x100, 0x120 },
146 { "INT34C5", 2, 171, 259, 0x100, 0x120 },
147 { "INT34C5", 3, 260, 276, 0x100, 0x120 },
148
149 /* Alder Lake-P (Same as Tigerlake-LP(INT34C5)) */
150 { "INTC1055", 0, 0, 66, 0x100, 0x120 },
151 { "INTC1055", 1, 67, 170, 0x100, 0x120 },
152 { "INTC1055", 2, 171, 259, 0x100, 0x120 },
153 { "INTC1055", 3, 260, 276, 0x100, 0x120 },
154
155 /* Tiger Lake-H */
156 { "INT34C6", 0, 0, 78, 0x100, 0x120 },
157 { "INT34C6", 1, 79, 180, 0x100, 0x120 },
158 { "INT34C6", 2, 181, 217, 0x100, 0x120 },
159 { "INT34C6", 3, 218, 266, 0x100, 0x120 },
160 { "INT34C6", 4, 267, 290, 0x100, 0x120 },
161
162 /* Jasper Lake */
163 { "INT34C8", 0, 0, 91, 0x100, 0x120 },
164 { "INT34C8", 1, 92, 194, 0x100, 0x120 },
165 { "INT34C8", 2, 195, 224, 0x100, 0x120 },
166 { "INT34C8", 3, 225, 232, 0x100, 0x120 },
167
168 /* Alder Lake-S */
169 { "INTC1056", 0, 0, 94, 0x200, 0x220 },
170 { "INTC1056", 1, 95, 150, 0x200, 0x220 },
171 { "INTC1056", 2, 151, 199, 0x200, 0x220 },
172 { "INTC1056", 3, 200, 269, 0x200, 0x220 },
173 { "INTC1056", 4, 270, 303, 0x200, 0x220 },
174
175 /* Tiger Lake-LP */
176 { "INTC1057", 0, 0, 66, 0x100, 0x120 },
177 { "INTC1057", 1, 67, 170, 0x100, 0x120 },
178 { "INTC1057", 2, 171, 259, 0x100, 0x120 },
179 { "INTC1057", 3, 260, 276, 0x100, 0x120 },
180
181 /* Lewisburg */
182 { "INT3536", 0, 0, 71, 0x100, 0x110 },
183 { "INT3536", 1, 72, 132, 0x100, 0x110 },
184 { "INT3536", 3, 133, 143, 0x100, 0x110 },
185 { "INT3536", 4, 144, 178, 0x100, 0x110 },
186 { "INT3536", 5, 179, 246, 0x100, 0x110 },
187
188 /* Emmitsburg */
189 { "INTC1071", 0, 0, 65, 0x200, 0x210 },
190 { "INTC1071", 1, 66, 111, 0x200, 0x210 },
191 { "INTC1071", 2, 112, 145, 0x200, 0x210 },
192 { "INTC1071", 3, 146, 183, 0x200, 0x210 },
193 { "INTC1071", 4, 184, 261, 0x200, 0x210 },
194
195 /* Denverton */
196 { "INTC3000", 0, 0, 40, 0x100, 0x120 },
197 { "INTC3000", 1, 41, 153, 0x100, 0x120 },
198
199 /* Cedarfork */
200 { "INTC3001", 0, 0, 167, 0x200, 0x230 },
201 { "INTC3001", 1, 168, 236, 0x200, 0x230 },
202
203 /* Gemini Lake */
204 { "INT3453", 0, 0, 34, 0x100, 0x110 },
205
206 #ifdef notyet
207 /*
208 * BAR mappings not obvious, further studying required
209 */
210 /* Broxton */
211 { "apollolake-pinctrl", 0, 0, 0, 0x100, 0x110 },
212 { "broxton-pinctrl", 0, 0, 0, 0x100, 0x110 },
213 { "INT34D1", 0, 0, 0, 0x100, 0x110 },
214 { "INT3452", 0, 0, 0, 0x100, 0x110 },
215
216 /* Cherryview */
217 { "INT33FF", 0, 0, 0, 0x000, 0x000 },
218 #endif
219
220 { NULL, 0, 0, 0, 0x000, 0x000 },
221 };
222
223 struct igpio_pin_group igpio_pin_group[] = {
224 /* Sunrisepoint-LP */
225 { "INT344B", 0, 151, "A" },
226
227 /* Coffee Lake-S (Same as Sunrisepoint-H(INT345D)) */
228 { "INT3451", 0, 0, "A" },
229 { "INT3451", 1, 24, "B" },
230 { "INT3451", 0, 48, "C" },
231 { "INT3451", 1, 72, "D" },
232 { "INT3451", 2, 96, "E" },
233 { "INT3451", 3, 109, "F" },
234 { "INT3451", 4, 133, "G" },
235 { "INT3451", 5, 157, "H" },
236 { "INT3451", 0, 181, "I" },
237
238 /* Sunrisepoint-H */
239 { "INT345D", 0, 0, "A" },
240 { "INT345D", 1, 24, "B" },
241 { "INT345D", 0, 48, "C" },
242 { "INT345D", 1, 72, "D" },
243 { "INT345D", 2, 96, "E" },
244 { "INT345D", 3, 109, "F" },
245 { "INT345D", 4, 133, "G" },
246 { "INT345D", 5, 157, "H" },
247 { "INT345D", 0, 181, "I" },
248
249
250 /* Baytrail */
251 { "INT33B2", 0, 101, "A" },
252
253 /* Lynxpoint */
254 { "INT33C7", 0, 94, "A" },
255 { "INT3437", 0, 94, "A" },
256
257 /* Cannon Lake-H */
258 { "INT3450", 0, 0, "GPP_A" },
259 { "INT3450", 1, 25, "GPP_B" },
260 { "INT3450", 0, 51, "GPP_C" },
261 { "INT3450", 1, 75, "GPP_D" },
262 { "INT3450", 2, 99, "GPP_G" },
263 { "INT3450", 3, 107, "AZA" },
264 { "INT3450", 4, 115, "vGPIO_0" },
265 { "INT3450", 5, 147, "vGPIO_1" },
266 { "INT3450", 0, 155, "GPP_K" },
267 { "INT3450", 1, 179, "GPP_H" },
268 { "INT3450", 2, 203, "GPP_E" },
269 { "INT3450", 3, 216, "GPP_F" },
270 { "INT3450", 4, 240, "SPI" },
271 { "INT3450", 0, 249, "CPU" },
272 { "INT3450", 1, 260, "JTAG" },
273 { "INT3450", 2, 269, "GPP_I" },
274 { "INT3450", 3, 287, "GPP_J" },
275
276 /* Cannon Lake-LP */
277 { "INT34BB", 0, 0, "GPP_A" },
278 { "INT34BB", 1, 25, "GPP_B" },
279 { "INT34BB", 2, 51, "GPP_G" },
280 { "INT34BB", 3, 59, "SPI" },
281 { "INT34BB", 0, 68, "GPP_D" },
282 { "INT34BB", 1, 93, "GPP_F" },
283 { "INT34BB", 2, 117, "GPP_H" },
284 { "INT34BB", 3, 141, "vGPIO" },
285 { "INT34BB", 4, 173, "vGPIO" },
286 { "INT34BB", 0, 181, "GPP_C" },
287 { "INT34BB", 1, 205, "GPP_E" },
288 { "INT34BB", 2, 229, "JTAG" },
289 { "INT34BB", 3, 238, "HVCMOS" },
290
291 /* Alder Lake-S */
292 { "INTC1056", 0, 0, "GPP_I" },
293 { "INTC1056", 1, 25, "GPP_R" },
294 { "INTC1056", 2, 48, "GPP_J" },
295 { "INTC1056", 3, 60, "vGPIO" },
296 { "INTC1056", 4, 87, "vGPIO_0" },
297 { "INTC1056", 0, 95, "GPP_B" },
298 { "INTC1056", 1, 119, "GPP_G" },
299 { "INTC1056", 2, 127, "GPP_H" },
300 { "INTC1056", 0, 151, "SPI0" },
301 { "INTC1056", 1, 160, "GPP_A" },
302 { "INTC1056", 2, 176, "GPP_C" },
303 { "INTC1056", 0, 200, "GPP_S" },
304 { "INTC1056", 1, 208, "GPP_E" },
305 { "INTC1056", 2, 231, "GPP_K" },
306 { "INTC1056", 3, 246, "GPP_F" },
307 { "INTC1056", 0, 270, "GPP_D" },
308 { "INTC1056", 1, 295, "JTAG" },
309
310
311 /* Ice Lake */
312 { "INT3455", 0, 0, "GPP_G" },
313 { "INT3455", 1, 8, "GPP_B" },
314 { "INT3455", 2, 34, "GPP_A" },
315 { "INT3455", 0, 59, "GPP_H" },
316 { "INT3455", 1, 83, "GPP_D" },
317 { "INT3455", 2, 104, "GPP_F" },
318 { "INT3455", 3, 124, "vGPIO" },
319 { "INT3455", 0, 153, "GPP_C" },
320 { "INT3455", 1, 177, "HVCMOS" },
321 { "INT3455", 2, 183, "GPP_E" },
322 { "INT3455", 3, 207, "JTAG" },
323 { "INT3455", 2, 232, "SPI" },
324
325
326 /* Lakefield */
327 { "INT34C4", 0, 0, "EAST_0" },
328 { "INT34C4", 1, 32, "EAST_1" },
329 { "INT34C4", 0, 60, "NORTHWEST_0" },
330 { "INT34C4", 1, 92, "NORTHWEST_1" },
331 { "INT34C4", 2, 124, "NORTHWEST_2" },
332 { "INT34C4", 0, 149, "WEST_0" },
333 { "INT34C4", 1, 181, "WEST_1" },
334 { "INT34C4", 2, 213, "WEST_2" },
335 { "INT34C4", 0, 238, "SOUTHEAST" },
336
337
338 /* Tiger Lake-LP */
339 { "INT34C5", 0, 0, "GPP_A" },
340 { "INT34C5", 1, 25, "GPP_R" },
341 { "INT34C5", 2, 45, "GPP_B" },
342 { "INT34C5", 3, 71, "vGPIO_0" },
343 { "INT34C5", 0, 79, "GPP_D" },
344 { "INT34C5", 1, 105, "GPP_C" },
345 { "INT34C5", 2, 129, "GPP_S" },
346 { "INT34C5", 3, 137, "GPP_G" },
347 { "INT34C5", 4, 154, "vGPIO" },
348 { "INT34C5", 0, 181, "GPP_E" },
349 { "INT34C5", 1, 194, "GPP_F" },
350 { "INT34C5", 0, 218, "GPP_H" },
351 { "INT34C5", 1, 242, "GPP_J" },
352 { "INT34C5", 2, 252, "GPP_K" },
353 { "INT34C5", 0, 267, "GPP_I" },
354 { "INT34C5", 1, 282, "JTAG" },
355
356
357 /* Alder Lake-P (Same as Tigerlake-LP(INT34C5)) */
358 { "INTC1055", 0, 0, "GPP_A" },
359 { "INTC1055", 1, 25, "GPP_R" },
360 { "INTC1055", 2, 45, "GPP_B" },
361 { "INTC1055", 3, 71, "vGPIO_0" },
362 { "INTC1055", 0, 79, "GPP_D" },
363 { "INTC1055", 1, 105, "GPP_C" },
364 { "INTC1055", 2, 129, "GPP_S" },
365 { "INTC1055", 3, 137, "GPP_G" },
366 { "INTC1055", 4, 154, "vGPIO" },
367 { "INTC1055", 0, 181, "GPP_E" },
368 { "INTC1055", 1, 194, "GPP_F" },
369 { "INTC1055", 0, 218, "GPP_H" },
370 { "INTC1055", 1, 242, "GPP_J" },
371 { "INTC1055", 2, 252, "GPP_K" },
372 { "INTC1055", 0, 267, "GPP_I" },
373 { "INTC1055", 1, 282, "JTAG" },
374
375
376 /* Tiger Lake-LP */
377 { "INTC1057", 0, 0, "GPP_A" },
378 { "INTC1057", 1, 25, "GPP_R" },
379 { "INTC1057", 2, 45, "GPP_B" },
380 { "INTC1057", 3, 71, "vGPIO_0" },
381 { "INTC1057", 0, 79, "GPP_D" },
382 { "INTC1057", 1, 105, "GPP_C" },
383 { "INTC1057", 2, 129, "GPP_S" },
384 { "INTC1057", 3, 137, "GPP_G" },
385 { "INTC1057", 4, 154, "vGPIO" },
386 { "INTC1057", 0, 181, "GPP_E" },
387 { "INTC1057", 1, 194, "GPP_F" },
388 { "INTC1057", 0, 218, "GPP_H" },
389 { "INTC1057", 1, 242, "GPP_J" },
390 { "INTC1057", 2, 252, "GPP_K" },
391 { "INTC1057", 0, 267, "GPP_I" },
392 { "INTC1057", 1, 282, "JTAG" },
393
394 /* Tiger Lake-H */
395 { "INT34C6", 0, 0, "GPP_B" },
396 { "INT34C6", 1, 26, "GPP_T" },
397 { "INT34C6", 2, 42, "GPP_A" },
398 { "INT34C6", 0, 67, "GPP_S" },
399 { "INT34C6", 1, 75, "GPP_H" },
400 { "INT34C6", 2, 99, "GPP_D" },
401 { "INT34C6", 3, 120, "GPP_U" },
402 { "INT34C6", 4, 144, "vGPIO" },
403 { "INT34C6", 0, 171, "GPP_C" },
404 { "INT34C6", 1, 195, "GPP_F" },
405 { "INT34C6", 2, 220, "HVCMOS" },
406 { "INT34C6", 3, 226, "GPP_E" },
407 { "INT34C6", 4, 251, "JTAG" },
408 { "INT34C6", 0, 260, "GPP_R" },
409 { "INT34C6", 1, 268, "SPI" },
410
411 /* Jasper Lake */
412 { "INT34C8", 0, 0, "GPP_F" },
413 { "INT34C8", 1, 20, "SPI" },
414 { "INT34C8", 2, 29, "GPP_B" },
415 { "INT34C8", 3, 55, "GPP_A" },
416 { "INT34C8", 4, 76, "GPP_S" },
417 { "INT34C8", 5, 84, "GPP_R" },
418 { "INT34C8", 0, 92, "GPP_H" },
419 { "INT34C8", 1, 116, "GPP_D" },
420 { "INT34C8", 2, 142, "vGPIO" },
421 { "INT34C8", 3, 171, "GPP_C" },
422 { "INT34C8", 0, 195, "HVCMOS" },
423 { "INT34C8", 1, 201, "GPP_E" },
424 { "INT34C8", 0, 225, "GPP_G" },
425
426
427 /* Lewisburg */
428 { "INT3536", 0, 7, "" },
429
430 /* Emmitsburg */
431 { "INTC1071", 0, 0, "GPP_A" },
432 { "INTC1071", 1, 21, "GPP_B" },
433 { "INTC1071", 2, 45, "SPI" },
434 { "INTC1071", 0, 66, "GPP_C" },
435 { "INTC1071", 1, 88, "GPP_D" },
436 { "INTC1071", 0, 112, "GPP_E" },
437 { "INTC1071", 1, 136, "JTAG" },
438 { "INTC1071", 0, 146, "GPP_H" },
439 { "INTC1071", 1, 166, "GPP_J" },
440 { "INTC1071", 0, 184, "GPP_I" },
441 { "INTC1071", 1, 208, "GPP_L" },
442 { "INTC1071", 2, 226, "GPP_M" },
443 { "INTC1071", 3, 244, "GPP_N" },
444
445 /* Denverton */
446 { "INTC3000", 0, 0, "North" },
447 { "INTC3000", 1, 32, "North" },
448 { "INTC3000", 0, 41, "South" },
449 { "INTC3000", 1, 59, "South" },
450 { "INTC3000", 2, 91, "South" },
451 { "INTC3000", 3, 112, "South" },
452 { "INTC3000", 4, 144, "South" },
453
454
455 /* Cedarfork */
456 { "INTC3001", 0, 0, "WEST2" },
457 { "INTC3001", 1, 24, "WEST3" },
458 { "INTC3001", 2, 48, "WEST01" },
459 { "INTC3001", 3, 71, "WEST5" },
460 { "INTC3001", 4, 91, "WESTC" },
461 { "INTC3001", 5, 97, "WESTC_DFX" },
462 { "INTC3001", 6, 102, "WESTA" },
463 { "INTC3001", 7, 112, "WESTB" },
464 { "INTC3001", 8, 124, "WESTD" },
465 { "INTC3001", 9, 144, "WESTD_PECI" },
466 { "INTC3001", 10, 145, "WESTF" },
467 { "INTC3001", 0, 168, "EAST2" },
468 { "INTC3001", 1, 192, "EAST3" },
469 { "INTC3001", 2, 203, "EAST0" },
470 { "INTC3001", 3, 226, "EMMC" },
471
472 /* Gemini Lake */
473 { "INT3453", 0, 34, "" },
474
475 #ifdef notyet
476 /*
477 * BAR mappings not obvious, further studying required
478 */
479 /* Broxton */
480 { "apollolake-pinctrl", 0, 0, "" },
481 { "broxton-pinctrl", 0, 0, "" },
482 { "INT34D1", 0, 0, "" },
483 { "INT3452", 0, 0, "" },
484
485 /* Cherryview */
486 { "INT33FF", 0, 0, "" },
487 #endif
488
489 { NULL, 0, 0, 0 },
490 };
491
492 #endif /* _IGPIOREG_H */
493